Simple IfcXML | Presentation Summary Phase1

12
status of simple ifcXML developments use of created specifications decisions for optimizing ifcXML next steps simple ifcXML buildingSMART Process & Product Rooms 16-OCT-2012 Thomas Liebich, Matthias Weise

description

Presentation Simple IfcXML phase 1 by Thomas Liebich, Matthias Weise on buildingSMART Process & Product Rooms 16-OCT-2012

Transcript of Simple IfcXML | Presentation Summary Phase1

Page 1: Simple IfcXML | Presentation Summary Phase1

status of simple ifcXML developments

use of created specifications

decisions for optimizing ifcXML

next steps

simple ifcXML

buildingSMART Process & Product Rooms 16-OCT-2012 Thomas Liebich, Matthias Weise

Page 2: Simple IfcXML | Presentation Summary Phase1

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

Page 3: Simple IfcXML | Presentation Summary Phase1

Use of created specifications

Use of P28 configuration settings 1) Schema mapping

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

toolbox IFC4.exp

ifcXML4_config.xml

IFC4.xsd

IFC schema specified in EXPRESS

(ISO 10303 P11)

IFC schema specified in XML schema

(W3C)

Configured XML schema binding (ISO 10303 P28)

Page 4: Simple IfcXML | Presentation Summary Phase1

Use of created specifications

Use of P28 configuration settings 2) Data mapping

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

toolbox *.ifc

ifcXML4_config.xml

*.ifcxml

IFC data stored in STEP physical file format

(ISO 10303 P21)

IFC data stored in ifcXML file format

(W3C)

Configured XML schema binding (ISO 10303 P28)

IFC4.exp

IFC schema specified in EXPRESS

(ISO 10303 P11)

Page 5: Simple IfcXML | Presentation Summary Phase1

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

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

IDE IFC4.xsd

*.ifcxml

IFC data stored in ifcXML file format

(W3C)

ifcXML tool

e.g. Eclipse Modeling Framework,

Altova XML Spy, …

tool with ifcxml import and export

functionality IFC schema

specified in XML schema (W3C)

Page 6: Simple IfcXML | Presentation Summary Phase1

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

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

Entire IFC EXPRESS

model

ifcXML4 XSD model

ISO 10303-28 common ifcXML

configuration settings

Page 7: Simple IfcXML | Presentation Summary Phase1

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

Page 8: Simple IfcXML | Presentation Summary Phase1

ifcXML4 – revamping ifcXML for what it should be

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

A single solid in ifcXML for IFC2x3 <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>

50 XML elements = 100%

<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%

<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>

<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

Page 9: Simple IfcXML | Presentation Summary Phase1

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

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

Entire IFC EXPRESS

model

IFC EXPRESS submodel

Simple ifcXML XSD

model

MVD ISO 10303-28 MVD specific configuration

settings

Page 10: Simple IfcXML | Presentation Summary Phase1

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

Page 11: Simple IfcXML | Presentation Summary Phase1

simple ifcXML - Thomas Liebich / Matthias Weise - 2012

Comparison between entire and MVD specific ifcXML4

entire ifcXML4 MVD specific ifcXML4

Use case not specified (model server)

data exchange scenarios as defined in an IDM

EXPRESS base schema IFC4 schema IFC4 subschema, generated from MVD

Mapping to XML schema ifcXML4 configuration setting

Further specialized ifcXML4 configuration setting, mainly for inverse relationships

Data compatibility fixed to configuration setting

fixed to configuration setting, transformation to ifcXML4 needed

Page 12: Simple IfcXML | Presentation Summary Phase1

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