From 589b9d4a79b08bd8d10f0dec0f13826ab461ae80 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 12 Jul 2024 23:56:08 +1000 Subject: [PATCH] Add test files for georeferencing tests --- .../files/geolocation-mapconversion-angle.ifc | 232 +++++++++++++++++ .../geolocation-mapconversion-offsetsite.ifc | 236 ++++++++++++++++++ .../test/files/geolocation-mapconversion.ifc | 232 +++++++++++++++++ .../test/files/geolocation-offsetsite.ifc | 234 +++++++++++++++++ src/blenderbim/test/files/geolocation.ifc | 230 +++++++++++++++++ 5 files changed, 1164 insertions(+) create mode 100644 src/blenderbim/test/files/geolocation-mapconversion-angle.ifc create mode 100644 src/blenderbim/test/files/geolocation-mapconversion-offsetsite.ifc create mode 100644 src/blenderbim/test/files/geolocation-mapconversion.ifc create mode 100644 src/blenderbim/test/files/geolocation-offsetsite.ifc create mode 100644 src/blenderbim/test/files/geolocation.ifc diff --git a/src/blenderbim/test/files/geolocation-mapconversion-angle.ifc b/src/blenderbim/test/files/geolocation-mapconversion-angle.ifc new file mode 100644 index 0000000000..98de6466c0 --- /dev/null +++ b/src/blenderbim/test/files/geolocation-mapconversion-angle.ifc @@ -0,0 +1,232 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition[DesignTransferView]'),'2;1'); +FILE_NAME('geolocation-mapconversion-angle.ifc','2024-07-07T22:26:16+10:00',(),(),'IfcOpenShell 0.0.0','BlenderBIM 0.0.0-9d11f8a','Nobody'); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPROJECT('0jt2rJc6z1fwZdQThQPodh',$,'My Project',$,$,$,$,(#14,#26),#9); +#2=IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); +#3=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#4=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#5=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#6=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#7=IFCMEASUREWITHUNIT(IFCREAL(0.0174532925199433),#6); +#8=IFCCONVERSIONBASEDUNIT(#5,.PLANEANGLEUNIT.,'degree',#7); +#9=IFCUNITASSIGNMENT((#4,#2,#8,#3)); +#10=IFCCARTESIANPOINT((0.,0.,0.)); +#11=IFCDIRECTION((0.,0.,1.)); +#12=IFCDIRECTION((1.,0.,0.)); +#13=IFCAXIS2PLACEMENT3D(#10,#11,#12); +#14=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#13,$); +#15=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$); +#16=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#14,$,.GRAPH_VIEW.,$); +#17=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Box','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$); +#18=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.SECTION_VIEW.,$); +#19=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.ELEVATION_VIEW.,$); +#20=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.PLAN_VIEW.,$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Profile','Model',*,*,*,*,#14,$,.ELEVATION_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.)); +#24=IFCDIRECTION((1.,0.)); +#25=IFCAXIS2PLACEMENT2D(#23,#24); +#26=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Plan',2,1.E-05,#25,$); +#27=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Plan',*,*,*,*,#26,$,.GRAPH_VIEW.,$); +#28=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Plan',*,*,*,*,#26,$,.PLAN_VIEW.,$); +#29=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Plan',*,*,*,*,#26,$,.PLAN_VIEW.,$); +#30=IFCSITE('3Ps9QuwXX4eQ9YuzkHJGtZ',$,'My Site',$,$,#53,$,$,$,$,$,$,$,$); +#36=IFCBUILDING('0I_DU1o9H67gzDXCe_$X6B',$,'My Building',$,$,#59,$,$,$,$,$,$); +#42=IFCBUILDINGSTOREY('3PVQFsytj0sRoYTJzw56CN',$,'My Storey',$,$,#65,$,$,$,$); +#48=IFCRELAGGREGATES('3hNxfK6EL1KftlcQFOToy6',$,$,$,#1,(#30)); +#49=IFCCARTESIANPOINT((0.,0.,0.)); +#50=IFCDIRECTION((0.,0.,1.)); +#51=IFCDIRECTION((1.,0.,0.)); +#52=IFCAXIS2PLACEMENT3D(#49,#50,#51); +#53=IFCLOCALPLACEMENT($,#52); +#54=IFCRELAGGREGATES('3HmgitqV10cB1Xd0qufeCG',$,$,$,#30,(#36)); +#55=IFCCARTESIANPOINT((0.,0.,0.)); +#56=IFCDIRECTION((0.,0.,1.)); +#57=IFCDIRECTION((1.,0.,0.)); +#58=IFCAXIS2PLACEMENT3D(#55,#56,#57); +#59=IFCLOCALPLACEMENT(#53,#58); +#60=IFCRELAGGREGATES('3iOIshWWj5GuH8GV4PY7PE',$,$,$,#36,(#42)); +#61=IFCCARTESIANPOINT((0.,0.,0.)); +#62=IFCDIRECTION((0.,0.,1.)); +#63=IFCDIRECTION((1.,0.,0.)); +#64=IFCAXIS2PLACEMENT3D(#61,#62,#63); +#65=IFCLOCALPLACEMENT(#59,#64); +#66=IFCACTUATOR('1K0Yd6jI57yABXoIhGUJlV',$,'A',$,$,#77,$,$,.ELECTRICACTUATOR.); +#72=IFCRELCONTAINEDINSPATIALSTRUCTURE('0ISy1lxBj9Me7C0rfX$x58',$,$,$,(#66,#172,#89,#100,#124,#78,#244,#148,#268,#196,#220),#42); +#73=IFCCARTESIANPOINT((7000.,3000.,0.)); +#74=IFCDIRECTION((0.,0.,1.)); +#75=IFCDIRECTION((1.,0.,0.)); +#76=IFCAXIS2PLACEMENT3D(#73,#74,#75); +#77=IFCLOCALPLACEMENT(#65,#76); +#78=IFCACTUATOR('0tQuTGenT3MPK7sSXjQ4mw',$,'B',$,$,#88,$,$,.ELECTRICACTUATOR.); +#84=IFCCARTESIANPOINT((6000.,1000.,0.)); +#85=IFCDIRECTION((0.,0.,1.)); +#86=IFCDIRECTION((1.,0.,0.)); +#87=IFCAXIS2PLACEMENT3D(#84,#85,#86); +#88=IFCLOCALPLACEMENT(#65,#87); +#89=IFCACTUATOR('3M31$A2ln4yQSrgSw0CvvL',$,'C',$,$,#99,$,$,.ELECTRICACTUATOR.); +#95=IFCCARTESIANPOINT((0.,0.,0.)); +#96=IFCDIRECTION((0.,0.,1.)); +#97=IFCDIRECTION((1.,0.,0.)); +#98=IFCAXIS2PLACEMENT3D(#95,#96,#97); +#99=IFCLOCALPLACEMENT(#65,#98); +#100=IFCACTUATOR('0DId5LFxr40vKS6h0NQ6Pt',$,'D',$,$,#123,#118,$,.ELECTRICACTUATOR.); +#106=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#107=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#108=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#109=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#110=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#111=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#112=IFCCARTESIANPOINTLIST3D(((30999.998046875,1999.99987792969,-999.999938964844),(30999.998046875,1999.99987792969,999.999938964844),(30999.998046875,3999.99975585938,-999.999938964844),(30999.998046875,3999.99975585938,999.999938964844),(32999.99609375,1999.99987792969,-999.999938964844),(32999.99609375,1999.99987792969,999.999938964844),(32999.99609375,3999.99975585938,-999.999938964844),(32999.99609375,3999.99975585938,999.999938964844))); +#113=IFCPOLYGONALFACESET(#112,.T.,(#106,#107,#108,#109,#110,#111),$); +#114=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#113)); +#115=IFCCARTESIANPOINT((31000.,2000.,-1000.)); +#116=IFCBOUNDINGBOX(#115,2000.,2000.,2000.); +#117=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#116)); +#118=IFCPRODUCTDEFINITIONSHAPE($,$,(#117,#114)); +#119=IFCCARTESIANPOINT((-18000.,0.,0.)); +#120=IFCDIRECTION((0.,0.,1.)); +#121=IFCDIRECTION((1.,0.,0.)); +#122=IFCAXIS2PLACEMENT3D(#119,#120,#121); +#123=IFCLOCALPLACEMENT(#65,#122); +#124=IFCACTUATOR('13R$bdvVf0heFFbt22IGwL',$,'E',$,$,#147,#142,$,.ELECTRICACTUATOR.); +#130=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#131=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#132=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#133=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#134=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#135=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#136=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#137=IFCPOLYGONALFACESET(#136,.T.,(#130,#131,#132,#133,#134,#135),$); +#138=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#137)); +#139=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#140=IFCBOUNDINGBOX(#139,2000.,2000.,2000.); +#141=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#140)); +#142=IFCPRODUCTDEFINITIONSHAPE($,$,(#141,#138)); +#143=IFCCARTESIANPOINT((6000.,3000.,0.)); +#144=IFCDIRECTION((0.,0.,1.)); +#145=IFCDIRECTION((1.,0.,0.)); +#146=IFCAXIS2PLACEMENT3D(#143,#144,#145); +#147=IFCLOCALPLACEMENT(#65,#146); +#148=IFCACTUATOR('0ZSpGdYar6ueT_s2Wn1gug',$,'F',$,$,#171,#166,$,.ELECTRICACTUATOR.); +#154=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#155=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#156=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#157=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#158=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#159=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#160=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#161=IFCPOLYGONALFACESET(#160,.T.,(#154,#155,#156,#157,#158,#159),$); +#162=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#161)); +#163=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#164=IFCBOUNDINGBOX(#163,2000.,2000.,2000.); +#165=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#164)); +#166=IFCPRODUCTDEFINITIONSHAPE($,$,(#165,#162)); +#167=IFCCARTESIANPOINT((3000.,3000.,0.)); +#168=IFCDIRECTION((0.,0.,1.)); +#169=IFCDIRECTION((1.,0.,0.)); +#170=IFCAXIS2PLACEMENT3D(#167,#168,#169); +#171=IFCLOCALPLACEMENT(#65,#170); +#172=IFCACTUATOR('3RjpoTJ6v15uWoRvk50YM8',$,'G',$,$,#195,#190,$,.ELECTRICACTUATOR.); +#178=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#179=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#180=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#181=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#182=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#183=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#184=IFCCARTESIANPOINTLIST3D(((-24999.998046875,3999.99975585938,-999.999938964844),(-24999.998046875,3999.99975585938,999.999938964844),(-24999.998046875,5999.99951171875,-999.999938964844),(-24999.998046875,5999.99951171875,999.999938964844),(-22999.998046875,3999.99975585938,-999.999938964844),(-22999.998046875,3999.99975585938,999.999938964844),(-22999.998046875,5999.99951171875,-999.999938964844),(-22999.998046875,5999.99951171875,999.999938964844))); +#185=IFCPOLYGONALFACESET(#184,.T.,(#178,#179,#180,#181,#182,#183),$); +#186=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#185)); +#187=IFCCARTESIANPOINT((-25000.,4000.,-1000.)); +#188=IFCBOUNDINGBOX(#187,2000.,2000.,2000.); +#189=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#188)); +#190=IFCPRODUCTDEFINITIONSHAPE($,$,(#189,#186)); +#191=IFCCARTESIANPOINT((40000.,0.,0.)); +#192=IFCDIRECTION((0.,0.,1.)); +#193=IFCDIRECTION((1.,0.,0.)); +#194=IFCAXIS2PLACEMENT3D(#191,#192,#193); +#195=IFCLOCALPLACEMENT(#65,#194); +#196=IFCACTUATOR('0wplyZKoP0BPpAwLTj53mA',$,'H',$,$,#219,#214,$,.ELECTRICACTUATOR.); +#202=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#203=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#204=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#205=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#206=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#207=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#208=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#209=IFCPOLYGONALFACESET(#208,.T.,(#202,#203,#204,#205,#206,#207),$); +#210=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#209)); +#211=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#212=IFCBOUNDINGBOX(#211,2000.,2000.,2000.); +#213=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#212)); +#214=IFCPRODUCTDEFINITIONSHAPE($,$,(#213,#210)); +#215=IFCCARTESIANPOINT((9000.,2000.,0.)); +#216=IFCDIRECTION((0.,0.,1.)); +#217=IFCDIRECTION((1.,0.,0.)); +#218=IFCAXIS2PLACEMENT3D(#215,#216,#217); +#219=IFCLOCALPLACEMENT(#65,#218); +#220=IFCACTUATOR('1MNxogoh5069Ce10DJPnvR',$,'I',$,$,#243,#238,$,.ELECTRICACTUATOR.); +#226=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#227=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#228=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#229=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#230=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#231=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#232=IFCCARTESIANPOINTLIST3D(((2999.99975585938,2999.99975585938,-999.999938964844),(2999.99975585938,2999.99975585938,999.999938964844),(2999.99975585938,4999.99951171875,-999.999938964844),(2999.99975585938,4999.99951171875,999.999938964844),(4999.99951171875,2999.99975585938,-999.999938964844),(4999.99951171875,2999.99975585938,999.999938964844),(4999.99951171875,4999.99951171875,-999.999938964844),(4999.99951171875,4999.99951171875,999.999938964844))); +#233=IFCPOLYGONALFACESET(#232,.T.,(#226,#227,#228,#229,#230,#231),$); +#234=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#233)); +#235=IFCCARTESIANPOINT((3000.,3000.,-1000.)); +#236=IFCBOUNDINGBOX(#235,2000.,2000.,2000.); +#237=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#236)); +#238=IFCPRODUCTDEFINITIONSHAPE($,$,(#237,#234)); +#239=IFCCARTESIANPOINT((3000.,3000.,0.)); +#240=IFCDIRECTION((0.,0.,1.)); +#241=IFCDIRECTION((1.,0.,0.)); +#242=IFCAXIS2PLACEMENT3D(#239,#240,#241); +#243=IFCLOCALPLACEMENT(#65,#242); +#244=IFCACTUATOR('3RwU3xrc53lANSpF74qA__',$,'J',$,$,#267,#262,$,.ELECTRICACTUATOR.); +#250=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#251=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#252=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#253=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#254=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#255=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#256=IFCCARTESIANPOINTLIST3D(((10999.9990234375,999.999938964844,-999.999938964844),(10999.9990234375,999.999938964844,999.999938964844),(10999.9990234375,2999.99975585938,-999.999938964844),(10999.9990234375,2999.99975585938,999.999938964844),(12999.9990234375,999.999938964844,-999.999938964844),(12999.9990234375,999.999938964844,999.999938964844),(12999.9990234375,2999.99975585938,-999.999938964844),(12999.9990234375,2999.99975585938,999.999938964844))); +#257=IFCPOLYGONALFACESET(#256,.T.,(#250,#251,#252,#253,#254,#255),$); +#258=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#257)); +#259=IFCCARTESIANPOINT((11000.,1000.,-1000.)); +#260=IFCBOUNDINGBOX(#259,2000.,2000.,2000.); +#261=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#260)); +#262=IFCPRODUCTDEFINITIONSHAPE($,$,(#261,#258)); +#263=IFCCARTESIANPOINT((0.,0.,0.)); +#264=IFCDIRECTION((0.,0.,1.)); +#265=IFCDIRECTION((1.,0.,0.)); +#266=IFCAXIS2PLACEMENT3D(#263,#264,#265); +#267=IFCLOCALPLACEMENT(#65,#266); +#268=IFCACTUATOR('1WS2jsl1v6zRraJAvJamB5',$,'K',$,$,#291,#286,$,.ELECTRICACTUATOR.); +#274=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#275=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#276=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#277=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#278=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#279=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#280=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#281=IFCPOLYGONALFACESET(#280,.T.,(#274,#275,#276,#277,#278,#279),$); +#282=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#281)); +#283=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#284=IFCBOUNDINGBOX(#283,2000.,2000.,2000.); +#285=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#284)); +#286=IFCPRODUCTDEFINITIONSHAPE($,$,(#285,#282)); +#287=IFCCARTESIANPOINT((10000.,0.,0.)); +#288=IFCDIRECTION((0.,0.,1.)); +#289=IFCDIRECTION((1.,0.,0.)); +#290=IFCAXIS2PLACEMENT3D(#287,#288,#289); +#291=IFCLOCALPLACEMENT(#65,#290); +#292=IFCPROJECTEDCRS('',$,$,$,$,$,$); +#293=IFCMAPCONVERSION(#14,#292,15000.,0.,0.,0.866025403784439,-0.5,$); +ENDSEC; +END-ISO-10303-21; diff --git a/src/blenderbim/test/files/geolocation-mapconversion-offsetsite.ifc b/src/blenderbim/test/files/geolocation-mapconversion-offsetsite.ifc new file mode 100644 index 0000000000..0c5e489dfa --- /dev/null +++ b/src/blenderbim/test/files/geolocation-mapconversion-offsetsite.ifc @@ -0,0 +1,236 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition[DesignTransferView]'),'2;1'); +FILE_NAME('geomap.ifc','2024-06-16T15:47:44+10:00',(),(),'IfcOpenShell 0.0.0','BlenderBIM 0.0.0-99f329c','Nobody'); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPROJECT('0jt2rJc6z1fwZdQThQPodh',$,'My Project',$,$,$,$,(#14,#26),#9); +#2=IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); +#3=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#4=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#5=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#6=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#7=IFCMEASUREWITHUNIT(IFCREAL(0.0174532925199433),#6); +#8=IFCCONVERSIONBASEDUNIT(#5,.PLANEANGLEUNIT.,'degree',#7); +#9=IFCUNITASSIGNMENT((#4,#2,#8,#3)); +#10=IFCCARTESIANPOINT((0.,0.,0.)); +#11=IFCDIRECTION((0.,0.,1.)); +#12=IFCDIRECTION((1.,0.,0.)); +#13=IFCAXIS2PLACEMENT3D(#10,#11,#12); +#14=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#13,$); +#15=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$); +#16=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#14,$,.GRAPH_VIEW.,$); +#17=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Box','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$); +#18=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.SECTION_VIEW.,$); +#19=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.ELEVATION_VIEW.,$); +#20=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.PLAN_VIEW.,$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Profile','Model',*,*,*,*,#14,$,.ELEVATION_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.)); +#24=IFCDIRECTION((1.,0.)); +#25=IFCAXIS2PLACEMENT2D(#23,#24); +#26=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Plan',2,1.E-05,#25,$); +#27=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Plan',*,*,*,*,#26,$,.GRAPH_VIEW.,$); +#28=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Plan',*,*,*,*,#26,$,.PLAN_VIEW.,$); +#29=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Plan',*,*,*,*,#26,$,.PLAN_VIEW.,$); +#30=IFCSITE('3Ps9QuwXX4eQ9YuzkHJGtZ',$,'My Site',$,$,#53,$,$,$,$,$,$,$,$); +#36=IFCBUILDING('0I_DU1o9H67gzDXCe_$X6B',$,'My Building',$,$,#59,$,$,$,$,$,$); +#42=IFCBUILDINGSTOREY('3PVQFsytj0sRoYTJzw56CN',$,'My Storey',$,$,#65,$,$,$,$); +#48=IFCRELAGGREGATES('3hNxfK6EL1KftlcQFOToy6',$,$,$,#1,(#30)); +#49=IFCCARTESIANPOINT((0.,0.,0.)); +#50=IFCDIRECTION((0.,0.,1.)); +#51=IFCDIRECTION((1.,0.,0.)); +#52=IFCAXIS2PLACEMENT3D(#49,#50,#51); +#53=IFCLOCALPLACEMENT($,#297); +#54=IFCRELAGGREGATES('3HmgitqV10cB1Xd0qufeCG',$,$,$,#30,(#36)); +#55=IFCCARTESIANPOINT((0.,0.,0.)); +#56=IFCDIRECTION((0.,0.,1.)); +#57=IFCDIRECTION((1.,0.,0.)); +#58=IFCAXIS2PLACEMENT3D(#55,#56,#57); +#59=IFCLOCALPLACEMENT(#53,#58); +#60=IFCRELAGGREGATES('3iOIshWWj5GuH8GV4PY7PE',$,$,$,#36,(#42)); +#61=IFCCARTESIANPOINT((0.,0.,0.)); +#62=IFCDIRECTION((0.,0.,1.)); +#63=IFCDIRECTION((1.,0.,0.)); +#64=IFCAXIS2PLACEMENT3D(#61,#62,#63); +#65=IFCLOCALPLACEMENT(#59,#64); +#66=IFCACTUATOR('1K0Yd6jI57yABXoIhGUJlV',$,'A',$,$,#77,$,$,.ELECTRICACTUATOR.); +#72=IFCRELCONTAINEDINSPATIALSTRUCTURE('0ISy1lxBj9Me7C0rfX$x58',$,$,$,(#66,#172,#89,#100,#124,#78,#244,#148,#268,#196,#220),#42); +#73=IFCCARTESIANPOINT((7000.,3000.,0.)); +#74=IFCDIRECTION((0.,0.,1.)); +#75=IFCDIRECTION((1.,0.,0.)); +#76=IFCAXIS2PLACEMENT3D(#73,#74,#75); +#77=IFCLOCALPLACEMENT(#65,#76); +#78=IFCACTUATOR('0tQuTGenT3MPK7sSXjQ4mw',$,'B',$,$,#88,$,$,.ELECTRICACTUATOR.); +#84=IFCCARTESIANPOINT((6000.,1000.,0.)); +#85=IFCDIRECTION((0.,0.,1.)); +#86=IFCDIRECTION((1.,0.,0.)); +#87=IFCAXIS2PLACEMENT3D(#84,#85,#86); +#88=IFCLOCALPLACEMENT(#65,#87); +#89=IFCACTUATOR('3M31$A2ln4yQSrgSw0CvvL',$,'C',$,$,#99,$,$,.ELECTRICACTUATOR.); +#95=IFCCARTESIANPOINT((0.,0.,0.)); +#96=IFCDIRECTION((0.,0.,1.)); +#97=IFCDIRECTION((1.,0.,0.)); +#98=IFCAXIS2PLACEMENT3D(#95,#96,#97); +#99=IFCLOCALPLACEMENT(#65,#98); +#100=IFCACTUATOR('0DId5LFxr40vKS6h0NQ6Pt',$,'D',$,$,#123,#118,$,.ELECTRICACTUATOR.); +#106=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#107=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#108=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#109=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#110=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#111=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#112=IFCCARTESIANPOINTLIST3D(((30999.998046875,1999.99987792969,-999.999938964844),(30999.998046875,1999.99987792969,999.999938964844),(30999.998046875,3999.99975585938,-999.999938964844),(30999.998046875,3999.99975585938,999.999938964844),(32999.99609375,1999.99987792969,-999.999938964844),(32999.99609375,1999.99987792969,999.999938964844),(32999.99609375,3999.99975585938,-999.999938964844),(32999.99609375,3999.99975585938,999.999938964844))); +#113=IFCPOLYGONALFACESET(#112,.T.,(#106,#107,#108,#109,#110,#111),$); +#114=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#113)); +#115=IFCCARTESIANPOINT((31000.,2000.,-1000.)); +#116=IFCBOUNDINGBOX(#115,2000.,2000.,2000.); +#117=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#116)); +#118=IFCPRODUCTDEFINITIONSHAPE($,$,(#117,#114)); +#119=IFCCARTESIANPOINT((-18000.,0.,0.)); +#120=IFCDIRECTION((0.,0.,1.)); +#121=IFCDIRECTION((1.,0.,0.)); +#122=IFCAXIS2PLACEMENT3D(#119,#120,#121); +#123=IFCLOCALPLACEMENT(#65,#122); +#124=IFCACTUATOR('13R$bdvVf0heFFbt22IGwL',$,'E',$,$,#147,#142,$,.ELECTRICACTUATOR.); +#130=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#131=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#132=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#133=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#134=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#135=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#136=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#137=IFCPOLYGONALFACESET(#136,.T.,(#130,#131,#132,#133,#134,#135),$); +#138=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#137)); +#139=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#140=IFCBOUNDINGBOX(#139,2000.,2000.,2000.); +#141=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#140)); +#142=IFCPRODUCTDEFINITIONSHAPE($,$,(#141,#138)); +#143=IFCCARTESIANPOINT((6000.,3000.,0.)); +#144=IFCDIRECTION((0.,0.,1.)); +#145=IFCDIRECTION((1.,0.,0.)); +#146=IFCAXIS2PLACEMENT3D(#143,#144,#145); +#147=IFCLOCALPLACEMENT(#65,#146); +#148=IFCACTUATOR('0ZSpGdYar6ueT_s2Wn1gug',$,'F',$,$,#171,#166,$,.ELECTRICACTUATOR.); +#154=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#155=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#156=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#157=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#158=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#159=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#160=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#161=IFCPOLYGONALFACESET(#160,.T.,(#154,#155,#156,#157,#158,#159),$); +#162=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#161)); +#163=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#164=IFCBOUNDINGBOX(#163,2000.,2000.,2000.); +#165=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#164)); +#166=IFCPRODUCTDEFINITIONSHAPE($,$,(#165,#162)); +#167=IFCCARTESIANPOINT((3000.,3000.,0.)); +#168=IFCDIRECTION((0.,0.,1.)); +#169=IFCDIRECTION((1.,0.,0.)); +#170=IFCAXIS2PLACEMENT3D(#167,#168,#169); +#171=IFCLOCALPLACEMENT(#65,#170); +#172=IFCACTUATOR('3RjpoTJ6v15uWoRvk50YM8',$,'G',$,$,#195,#190,$,.ELECTRICACTUATOR.); +#178=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#179=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#180=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#181=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#182=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#183=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#184=IFCCARTESIANPOINTLIST3D(((-24999.998046875,3999.99975585938,-999.999938964844),(-24999.998046875,3999.99975585938,999.999938964844),(-24999.998046875,5999.99951171875,-999.999938964844),(-24999.998046875,5999.99951171875,999.999938964844),(-22999.998046875,3999.99975585938,-999.999938964844),(-22999.998046875,3999.99975585938,999.999938964844),(-22999.998046875,5999.99951171875,-999.999938964844),(-22999.998046875,5999.99951171875,999.999938964844))); +#185=IFCPOLYGONALFACESET(#184,.T.,(#178,#179,#180,#181,#182,#183),$); +#186=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#185)); +#187=IFCCARTESIANPOINT((-25000.,4000.,-1000.)); +#188=IFCBOUNDINGBOX(#187,2000.,2000.,2000.); +#189=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#188)); +#190=IFCPRODUCTDEFINITIONSHAPE($,$,(#189,#186)); +#191=IFCCARTESIANPOINT((40000.,0.,0.)); +#192=IFCDIRECTION((0.,0.,1.)); +#193=IFCDIRECTION((1.,0.,0.)); +#194=IFCAXIS2PLACEMENT3D(#191,#192,#193); +#195=IFCLOCALPLACEMENT(#65,#194); +#196=IFCACTUATOR('0wplyZKoP0BPpAwLTj53mA',$,'H',$,$,#219,#214,$,.ELECTRICACTUATOR.); +#202=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#203=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#204=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#205=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#206=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#207=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#208=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#209=IFCPOLYGONALFACESET(#208,.T.,(#202,#203,#204,#205,#206,#207),$); +#210=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#209)); +#211=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#212=IFCBOUNDINGBOX(#211,2000.,2000.,2000.); +#213=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#212)); +#214=IFCPRODUCTDEFINITIONSHAPE($,$,(#213,#210)); +#215=IFCCARTESIANPOINT((9000.,2000.,0.)); +#216=IFCDIRECTION((0.,0.,1.)); +#217=IFCDIRECTION((1.,0.,0.)); +#218=IFCAXIS2PLACEMENT3D(#215,#216,#217); +#219=IFCLOCALPLACEMENT(#65,#218); +#220=IFCACTUATOR('1MNxogoh5069Ce10DJPnvR',$,'I',$,$,#243,#238,$,.ELECTRICACTUATOR.); +#226=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#227=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#228=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#229=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#230=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#231=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#232=IFCCARTESIANPOINTLIST3D(((2999.99975585938,2999.99975585938,-999.999938964844),(2999.99975585938,2999.99975585938,999.999938964844),(2999.99975585938,4999.99951171875,-999.999938964844),(2999.99975585938,4999.99951171875,999.999938964844),(4999.99951171875,2999.99975585938,-999.999938964844),(4999.99951171875,2999.99975585938,999.999938964844),(4999.99951171875,4999.99951171875,-999.999938964844),(4999.99951171875,4999.99951171875,999.999938964844))); +#233=IFCPOLYGONALFACESET(#232,.T.,(#226,#227,#228,#229,#230,#231),$); +#234=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#233)); +#235=IFCCARTESIANPOINT((3000.,3000.,-1000.)); +#236=IFCBOUNDINGBOX(#235,2000.,2000.,2000.); +#237=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#236)); +#238=IFCPRODUCTDEFINITIONSHAPE($,$,(#237,#234)); +#239=IFCCARTESIANPOINT((3000.,3000.,0.)); +#240=IFCDIRECTION((0.,0.,1.)); +#241=IFCDIRECTION((1.,0.,0.)); +#242=IFCAXIS2PLACEMENT3D(#239,#240,#241); +#243=IFCLOCALPLACEMENT(#65,#242); +#244=IFCACTUATOR('3RwU3xrc53lANSpF74qA__',$,'J',$,$,#267,#262,$,.ELECTRICACTUATOR.); +#250=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#251=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#252=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#253=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#254=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#255=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#256=IFCCARTESIANPOINTLIST3D(((10999.9990234375,999.999938964844,-999.999938964844),(10999.9990234375,999.999938964844,999.999938964844),(10999.9990234375,2999.99975585938,-999.999938964844),(10999.9990234375,2999.99975585938,999.999938964844),(12999.9990234375,999.999938964844,-999.999938964844),(12999.9990234375,999.999938964844,999.999938964844),(12999.9990234375,2999.99975585938,-999.999938964844),(12999.9990234375,2999.99975585938,999.999938964844))); +#257=IFCPOLYGONALFACESET(#256,.T.,(#250,#251,#252,#253,#254,#255),$); +#258=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#257)); +#259=IFCCARTESIANPOINT((11000.,1000.,-1000.)); +#260=IFCBOUNDINGBOX(#259,2000.,2000.,2000.); +#261=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#260)); +#262=IFCPRODUCTDEFINITIONSHAPE($,$,(#261,#258)); +#263=IFCCARTESIANPOINT((0.,0.,0.)); +#264=IFCDIRECTION((0.,0.,1.)); +#265=IFCDIRECTION((1.,0.,0.)); +#266=IFCAXIS2PLACEMENT3D(#263,#264,#265); +#267=IFCLOCALPLACEMENT(#65,#266); +#268=IFCACTUATOR('1WS2jsl1v6zRraJAvJamB5',$,'K',$,$,#291,#286,$,.ELECTRICACTUATOR.); +#274=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#275=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#276=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#277=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#278=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#279=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#280=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#281=IFCPOLYGONALFACESET(#280,.T.,(#274,#275,#276,#277,#278,#279),$); +#282=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#281)); +#283=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#284=IFCBOUNDINGBOX(#283,2000.,2000.,2000.); +#285=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#284)); +#286=IFCPRODUCTDEFINITIONSHAPE($,$,(#285,#282)); +#287=IFCCARTESIANPOINT((10000.,0.,0.)); +#288=IFCDIRECTION((0.,0.,1.)); +#289=IFCDIRECTION((1.,0.,0.)); +#290=IFCAXIS2PLACEMENT3D(#287,#288,#289); +#291=IFCLOCALPLACEMENT(#65,#290); +#292=IFCPROJECTEDCRS('',$,$,$,$,$,$); +#293=IFCMAPCONVERSION(#14,#292,15000.,0.,0.,$,$,$); +#294=IFCCARTESIANPOINT((0.,10000.,0.)); +#295=IFCDIRECTION((0.,0.,1.)); +#296=IFCDIRECTION((0.965925826289068,0.258819045102521,0.)); +#297=IFCAXIS2PLACEMENT3D(#294,#295,#296); +ENDSEC; +END-ISO-10303-21; diff --git a/src/blenderbim/test/files/geolocation-mapconversion.ifc b/src/blenderbim/test/files/geolocation-mapconversion.ifc new file mode 100644 index 0000000000..dc9d93b7b3 --- /dev/null +++ b/src/blenderbim/test/files/geolocation-mapconversion.ifc @@ -0,0 +1,232 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition[DesignTransferView]'),'2;1'); +FILE_NAME('geomap.ifc','2024-06-16T15:47:44+10:00',(),(),'IfcOpenShell 0.0.0','BlenderBIM 0.0.0-99f329c','Nobody'); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPROJECT('0jt2rJc6z1fwZdQThQPodh',$,'My Project',$,$,$,$,(#14,#26),#9); +#2=IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); +#3=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#4=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#5=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#6=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#7=IFCMEASUREWITHUNIT(IFCREAL(0.0174532925199433),#6); +#8=IFCCONVERSIONBASEDUNIT(#5,.PLANEANGLEUNIT.,'degree',#7); +#9=IFCUNITASSIGNMENT((#4,#2,#8,#3)); +#10=IFCCARTESIANPOINT((0.,0.,0.)); +#11=IFCDIRECTION((0.,0.,1.)); +#12=IFCDIRECTION((1.,0.,0.)); +#13=IFCAXIS2PLACEMENT3D(#10,#11,#12); +#14=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#13,$); +#15=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$); +#16=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#14,$,.GRAPH_VIEW.,$); +#17=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Box','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$); +#18=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.SECTION_VIEW.,$); +#19=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.ELEVATION_VIEW.,$); +#20=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.PLAN_VIEW.,$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Profile','Model',*,*,*,*,#14,$,.ELEVATION_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.)); +#24=IFCDIRECTION((1.,0.)); +#25=IFCAXIS2PLACEMENT2D(#23,#24); +#26=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Plan',2,1.E-05,#25,$); +#27=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Plan',*,*,*,*,#26,$,.GRAPH_VIEW.,$); +#28=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Plan',*,*,*,*,#26,$,.PLAN_VIEW.,$); +#29=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Plan',*,*,*,*,#26,$,.PLAN_VIEW.,$); +#30=IFCSITE('3Ps9QuwXX4eQ9YuzkHJGtZ',$,'My Site',$,$,#53,$,$,$,$,$,$,$,$); +#36=IFCBUILDING('0I_DU1o9H67gzDXCe_$X6B',$,'My Building',$,$,#59,$,$,$,$,$,$); +#42=IFCBUILDINGSTOREY('3PVQFsytj0sRoYTJzw56CN',$,'My Storey',$,$,#65,$,$,$,$); +#48=IFCRELAGGREGATES('3hNxfK6EL1KftlcQFOToy6',$,$,$,#1,(#30)); +#49=IFCCARTESIANPOINT((0.,0.,0.)); +#50=IFCDIRECTION((0.,0.,1.)); +#51=IFCDIRECTION((1.,0.,0.)); +#52=IFCAXIS2PLACEMENT3D(#49,#50,#51); +#53=IFCLOCALPLACEMENT($,#52); +#54=IFCRELAGGREGATES('3HmgitqV10cB1Xd0qufeCG',$,$,$,#30,(#36)); +#55=IFCCARTESIANPOINT((0.,0.,0.)); +#56=IFCDIRECTION((0.,0.,1.)); +#57=IFCDIRECTION((1.,0.,0.)); +#58=IFCAXIS2PLACEMENT3D(#55,#56,#57); +#59=IFCLOCALPLACEMENT(#53,#58); +#60=IFCRELAGGREGATES('3iOIshWWj5GuH8GV4PY7PE',$,$,$,#36,(#42)); +#61=IFCCARTESIANPOINT((0.,0.,0.)); +#62=IFCDIRECTION((0.,0.,1.)); +#63=IFCDIRECTION((1.,0.,0.)); +#64=IFCAXIS2PLACEMENT3D(#61,#62,#63); +#65=IFCLOCALPLACEMENT(#59,#64); +#66=IFCACTUATOR('1K0Yd6jI57yABXoIhGUJlV',$,'A',$,$,#77,$,$,.ELECTRICACTUATOR.); +#72=IFCRELCONTAINEDINSPATIALSTRUCTURE('0ISy1lxBj9Me7C0rfX$x58',$,$,$,(#66,#172,#89,#100,#124,#78,#244,#148,#268,#196,#220),#42); +#73=IFCCARTESIANPOINT((7000.,3000.,0.)); +#74=IFCDIRECTION((0.,0.,1.)); +#75=IFCDIRECTION((1.,0.,0.)); +#76=IFCAXIS2PLACEMENT3D(#73,#74,#75); +#77=IFCLOCALPLACEMENT(#65,#76); +#78=IFCACTUATOR('0tQuTGenT3MPK7sSXjQ4mw',$,'B',$,$,#88,$,$,.ELECTRICACTUATOR.); +#84=IFCCARTESIANPOINT((6000.,1000.,0.)); +#85=IFCDIRECTION((0.,0.,1.)); +#86=IFCDIRECTION((1.,0.,0.)); +#87=IFCAXIS2PLACEMENT3D(#84,#85,#86); +#88=IFCLOCALPLACEMENT(#65,#87); +#89=IFCACTUATOR('3M31$A2ln4yQSrgSw0CvvL',$,'C',$,$,#99,$,$,.ELECTRICACTUATOR.); +#95=IFCCARTESIANPOINT((0.,0.,0.)); +#96=IFCDIRECTION((0.,0.,1.)); +#97=IFCDIRECTION((1.,0.,0.)); +#98=IFCAXIS2PLACEMENT3D(#95,#96,#97); +#99=IFCLOCALPLACEMENT(#65,#98); +#100=IFCACTUATOR('0DId5LFxr40vKS6h0NQ6Pt',$,'D',$,$,#123,#118,$,.ELECTRICACTUATOR.); +#106=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#107=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#108=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#109=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#110=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#111=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#112=IFCCARTESIANPOINTLIST3D(((30999.998046875,1999.99987792969,-999.999938964844),(30999.998046875,1999.99987792969,999.999938964844),(30999.998046875,3999.99975585938,-999.999938964844),(30999.998046875,3999.99975585938,999.999938964844),(32999.99609375,1999.99987792969,-999.999938964844),(32999.99609375,1999.99987792969,999.999938964844),(32999.99609375,3999.99975585938,-999.999938964844),(32999.99609375,3999.99975585938,999.999938964844))); +#113=IFCPOLYGONALFACESET(#112,.T.,(#106,#107,#108,#109,#110,#111),$); +#114=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#113)); +#115=IFCCARTESIANPOINT((31000.,2000.,-1000.)); +#116=IFCBOUNDINGBOX(#115,2000.,2000.,2000.); +#117=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#116)); +#118=IFCPRODUCTDEFINITIONSHAPE($,$,(#117,#114)); +#119=IFCCARTESIANPOINT((-18000.,0.,0.)); +#120=IFCDIRECTION((0.,0.,1.)); +#121=IFCDIRECTION((1.,0.,0.)); +#122=IFCAXIS2PLACEMENT3D(#119,#120,#121); +#123=IFCLOCALPLACEMENT(#65,#122); +#124=IFCACTUATOR('13R$bdvVf0heFFbt22IGwL',$,'E',$,$,#147,#142,$,.ELECTRICACTUATOR.); +#130=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#131=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#132=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#133=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#134=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#135=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#136=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#137=IFCPOLYGONALFACESET(#136,.T.,(#130,#131,#132,#133,#134,#135),$); +#138=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#137)); +#139=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#140=IFCBOUNDINGBOX(#139,2000.,2000.,2000.); +#141=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#140)); +#142=IFCPRODUCTDEFINITIONSHAPE($,$,(#141,#138)); +#143=IFCCARTESIANPOINT((6000.,3000.,0.)); +#144=IFCDIRECTION((0.,0.,1.)); +#145=IFCDIRECTION((1.,0.,0.)); +#146=IFCAXIS2PLACEMENT3D(#143,#144,#145); +#147=IFCLOCALPLACEMENT(#65,#146); +#148=IFCACTUATOR('0ZSpGdYar6ueT_s2Wn1gug',$,'F',$,$,#171,#166,$,.ELECTRICACTUATOR.); +#154=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#155=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#156=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#157=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#158=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#159=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#160=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#161=IFCPOLYGONALFACESET(#160,.T.,(#154,#155,#156,#157,#158,#159),$); +#162=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#161)); +#163=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#164=IFCBOUNDINGBOX(#163,2000.,2000.,2000.); +#165=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#164)); +#166=IFCPRODUCTDEFINITIONSHAPE($,$,(#165,#162)); +#167=IFCCARTESIANPOINT((3000.,3000.,0.)); +#168=IFCDIRECTION((0.,0.,1.)); +#169=IFCDIRECTION((1.,0.,0.)); +#170=IFCAXIS2PLACEMENT3D(#167,#168,#169); +#171=IFCLOCALPLACEMENT(#65,#170); +#172=IFCACTUATOR('3RjpoTJ6v15uWoRvk50YM8',$,'G',$,$,#195,#190,$,.ELECTRICACTUATOR.); +#178=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#179=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#180=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#181=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#182=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#183=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#184=IFCCARTESIANPOINTLIST3D(((-24999.998046875,3999.99975585938,-999.999938964844),(-24999.998046875,3999.99975585938,999.999938964844),(-24999.998046875,5999.99951171875,-999.999938964844),(-24999.998046875,5999.99951171875,999.999938964844),(-22999.998046875,3999.99975585938,-999.999938964844),(-22999.998046875,3999.99975585938,999.999938964844),(-22999.998046875,5999.99951171875,-999.999938964844),(-22999.998046875,5999.99951171875,999.999938964844))); +#185=IFCPOLYGONALFACESET(#184,.T.,(#178,#179,#180,#181,#182,#183),$); +#186=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#185)); +#187=IFCCARTESIANPOINT((-25000.,4000.,-1000.)); +#188=IFCBOUNDINGBOX(#187,2000.,2000.,2000.); +#189=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#188)); +#190=IFCPRODUCTDEFINITIONSHAPE($,$,(#189,#186)); +#191=IFCCARTESIANPOINT((40000.,0.,0.)); +#192=IFCDIRECTION((0.,0.,1.)); +#193=IFCDIRECTION((1.,0.,0.)); +#194=IFCAXIS2PLACEMENT3D(#191,#192,#193); +#195=IFCLOCALPLACEMENT(#65,#194); +#196=IFCACTUATOR('0wplyZKoP0BPpAwLTj53mA',$,'H',$,$,#219,#214,$,.ELECTRICACTUATOR.); +#202=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#203=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#204=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#205=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#206=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#207=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#208=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#209=IFCPOLYGONALFACESET(#208,.T.,(#202,#203,#204,#205,#206,#207),$); +#210=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#209)); +#211=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#212=IFCBOUNDINGBOX(#211,2000.,2000.,2000.); +#213=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#212)); +#214=IFCPRODUCTDEFINITIONSHAPE($,$,(#213,#210)); +#215=IFCCARTESIANPOINT((9000.,2000.,0.)); +#216=IFCDIRECTION((0.,0.,1.)); +#217=IFCDIRECTION((1.,0.,0.)); +#218=IFCAXIS2PLACEMENT3D(#215,#216,#217); +#219=IFCLOCALPLACEMENT(#65,#218); +#220=IFCACTUATOR('1MNxogoh5069Ce10DJPnvR',$,'I',$,$,#243,#238,$,.ELECTRICACTUATOR.); +#226=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#227=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#228=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#229=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#230=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#231=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#232=IFCCARTESIANPOINTLIST3D(((2999.99975585938,2999.99975585938,-999.999938964844),(2999.99975585938,2999.99975585938,999.999938964844),(2999.99975585938,4999.99951171875,-999.999938964844),(2999.99975585938,4999.99951171875,999.999938964844),(4999.99951171875,2999.99975585938,-999.999938964844),(4999.99951171875,2999.99975585938,999.999938964844),(4999.99951171875,4999.99951171875,-999.999938964844),(4999.99951171875,4999.99951171875,999.999938964844))); +#233=IFCPOLYGONALFACESET(#232,.T.,(#226,#227,#228,#229,#230,#231),$); +#234=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#233)); +#235=IFCCARTESIANPOINT((3000.,3000.,-1000.)); +#236=IFCBOUNDINGBOX(#235,2000.,2000.,2000.); +#237=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#236)); +#238=IFCPRODUCTDEFINITIONSHAPE($,$,(#237,#234)); +#239=IFCCARTESIANPOINT((3000.,3000.,0.)); +#240=IFCDIRECTION((0.,0.,1.)); +#241=IFCDIRECTION((1.,0.,0.)); +#242=IFCAXIS2PLACEMENT3D(#239,#240,#241); +#243=IFCLOCALPLACEMENT(#65,#242); +#244=IFCACTUATOR('3RwU3xrc53lANSpF74qA__',$,'J',$,$,#267,#262,$,.ELECTRICACTUATOR.); +#250=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#251=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#252=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#253=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#254=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#255=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#256=IFCCARTESIANPOINTLIST3D(((10999.9990234375,999.999938964844,-999.999938964844),(10999.9990234375,999.999938964844,999.999938964844),(10999.9990234375,2999.99975585938,-999.999938964844),(10999.9990234375,2999.99975585938,999.999938964844),(12999.9990234375,999.999938964844,-999.999938964844),(12999.9990234375,999.999938964844,999.999938964844),(12999.9990234375,2999.99975585938,-999.999938964844),(12999.9990234375,2999.99975585938,999.999938964844))); +#257=IFCPOLYGONALFACESET(#256,.T.,(#250,#251,#252,#253,#254,#255),$); +#258=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#257)); +#259=IFCCARTESIANPOINT((11000.,1000.,-1000.)); +#260=IFCBOUNDINGBOX(#259,2000.,2000.,2000.); +#261=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#260)); +#262=IFCPRODUCTDEFINITIONSHAPE($,$,(#261,#258)); +#263=IFCCARTESIANPOINT((0.,0.,0.)); +#264=IFCDIRECTION((0.,0.,1.)); +#265=IFCDIRECTION((1.,0.,0.)); +#266=IFCAXIS2PLACEMENT3D(#263,#264,#265); +#267=IFCLOCALPLACEMENT(#65,#266); +#268=IFCACTUATOR('1WS2jsl1v6zRraJAvJamB5',$,'K',$,$,#291,#286,$,.ELECTRICACTUATOR.); +#274=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#275=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#276=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#277=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#278=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#279=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#280=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#281=IFCPOLYGONALFACESET(#280,.T.,(#274,#275,#276,#277,#278,#279),$); +#282=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#281)); +#283=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#284=IFCBOUNDINGBOX(#283,2000.,2000.,2000.); +#285=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#284)); +#286=IFCPRODUCTDEFINITIONSHAPE($,$,(#285,#282)); +#287=IFCCARTESIANPOINT((10000.,0.,0.)); +#288=IFCDIRECTION((0.,0.,1.)); +#289=IFCDIRECTION((1.,0.,0.)); +#290=IFCAXIS2PLACEMENT3D(#287,#288,#289); +#291=IFCLOCALPLACEMENT(#65,#290); +#292=IFCPROJECTEDCRS('',$,$,$,$,$,$); +#293=IFCMAPCONVERSION(#14,#292,15000.,0.,0.,$,$,$); +ENDSEC; +END-ISO-10303-21; diff --git a/src/blenderbim/test/files/geolocation-offsetsite.ifc b/src/blenderbim/test/files/geolocation-offsetsite.ifc new file mode 100644 index 0000000000..2e622a2b54 --- /dev/null +++ b/src/blenderbim/test/files/geolocation-offsetsite.ifc @@ -0,0 +1,234 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition[DesignTransferView]'),'2;1'); +FILE_NAME('geo.ifc','2024-06-05T22:47:24+10:00',(),(),'IfcOpenShell v0.7.0-f7c03db75','BlenderBIM 0.0.999999-8b69ea4','Nobody'); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPROJECT('0jt2rJc6z1fwZdQThQPodh',$,'My Project',$,$,$,$,(#14,#26),#9); +#2=IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); +#3=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#4=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#5=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#6=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#7=IFCMEASUREWITHUNIT(IFCREAL(0.0174532925199433),#6); +#8=IFCCONVERSIONBASEDUNIT(#5,.PLANEANGLEUNIT.,'degree',#7); +#9=IFCUNITASSIGNMENT((#4,#2,#8,#3)); +#10=IFCCARTESIANPOINT((0.,0.,0.)); +#11=IFCDIRECTION((0.,0.,1.)); +#12=IFCDIRECTION((1.,0.,0.)); +#13=IFCAXIS2PLACEMENT3D(#10,#11,#12); +#14=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#13,$); +#15=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$); +#16=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#14,$,.GRAPH_VIEW.,$); +#17=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Box','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$); +#18=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.SECTION_VIEW.,$); +#19=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.ELEVATION_VIEW.,$); +#20=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.PLAN_VIEW.,$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Profile','Model',*,*,*,*,#14,$,.ELEVATION_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.)); +#24=IFCDIRECTION((1.,0.)); +#25=IFCAXIS2PLACEMENT2D(#23,#24); +#26=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Plan',2,1.E-05,#25,$); +#27=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Plan',*,*,*,*,#26,$,.GRAPH_VIEW.,$); +#28=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Plan',*,*,*,*,#26,$,.PLAN_VIEW.,$); +#29=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Plan',*,*,*,*,#26,$,.PLAN_VIEW.,$); +#30=IFCSITE('3Ps9QuwXX4eQ9YuzkHJGtZ',$,'My Site',$,$,#53,$,$,$,$,$,$,$,$); +#36=IFCBUILDING('0I_DU1o9H67gzDXCe_$X6B',$,'My Building',$,$,#59,$,$,$,$,$,$); +#42=IFCBUILDINGSTOREY('3PVQFsytj0sRoYTJzw56CN',$,'My Storey',$,$,#65,$,$,$,$); +#48=IFCRELAGGREGATES('3hNxfK6EL1KftlcQFOToy6',$,$,$,#1,(#30)); +#49=IFCCARTESIANPOINT((0.,0.,0.)); +#50=IFCDIRECTION((0.,0.,1.)); +#51=IFCDIRECTION((1.,0.,0.)); +#52=IFCAXIS2PLACEMENT3D(#49,#50,#51); +#53=IFCLOCALPLACEMENT($,#295); +#54=IFCRELAGGREGATES('3HmgitqV10cB1Xd0qufeCG',$,$,$,#30,(#36)); +#55=IFCCARTESIANPOINT((0.,0.,0.)); +#56=IFCDIRECTION((0.,0.,1.)); +#57=IFCDIRECTION((1.,0.,0.)); +#58=IFCAXIS2PLACEMENT3D(#55,#56,#57); +#59=IFCLOCALPLACEMENT(#53,#58); +#60=IFCRELAGGREGATES('3iOIshWWj5GuH8GV4PY7PE',$,$,$,#36,(#42)); +#61=IFCCARTESIANPOINT((0.,0.,0.)); +#62=IFCDIRECTION((0.,0.,1.)); +#63=IFCDIRECTION((1.,0.,0.)); +#64=IFCAXIS2PLACEMENT3D(#61,#62,#63); +#65=IFCLOCALPLACEMENT(#59,#64); +#66=IFCACTUATOR('1K0Yd6jI57yABXoIhGUJlV',$,'A',$,$,#77,$,$,.ELECTRICACTUATOR.); +#72=IFCRELCONTAINEDINSPATIALSTRUCTURE('0ISy1lxBj9Me7C0rfX$x58',$,$,$,(#66,#172,#89,#100,#124,#78,#244,#148,#268,#196,#220),#42); +#73=IFCCARTESIANPOINT((7000.,3000.,0.)); +#74=IFCDIRECTION((0.,0.,1.)); +#75=IFCDIRECTION((1.,0.,0.)); +#76=IFCAXIS2PLACEMENT3D(#73,#74,#75); +#77=IFCLOCALPLACEMENT(#65,#76); +#78=IFCACTUATOR('0tQuTGenT3MPK7sSXjQ4mw',$,'B',$,$,#88,$,$,.ELECTRICACTUATOR.); +#84=IFCCARTESIANPOINT((6000.,1000.,0.)); +#85=IFCDIRECTION((0.,0.,1.)); +#86=IFCDIRECTION((1.,0.,0.)); +#87=IFCAXIS2PLACEMENT3D(#84,#85,#86); +#88=IFCLOCALPLACEMENT(#65,#87); +#89=IFCACTUATOR('3M31$A2ln4yQSrgSw0CvvL',$,'C',$,$,#99,$,$,.ELECTRICACTUATOR.); +#95=IFCCARTESIANPOINT((0.,0.,0.)); +#96=IFCDIRECTION((0.,0.,1.)); +#97=IFCDIRECTION((1.,0.,0.)); +#98=IFCAXIS2PLACEMENT3D(#95,#96,#97); +#99=IFCLOCALPLACEMENT(#65,#98); +#100=IFCACTUATOR('0DId5LFxr40vKS6h0NQ6Pt',$,'D',$,$,#123,#118,$,.ELECTRICACTUATOR.); +#106=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#107=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#108=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#109=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#110=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#111=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#112=IFCCARTESIANPOINTLIST3D(((30999.998046875,1999.99987792969,-999.999938964844),(30999.998046875,1999.99987792969,999.999938964844),(30999.998046875,3999.99975585938,-999.999938964844),(30999.998046875,3999.99975585938,999.999938964844),(32999.99609375,1999.99987792969,-999.999938964844),(32999.99609375,1999.99987792969,999.999938964844),(32999.99609375,3999.99975585938,-999.999938964844),(32999.99609375,3999.99975585938,999.999938964844))); +#113=IFCPOLYGONALFACESET(#112,.T.,(#106,#107,#108,#109,#110,#111),$); +#114=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#113)); +#115=IFCCARTESIANPOINT((31000.,2000.,-1000.)); +#116=IFCBOUNDINGBOX(#115,2000.,2000.,2000.); +#117=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#116)); +#118=IFCPRODUCTDEFINITIONSHAPE($,$,(#117,#114)); +#119=IFCCARTESIANPOINT((-18000.,0.,0.)); +#120=IFCDIRECTION((0.,0.,1.)); +#121=IFCDIRECTION((1.,0.,0.)); +#122=IFCAXIS2PLACEMENT3D(#119,#120,#121); +#123=IFCLOCALPLACEMENT(#65,#122); +#124=IFCACTUATOR('13R$bdvVf0heFFbt22IGwL',$,'E',$,$,#147,#142,$,.ELECTRICACTUATOR.); +#130=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#131=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#132=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#133=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#134=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#135=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#136=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#137=IFCPOLYGONALFACESET(#136,.T.,(#130,#131,#132,#133,#134,#135),$); +#138=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#137)); +#139=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#140=IFCBOUNDINGBOX(#139,2000.,2000.,2000.); +#141=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#140)); +#142=IFCPRODUCTDEFINITIONSHAPE($,$,(#141,#138)); +#143=IFCCARTESIANPOINT((6000.,3000.,0.)); +#144=IFCDIRECTION((0.,0.,1.)); +#145=IFCDIRECTION((1.,0.,0.)); +#146=IFCAXIS2PLACEMENT3D(#143,#144,#145); +#147=IFCLOCALPLACEMENT(#65,#146); +#148=IFCACTUATOR('0ZSpGdYar6ueT_s2Wn1gug',$,'F',$,$,#171,#166,$,.ELECTRICACTUATOR.); +#154=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#155=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#156=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#157=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#158=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#159=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#160=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#161=IFCPOLYGONALFACESET(#160,.T.,(#154,#155,#156,#157,#158,#159),$); +#162=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#161)); +#163=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#164=IFCBOUNDINGBOX(#163,2000.,2000.,2000.); +#165=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#164)); +#166=IFCPRODUCTDEFINITIONSHAPE($,$,(#165,#162)); +#167=IFCCARTESIANPOINT((3000.,3000.,0.)); +#168=IFCDIRECTION((0.,0.,1.)); +#169=IFCDIRECTION((1.,0.,0.)); +#170=IFCAXIS2PLACEMENT3D(#167,#168,#169); +#171=IFCLOCALPLACEMENT(#65,#170); +#172=IFCACTUATOR('3RjpoTJ6v15uWoRvk50YM8',$,'G',$,$,#195,#190,$,.ELECTRICACTUATOR.); +#178=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#179=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#180=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#181=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#182=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#183=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#184=IFCCARTESIANPOINTLIST3D(((-24999.998046875,3999.99975585938,-999.999938964844),(-24999.998046875,3999.99975585938,999.999938964844),(-24999.998046875,5999.99951171875,-999.999938964844),(-24999.998046875,5999.99951171875,999.999938964844),(-22999.998046875,3999.99975585938,-999.999938964844),(-22999.998046875,3999.99975585938,999.999938964844),(-22999.998046875,5999.99951171875,-999.999938964844),(-22999.998046875,5999.99951171875,999.999938964844))); +#185=IFCPOLYGONALFACESET(#184,.T.,(#178,#179,#180,#181,#182,#183),$); +#186=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#185)); +#187=IFCCARTESIANPOINT((-25000.,4000.,-1000.)); +#188=IFCBOUNDINGBOX(#187,2000.,2000.,2000.); +#189=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#188)); +#190=IFCPRODUCTDEFINITIONSHAPE($,$,(#189,#186)); +#191=IFCCARTESIANPOINT((40000.,0.,0.)); +#192=IFCDIRECTION((0.,0.,1.)); +#193=IFCDIRECTION((1.,0.,0.)); +#194=IFCAXIS2PLACEMENT3D(#191,#192,#193); +#195=IFCLOCALPLACEMENT(#65,#194); +#196=IFCACTUATOR('0wplyZKoP0BPpAwLTj53mA',$,'H',$,$,#219,#214,$,.ELECTRICACTUATOR.); +#202=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#203=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#204=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#205=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#206=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#207=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#208=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#209=IFCPOLYGONALFACESET(#208,.T.,(#202,#203,#204,#205,#206,#207),$); +#210=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#209)); +#211=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#212=IFCBOUNDINGBOX(#211,2000.,2000.,2000.); +#213=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#212)); +#214=IFCPRODUCTDEFINITIONSHAPE($,$,(#213,#210)); +#215=IFCCARTESIANPOINT((9000.,2000.,0.)); +#216=IFCDIRECTION((0.,0.,1.)); +#217=IFCDIRECTION((1.,0.,0.)); +#218=IFCAXIS2PLACEMENT3D(#215,#216,#217); +#219=IFCLOCALPLACEMENT(#65,#218); +#220=IFCACTUATOR('1MNxogoh5069Ce10DJPnvR',$,'I',$,$,#243,#238,$,.ELECTRICACTUATOR.); +#226=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#227=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#228=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#229=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#230=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#231=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#232=IFCCARTESIANPOINTLIST3D(((2999.99975585938,2999.99975585938,-999.999938964844),(2999.99975585938,2999.99975585938,999.999938964844),(2999.99975585938,4999.99951171875,-999.999938964844),(2999.99975585938,4999.99951171875,999.999938964844),(4999.99951171875,2999.99975585938,-999.999938964844),(4999.99951171875,2999.99975585938,999.999938964844),(4999.99951171875,4999.99951171875,-999.999938964844),(4999.99951171875,4999.99951171875,999.999938964844))); +#233=IFCPOLYGONALFACESET(#232,.T.,(#226,#227,#228,#229,#230,#231),$); +#234=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#233)); +#235=IFCCARTESIANPOINT((3000.,3000.,-1000.)); +#236=IFCBOUNDINGBOX(#235,2000.,2000.,2000.); +#237=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#236)); +#238=IFCPRODUCTDEFINITIONSHAPE($,$,(#237,#234)); +#239=IFCCARTESIANPOINT((3000.,3000.,0.)); +#240=IFCDIRECTION((0.,0.,1.)); +#241=IFCDIRECTION((1.,0.,0.)); +#242=IFCAXIS2PLACEMENT3D(#239,#240,#241); +#243=IFCLOCALPLACEMENT(#65,#242); +#244=IFCACTUATOR('3RwU3xrc53lANSpF74qA__',$,'J',$,$,#267,#262,$,.ELECTRICACTUATOR.); +#250=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#251=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#252=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#253=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#254=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#255=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#256=IFCCARTESIANPOINTLIST3D(((10999.9990234375,999.999938964844,-999.999938964844),(10999.9990234375,999.999938964844,999.999938964844),(10999.9990234375,2999.99975585938,-999.999938964844),(10999.9990234375,2999.99975585938,999.999938964844),(12999.9990234375,999.999938964844,-999.999938964844),(12999.9990234375,999.999938964844,999.999938964844),(12999.9990234375,2999.99975585938,-999.999938964844),(12999.9990234375,2999.99975585938,999.999938964844))); +#257=IFCPOLYGONALFACESET(#256,.T.,(#250,#251,#252,#253,#254,#255),$); +#258=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#257)); +#259=IFCCARTESIANPOINT((11000.,1000.,-1000.)); +#260=IFCBOUNDINGBOX(#259,2000.,2000.,2000.); +#261=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#260)); +#262=IFCPRODUCTDEFINITIONSHAPE($,$,(#261,#258)); +#263=IFCCARTESIANPOINT((0.,0.,0.)); +#264=IFCDIRECTION((0.,0.,1.)); +#265=IFCDIRECTION((1.,0.,0.)); +#266=IFCAXIS2PLACEMENT3D(#263,#264,#265); +#267=IFCLOCALPLACEMENT(#65,#266); +#268=IFCACTUATOR('1WS2jsl1v6zRraJAvJamB5',$,'K',$,$,#291,#286,$,.ELECTRICACTUATOR.); +#274=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#275=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#276=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#277=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#278=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#279=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#280=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#281=IFCPOLYGONALFACESET(#280,.T.,(#274,#275,#276,#277,#278,#279),$); +#282=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#281)); +#283=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#284=IFCBOUNDINGBOX(#283,2000.,2000.,2000.); +#285=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#284)); +#286=IFCPRODUCTDEFINITIONSHAPE($,$,(#285,#282)); +#287=IFCCARTESIANPOINT((10000.,0.,0.)); +#288=IFCDIRECTION((0.,0.,1.)); +#289=IFCDIRECTION((1.,0.,0.)); +#290=IFCAXIS2PLACEMENT3D(#287,#288,#289); +#291=IFCLOCALPLACEMENT(#65,#290); +#292=IFCCARTESIANPOINT((0.,10000.,0.)); +#293=IFCDIRECTION((0.,0.,1.)); +#294=IFCDIRECTION((0.965925826289068,0.258819045102521,0.)); +#295=IFCAXIS2PLACEMENT3D(#292,#293,#294); +ENDSEC; +END-ISO-10303-21; diff --git a/src/blenderbim/test/files/geolocation.ifc b/src/blenderbim/test/files/geolocation.ifc new file mode 100644 index 0000000000..af1e7238ec --- /dev/null +++ b/src/blenderbim/test/files/geolocation.ifc @@ -0,0 +1,230 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition[DesignTransferView]'),'2;1'); +FILE_NAME('geo.ifc','2024-06-05T22:47:24+10:00',(),(),'IfcOpenShell v0.7.0-f7c03db75','BlenderBIM 0.0.999999-8b69ea4','Nobody'); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPROJECT('0jt2rJc6z1fwZdQThQPodh',$,'My Project',$,$,$,$,(#14,#26),#9); +#2=IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); +#3=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#4=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#5=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#6=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#7=IFCMEASUREWITHUNIT(IFCREAL(0.0174532925199433),#6); +#8=IFCCONVERSIONBASEDUNIT(#5,.PLANEANGLEUNIT.,'degree',#7); +#9=IFCUNITASSIGNMENT((#4,#2,#8,#3)); +#10=IFCCARTESIANPOINT((0.,0.,0.)); +#11=IFCDIRECTION((0.,0.,1.)); +#12=IFCDIRECTION((1.,0.,0.)); +#13=IFCAXIS2PLACEMENT3D(#10,#11,#12); +#14=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#13,$); +#15=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$); +#16=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#14,$,.GRAPH_VIEW.,$); +#17=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Box','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$); +#18=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.SECTION_VIEW.,$); +#19=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.ELEVATION_VIEW.,$); +#20=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$); +#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Model',*,*,*,*,#14,$,.PLAN_VIEW.,$); +#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Profile','Model',*,*,*,*,#14,$,.ELEVATION_VIEW.,$); +#23=IFCCARTESIANPOINT((0.,0.)); +#24=IFCDIRECTION((1.,0.)); +#25=IFCAXIS2PLACEMENT2D(#23,#24); +#26=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Plan',2,1.E-05,#25,$); +#27=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Plan',*,*,*,*,#26,$,.GRAPH_VIEW.,$); +#28=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Plan',*,*,*,*,#26,$,.PLAN_VIEW.,$); +#29=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Plan',*,*,*,*,#26,$,.PLAN_VIEW.,$); +#30=IFCSITE('3Ps9QuwXX4eQ9YuzkHJGtZ',$,'My Site',$,$,#53,$,$,$,$,$,$,$,$); +#36=IFCBUILDING('0I_DU1o9H67gzDXCe_$X6B',$,'My Building',$,$,#59,$,$,$,$,$,$); +#42=IFCBUILDINGSTOREY('3PVQFsytj0sRoYTJzw56CN',$,'My Storey',$,$,#65,$,$,$,$); +#48=IFCRELAGGREGATES('3hNxfK6EL1KftlcQFOToy6',$,$,$,#1,(#30)); +#49=IFCCARTESIANPOINT((0.,0.,0.)); +#50=IFCDIRECTION((0.,0.,1.)); +#51=IFCDIRECTION((1.,0.,0.)); +#52=IFCAXIS2PLACEMENT3D(#49,#50,#51); +#53=IFCLOCALPLACEMENT($,#52); +#54=IFCRELAGGREGATES('3HmgitqV10cB1Xd0qufeCG',$,$,$,#30,(#36)); +#55=IFCCARTESIANPOINT((0.,0.,0.)); +#56=IFCDIRECTION((0.,0.,1.)); +#57=IFCDIRECTION((1.,0.,0.)); +#58=IFCAXIS2PLACEMENT3D(#55,#56,#57); +#59=IFCLOCALPLACEMENT(#53,#58); +#60=IFCRELAGGREGATES('3iOIshWWj5GuH8GV4PY7PE',$,$,$,#36,(#42)); +#61=IFCCARTESIANPOINT((0.,0.,0.)); +#62=IFCDIRECTION((0.,0.,1.)); +#63=IFCDIRECTION((1.,0.,0.)); +#64=IFCAXIS2PLACEMENT3D(#61,#62,#63); +#65=IFCLOCALPLACEMENT(#59,#64); +#66=IFCACTUATOR('1K0Yd6jI57yABXoIhGUJlV',$,'A',$,$,#77,$,$,.ELECTRICACTUATOR.); +#72=IFCRELCONTAINEDINSPATIALSTRUCTURE('0ISy1lxBj9Me7C0rfX$x58',$,$,$,(#66,#172,#89,#100,#124,#78,#244,#148,#268,#196,#220),#42); +#73=IFCCARTESIANPOINT((7000.,3000.,0.)); +#74=IFCDIRECTION((0.,0.,1.)); +#75=IFCDIRECTION((1.,0.,0.)); +#76=IFCAXIS2PLACEMENT3D(#73,#74,#75); +#77=IFCLOCALPLACEMENT(#65,#76); +#78=IFCACTUATOR('0tQuTGenT3MPK7sSXjQ4mw',$,'B',$,$,#88,$,$,.ELECTRICACTUATOR.); +#84=IFCCARTESIANPOINT((6000.,1000.,0.)); +#85=IFCDIRECTION((0.,0.,1.)); +#86=IFCDIRECTION((1.,0.,0.)); +#87=IFCAXIS2PLACEMENT3D(#84,#85,#86); +#88=IFCLOCALPLACEMENT(#65,#87); +#89=IFCACTUATOR('3M31$A2ln4yQSrgSw0CvvL',$,'C',$,$,#99,$,$,.ELECTRICACTUATOR.); +#95=IFCCARTESIANPOINT((0.,0.,0.)); +#96=IFCDIRECTION((0.,0.,1.)); +#97=IFCDIRECTION((1.,0.,0.)); +#98=IFCAXIS2PLACEMENT3D(#95,#96,#97); +#99=IFCLOCALPLACEMENT(#65,#98); +#100=IFCACTUATOR('0DId5LFxr40vKS6h0NQ6Pt',$,'D',$,$,#123,#118,$,.ELECTRICACTUATOR.); +#106=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#107=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#108=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#109=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#110=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#111=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#112=IFCCARTESIANPOINTLIST3D(((30999.998046875,1999.99987792969,-999.999938964844),(30999.998046875,1999.99987792969,999.999938964844),(30999.998046875,3999.99975585938,-999.999938964844),(30999.998046875,3999.99975585938,999.999938964844),(32999.99609375,1999.99987792969,-999.999938964844),(32999.99609375,1999.99987792969,999.999938964844),(32999.99609375,3999.99975585938,-999.999938964844),(32999.99609375,3999.99975585938,999.999938964844))); +#113=IFCPOLYGONALFACESET(#112,.T.,(#106,#107,#108,#109,#110,#111),$); +#114=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#113)); +#115=IFCCARTESIANPOINT((31000.,2000.,-1000.)); +#116=IFCBOUNDINGBOX(#115,2000.,2000.,2000.); +#117=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#116)); +#118=IFCPRODUCTDEFINITIONSHAPE($,$,(#117,#114)); +#119=IFCCARTESIANPOINT((-18000.,0.,0.)); +#120=IFCDIRECTION((0.,0.,1.)); +#121=IFCDIRECTION((1.,0.,0.)); +#122=IFCAXIS2PLACEMENT3D(#119,#120,#121); +#123=IFCLOCALPLACEMENT(#65,#122); +#124=IFCACTUATOR('13R$bdvVf0heFFbt22IGwL',$,'E',$,$,#147,#142,$,.ELECTRICACTUATOR.); +#130=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#131=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#132=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#133=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#134=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#135=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#136=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#137=IFCPOLYGONALFACESET(#136,.T.,(#130,#131,#132,#133,#134,#135),$); +#138=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#137)); +#139=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#140=IFCBOUNDINGBOX(#139,2000.,2000.,2000.); +#141=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#140)); +#142=IFCPRODUCTDEFINITIONSHAPE($,$,(#141,#138)); +#143=IFCCARTESIANPOINT((6000.,3000.,0.)); +#144=IFCDIRECTION((0.,0.,1.)); +#145=IFCDIRECTION((1.,0.,0.)); +#146=IFCAXIS2PLACEMENT3D(#143,#144,#145); +#147=IFCLOCALPLACEMENT(#65,#146); +#148=IFCACTUATOR('0ZSpGdYar6ueT_s2Wn1gug',$,'F',$,$,#171,#166,$,.ELECTRICACTUATOR.); +#154=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#155=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#156=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#157=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#158=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#159=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#160=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#161=IFCPOLYGONALFACESET(#160,.T.,(#154,#155,#156,#157,#158,#159),$); +#162=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#161)); +#163=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#164=IFCBOUNDINGBOX(#163,2000.,2000.,2000.); +#165=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#164)); +#166=IFCPRODUCTDEFINITIONSHAPE($,$,(#165,#162)); +#167=IFCCARTESIANPOINT((3000.,3000.,0.)); +#168=IFCDIRECTION((0.,0.,1.)); +#169=IFCDIRECTION((1.,0.,0.)); +#170=IFCAXIS2PLACEMENT3D(#167,#168,#169); +#171=IFCLOCALPLACEMENT(#65,#170); +#172=IFCACTUATOR('3RjpoTJ6v15uWoRvk50YM8',$,'G',$,$,#195,#190,$,.ELECTRICACTUATOR.); +#178=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#179=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#180=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#181=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#182=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#183=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#184=IFCCARTESIANPOINTLIST3D(((-24999.998046875,3999.99975585938,-999.999938964844),(-24999.998046875,3999.99975585938,999.999938964844),(-24999.998046875,5999.99951171875,-999.999938964844),(-24999.998046875,5999.99951171875,999.999938964844),(-22999.998046875,3999.99975585938,-999.999938964844),(-22999.998046875,3999.99975585938,999.999938964844),(-22999.998046875,5999.99951171875,-999.999938964844),(-22999.998046875,5999.99951171875,999.999938964844))); +#185=IFCPOLYGONALFACESET(#184,.T.,(#178,#179,#180,#181,#182,#183),$); +#186=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#185)); +#187=IFCCARTESIANPOINT((-25000.,4000.,-1000.)); +#188=IFCBOUNDINGBOX(#187,2000.,2000.,2000.); +#189=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#188)); +#190=IFCPRODUCTDEFINITIONSHAPE($,$,(#189,#186)); +#191=IFCCARTESIANPOINT((40000.,0.,0.)); +#192=IFCDIRECTION((0.,0.,1.)); +#193=IFCDIRECTION((1.,0.,0.)); +#194=IFCAXIS2PLACEMENT3D(#191,#192,#193); +#195=IFCLOCALPLACEMENT(#65,#194); +#196=IFCACTUATOR('0wplyZKoP0BPpAwLTj53mA',$,'H',$,$,#219,#214,$,.ELECTRICACTUATOR.); +#202=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#203=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#204=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#205=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#206=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#207=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#208=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#209=IFCPOLYGONALFACESET(#208,.T.,(#202,#203,#204,#205,#206,#207),$); +#210=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#209)); +#211=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#212=IFCBOUNDINGBOX(#211,2000.,2000.,2000.); +#213=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#212)); +#214=IFCPRODUCTDEFINITIONSHAPE($,$,(#213,#210)); +#215=IFCCARTESIANPOINT((9000.,2000.,0.)); +#216=IFCDIRECTION((0.,0.,1.)); +#217=IFCDIRECTION((1.,0.,0.)); +#218=IFCAXIS2PLACEMENT3D(#215,#216,#217); +#219=IFCLOCALPLACEMENT(#65,#218); +#220=IFCACTUATOR('1MNxogoh5069Ce10DJPnvR',$,'I',$,$,#243,#238,$,.ELECTRICACTUATOR.); +#226=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#227=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#228=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#229=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#230=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#231=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#232=IFCCARTESIANPOINTLIST3D(((2999.99975585938,2999.99975585938,-999.999938964844),(2999.99975585938,2999.99975585938,999.999938964844),(2999.99975585938,4999.99951171875,-999.999938964844),(2999.99975585938,4999.99951171875,999.999938964844),(4999.99951171875,2999.99975585938,-999.999938964844),(4999.99951171875,2999.99975585938,999.999938964844),(4999.99951171875,4999.99951171875,-999.999938964844),(4999.99951171875,4999.99951171875,999.999938964844))); +#233=IFCPOLYGONALFACESET(#232,.T.,(#226,#227,#228,#229,#230,#231),$); +#234=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#233)); +#235=IFCCARTESIANPOINT((3000.,3000.,-1000.)); +#236=IFCBOUNDINGBOX(#235,2000.,2000.,2000.); +#237=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#236)); +#238=IFCPRODUCTDEFINITIONSHAPE($,$,(#237,#234)); +#239=IFCCARTESIANPOINT((3000.,3000.,0.)); +#240=IFCDIRECTION((0.,0.,1.)); +#241=IFCDIRECTION((1.,0.,0.)); +#242=IFCAXIS2PLACEMENT3D(#239,#240,#241); +#243=IFCLOCALPLACEMENT(#65,#242); +#244=IFCACTUATOR('3RwU3xrc53lANSpF74qA__',$,'J',$,$,#267,#262,$,.ELECTRICACTUATOR.); +#250=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#251=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#252=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#253=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#254=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#255=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#256=IFCCARTESIANPOINTLIST3D(((10999.9990234375,999.999938964844,-999.999938964844),(10999.9990234375,999.999938964844,999.999938964844),(10999.9990234375,2999.99975585938,-999.999938964844),(10999.9990234375,2999.99975585938,999.999938964844),(12999.9990234375,999.999938964844,-999.999938964844),(12999.9990234375,999.999938964844,999.999938964844),(12999.9990234375,2999.99975585938,-999.999938964844),(12999.9990234375,2999.99975585938,999.999938964844))); +#257=IFCPOLYGONALFACESET(#256,.T.,(#250,#251,#252,#253,#254,#255),$); +#258=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#257)); +#259=IFCCARTESIANPOINT((11000.,1000.,-1000.)); +#260=IFCBOUNDINGBOX(#259,2000.,2000.,2000.); +#261=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#260)); +#262=IFCPRODUCTDEFINITIONSHAPE($,$,(#261,#258)); +#263=IFCCARTESIANPOINT((0.,0.,0.)); +#264=IFCDIRECTION((0.,0.,1.)); +#265=IFCDIRECTION((1.,0.,0.)); +#266=IFCAXIS2PLACEMENT3D(#263,#264,#265); +#267=IFCLOCALPLACEMENT(#65,#266); +#268=IFCACTUATOR('1WS2jsl1v6zRraJAvJamB5',$,'K',$,$,#291,#286,$,.ELECTRICACTUATOR.); +#274=IFCINDEXEDPOLYGONALFACE((1,2,4,3)); +#275=IFCINDEXEDPOLYGONALFACE((3,4,8,7)); +#276=IFCINDEXEDPOLYGONALFACE((7,8,6,5)); +#277=IFCINDEXEDPOLYGONALFACE((5,6,2,1)); +#278=IFCINDEXEDPOLYGONALFACE((3,7,5,1)); +#279=IFCINDEXEDPOLYGONALFACE((8,4,2,6)); +#280=IFCCARTESIANPOINTLIST3D(((-999.999938964844,-999.999938964844,-999.999938964844),(-999.999938964844,-999.999938964844,999.999938964844),(-999.999938964844,999.999938964844,-999.999938964844),(-999.999938964844,999.999938964844,999.999938964844),(999.999938964844,-999.999938964844,-999.999938964844),(999.999938964844,-999.999938964844,999.999938964844),(999.999938964844,999.999938964844,-999.999938964844),(999.999938964844,999.999938964844,999.999938964844))); +#281=IFCPOLYGONALFACESET(#280,.T.,(#274,#275,#276,#277,#278,#279),$); +#282=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#281)); +#283=IFCCARTESIANPOINT((-1000.,-1000.,-1000.)); +#284=IFCBOUNDINGBOX(#283,2000.,2000.,2000.); +#285=IFCSHAPEREPRESENTATION(#17,'Box','BoundingBox',(#284)); +#286=IFCPRODUCTDEFINITIONSHAPE($,$,(#285,#282)); +#287=IFCCARTESIANPOINT((10000.,0.,0.)); +#288=IFCDIRECTION((0.,0.,1.)); +#289=IFCDIRECTION((1.,0.,0.)); +#290=IFCAXIS2PLACEMENT3D(#287,#288,#289); +#291=IFCLOCALPLACEMENT(#65,#290); +ENDSEC; +END-ISO-10303-21;