You are on page 1of 12

simple ifcXML

status of simple ifcXML developments use of created specifications decisions for optimizing ifcXML next steps

Thomas Liebich, Matthias Weise


buildingSMART Process & Product Rooms 16-OCT-2012

Status of simple ifcXML developments


Overview of achieved results
ifcXML4 published
XML Schema definition (XSD) of IFC4 RC4, automatically generated based on P28 configuration settings

ifcXML4 for product libaries published


first example for mapping of model view definitions, automatically generated based on use case specific P28 configuration settings

ifcXML4 specification methodology published


detailed documentation of P28 config settings for entire schema and possiblities for use case specific optimizations

http://www.buildingsmart-tech.org/specifications/ifcxml-releases/ifcxml4-release http://www.buildingsmart-tech.org/specifications/ifcxml-releases/simple-ifcxml

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

Use of created specifications


Use of P28 configuration settings
1) Schema mapping
Configured XML schema binding (ISO 10303 P28)

ifcXML4_config.xml

IFC4.exp
IFC schema specified in EXPRESS (ISO 10303 P11)

toolbox

IFC4.xsd
IFC schema specified in XML schema (W3C)

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

Use of created specifications


Use of P28 configuration settings
2) Data mapping
Configured XML schema binding (ISO 10303 P28)

ifcXML4_config.xml

*.ifc
IFC data stored in STEP physical file format (ISO 10303 P21)

toolbox

*.ifcxml
IFC data stored in ifcXML file format (W3C)

IFC4.exp

IFC schema specified in EXPRESS (ISO 10303 P11)

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

Use of created specifications


Use of ifcXML XSD
1. code generation for ifcXML implementation
enables to focus on implementation of business logic ideal for quick solutions

IFC4.xsd

IDE
e.g. Eclipse Modeling Framework, Altova XML Spy,

ifcXML tool
tool with ifcxml import and export functionality

IFC schema specified in XML schema (W3C)

*.ifcxml

IFC data stored in ifcXML file format (W3C)

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

simple ifcXML for IFC4


fully based on international standards
IFC4 = ISO 16739 = data model standard ISO 10303-28 = mapping standards from EXPRESS to XSD/XML

Entire IFC EXPRESS model


ISO 10303-28 common ifcXML configuration settings

ifcXML4 XSD model

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

Decisions for optimizing ifcXML


The beauty of less <tags>
*.ifc format
#36= IFCCARTESIANPOINT((0.,0.,0.));

*.ifcxml 2x3 format (with tags Coordinates and IfcLengthMeasure)


<IfcCartesianPoint id="ID36"> <Coordinates ex:cType="list"> <IfcLengthMeasure pos="0">0.</IfcLengthMeasure> <IfcLengthMeasure pos="1">0.</IfcLengthMeasure> <IfcLengthMeasure pos="2">0.</IfcLengthMeasure> </Coordinates> </IfcCartesianPoint>

*.ifcxml 4 format (with attribute Coordinates and space separated values)


<IfcCartesianPoint id="ID36" Coordinates="0. 0. 0."/>

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

ifcXML4 revamping ifcXML for what it should be


A single solid in ifcXML for IFC2x3
<IfcExtrudedAreaSolid id="i1308624490"> <SweptArea> <IfcRectangleProfileDef xsi:nil="true" ref="i1308624493"/> </SweptArea> <Position> <IfcAxis2Placement3D xsi:nil="true" ref="i1308624494"/> </Position> <ExtrudedDirection> <IfcDirection xsi:nil="true" ref="i1308624497"/> </ExtrudedDirection> <Depth>2000.</Depth> </IfcExtrudedAreaSolid> <IfcAxis2Placement3D id="i1308624494"> <Location> <IfcCartesianPoint xsi:nil="true" ref="i1308624433"/> </Location> </IfcAxis2Placement3D>

50 XML elements = 100%

<IfcDirection id="i1308624497"> <DirectionRatios ex:cType="list"> <ex:double-wrapper>0.</ex:double-wrapper> <ex:double-wrapper>0.</ex:double-wrapper> <ex:double-wrapper>1.</ex:double-wrapper> </DirectionRatios> </IfcDirection> <IfcRectangleProfileDef id="i1308624493"> <ProfileType>area</ProfileType> <ProfileName>1m x 1m rectangle</ProfileName> <Position> <IfcAxis2Placement2D> <Location> <IfcCartesianPoint xsi:nil="true" ref="i1308624379"/> </Location> </IfcAxis2Placement2D> </Position> <XDim>1000.</XDim> <YDim>1000.</YDim> </IfcRectangleProfileDef> <IfcCartesianPoint id="i1308624379"> <Coordinates ex:cType="list"> <IfcLengthMeasure>0.</IfcLengthMeasure> <IfcLengthMeasure>0.</IfcLengthMeasure> </Coordinates> </IfcCartesianPoint> <IfcCartesianPoint id="i1308624433"> <Coordinates ex:cType="list"> <IfcLengthMeasure>0.</IfcLengthMeasure> <IfcLengthMeasure>0.</IfcLengthMeasure> <IfcLengthMeasure>0.</IfcLengthMeasure> </Coordinates> </IfcCartesianPoint>

Same single solid in ifcXML4


<IfcExtrudedAreaSolid id="i1922" Depth="2000."> <SweptArea xsi:type="IfcRectangleProfileDef" id="i1925" ProfileType="area" ProfileName="1m x 1m rectangle" Xdim="1000." Ydim="1000." /> <Position xsi:type="IfcAxis2Placement3D" id="i1928"> <Location id="i1959" Coordinates="0. 0. 0."/> </Position> <ExtrudedDirection id="i1931" DirectionRatios="0. 0. 1."/> </IfcExtrudedAreaSolid>

7 XML elements = down to 14%

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

simple ifcXML for Model Views


in addition to producing the simple ifcXML4 for entire IFC4, the project also delivers a method for MVD / ER specific simple ifcXML

Entire IFC EXPRESS model

IFC EXPRESS submodel


ISO 10303-28 MVD specific configuration settings

Simple ifcXML XSD model

MVD

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

Prototyping of simple ifcXML for Model Views


use the MVD specification for Product Libraries for IFC4
collaborating with Norwegian led "Product Library" project produced the formal MVD subset of IFC4, and MVD specific simple ifcXML4 DDS has prototyped a software solution very excited about new possibilities

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

Comparison between entire and MVD specific ifcXML4


entire ifcXML4
Use case not specified (model server) IFC4 schema

MVD specific ifcXML4


data exchange scenarios as defined in an IDM IFC4 subschema, generated from MVD Further specialized ifcXML4 configuration setting, mainly for inverse relationships fixed to configuration setting, transformation to ifcXML4 needed

EXPRESS base schema

Mapping to XML schema

ifcXML4 configuration setting fixed to configuration setting

Data compatibility

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

Next steps phase 2 of simple ifcXML project


Public review of configuration settings and created ifcXML XSD
feedback requested from implementers and toolbox providers

Provision of more ifcXML example files Make toolboxes ready to deal with P28 configuration settings
request to the industry to provide mapping functionality between ifc and ifcxml work with toolbox vendors to help them supporting ifcXML4 (e.g. EPM technology)

Agreements about simple ifcXML specification packages


e.g. including EXPRESS subschema, configuration settings, simple ifcXML XSD + further documentation based on mvdXML

More work on Model View Definitions


ideally being derived from IDMs and configured with software implementers

simple ifcXML - Thomas Liebich / Matthias Weise - 2012