From dbe84c956d3faadc6f85b6785a27f5822ed4e9af Mon Sep 17 00:00:00 2001 From: Bruno Postle Date: Thu, 12 Mar 2026 07:55:50 +0000 Subject: [PATCH] Add wall mitre connections for extension and porch walls Closes #25 --- _test_simple.ifc | 215 +++++++++++++++++++++++------------------------ 1 file changed, 106 insertions(+), 109 deletions(-) diff --git a/_test_simple.ifc b/_test_simple.ifc index b857e63..4fc0cc9 100644 --- a/_test_simple.ifc +++ b/_test_simple.ifc @@ -4138,7 +4138,7 @@ DATA; #5022=IFCWALL('1_$aWwKov0Sf7It_vDy_tx',$,'porch south wall',$,$,#5033,#5028,$,$); #5023=IFCMATERIALLAYERSETUSAGE(#142,.AXIS2.,.POSITIVE.,0.,$); #5024=IFCRELASSOCIATESMATERIAL('2pXAM9FwrFY9lC4Sz49sXz',$,$,$,(#5022),#5023); -#5028=IFCPRODUCTDEFINITIONSHAPE($,$,(#5353,#6534)); +#5028=IFCPRODUCTDEFINITIONSHAPE($,$,(#8615,#8612)); #5029=IFCCARTESIANPOINT((2.25000023841858,-1.15582501888275,0.)); #5030=IFCDIRECTION((0.,0.,1.)); #5031=IFCDIRECTION((1.,0.,0.)); @@ -4150,7 +4150,7 @@ DATA; #5047=IFCWALL('0UbGCzVSr18A81UCGbV41_',$,'porch east wall',$,$,#5058,#5053,$,$); #5048=IFCMATERIALLAYERSETUSAGE(#142,.AXIS2.,.POSITIVE.,0.,$); #5049=IFCRELASSOCIATESMATERIAL('2Gpme17vDFogEklLV7jCa0',$,$,$,(#5047),#5048); -#5053=IFCPRODUCTDEFINITIONSHAPE($,$,(#5340,#5714)); +#5053=IFCPRODUCTDEFINITIONSHAPE($,$,(#8602,#8599)); #5054=IFCCARTESIANPOINT((4.15000009536743,-1.15582501888275,0.)); #5055=IFCDIRECTION((0.,0.,1.)); #5056=IFCDIRECTION((7.54979012640433E-08,1.,0.)); @@ -4162,7 +4162,7 @@ DATA; #5072=IFCWALL('2donwy3Dr5CPaKmOIdQQcb',$,'porch north wall',$,$,#5181,#5078,$,$); #5073=IFCMATERIALLAYERSETUSAGE(#142,.AXIS2.,.POSITIVE.,0.,$); #5074=IFCRELASSOCIATESMATERIAL('3apSz7di97iBofXEAfmuJI',$,$,$,(#5072),#5073); -#5078=IFCPRODUCTDEFINITIONSHAPE($,$,(#5366,#6517)); +#5078=IFCPRODUCTDEFINITIONSHAPE($,$,(#8628,#8625)); #5094=IFCPROPERTYSET('20$m9HA010xfEFnKAwwHBu',$,'EPset_Parametric',$,(#5096)); #5095=IFCRELDEFINESBYPROPERTIES('1cdFWS8Er9b8kFsrQJ0Aq0',$,$,$,(#5072),#5094); #5096=IFCPROPERTYSINGLEVALUE('Engine',$,IFCLABEL('Bonsai.DumbLayer2'),$); @@ -4242,15 +4242,6 @@ DATA; #5325=IFCCARTESIANPOINTLIST2D(((4.,2.48379707336426),(4.,0.),(1.79999983310699,-6.95529962513319E-08),(1.79999983310699,2.48379707336426))); #5326=IFCINDEXEDPOLYCURVE(#5325,$,$); #5327=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#5326); -#5338=IFCCARTESIANPOINTLIST2D(((0.,0.),(2.20000004768375,0.))); -#5339=IFCINDEXEDPOLYCURVE(#5338,$,$); -#5340=IFCSHAPEREPRESENTATION(#23,'Axis','Curve2D',(#5339)); -#5351=IFCCARTESIANPOINTLIST2D(((0.,0.),(1.89999985694885,0.))); -#5352=IFCINDEXEDPOLYCURVE(#5351,$,$); -#5353=IFCSHAPEREPRESENTATION(#23,'Axis','Curve2D',(#5352)); -#5364=IFCCARTESIANPOINTLIST2D(((0.,0.),(1.90000026397249,0.))); -#5365=IFCINDEXEDPOLYCURVE(#5364,$,$); -#5366=IFCSHAPEREPRESENTATION(#23,'Axis','Curve2D',(#5365)); #5367=IFCCARTESIANPOINT((4.15000057220459,-2.95582485198975,2.38424110412598)); #5368=IFCDIRECTION((0.419069111347198,1.83180937085581E-08,0.907954335212708)); #5369=IFCDIRECTION((-4.37113882867379E-08,1.,0.)); @@ -4410,16 +4401,6 @@ DATA; #5702=IFCDIRECTION((0.,1.,0.)); #5703=IFCAXIS2PLACEMENT3D(#5700,#5701,#5702); #5704=IFCLOCALPLACEMENT(#92,#5703); -#5705=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.,0.33),(2.2,0.33),(2.2,0.),(0.,0.))); -#5706=IFCINDEXEDPOLYCURVE(#5705,$,.F.); -#5707=IFCDIRECTION((0.,0.,1.)); -#5708=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#5706); -#5709=IFCCARTESIANPOINT((0.,0.,0.)); -#5710=IFCDIRECTION((0.,0.,1.)); -#5711=IFCDIRECTION((1.,0.,0.)); -#5712=IFCAXIS2PLACEMENT3D(#5709,#5710,#5711); -#5713=IFCEXTRUDEDAREASOLID(#5708,#5712,#5707,2.384); -#5714=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#5713)); #5735=IFCPROPERTYSINGLEVALUE('OverallHeight',$,IFCREAL(0.995),$); #5736=IFCPROPERTYSINGLEVALUE('OverallWidth',$,IFCREAL(0.625),$); #5737=IFCPROPERTYSET('0DJLScEs53MwbL_Z4FP0x2',$,'EPset_Opening',$,(#5735,#5736)); @@ -4588,22 +4569,12 @@ DATA; #5960=IFCMAPPEDITEM(#5873,#5959); #5961=IFCSHAPEREPRESENTATION(#11,'Body','MappedRepresentation',(#5960)); #5962=IFCPRODUCTDEFINITIONSHAPE($,$,(#5961)); -#5963=IFCWALL('09HorAnUL0OQlDqI_PTE63',$,'extension south wall',$,$,#8321,#8313,$,$); +#5963=IFCWALL('09HorAnUL0OQlDqI_PTE63',$,'extension south wall',$,$,#8659,#8313,$,$); #5964=IFCWALL('3qcGaF0Yr4V9BffHarUr5$',$,'extension west wall',$,$,#8266,#6019,$,$); #5965=IFCWALL('0tED2GeYz9XwxeQcd9Fn49',$,'extension east wall',$,$,#8336,#8314,$,$); #5966=IFCWALL('2d1hv_$YX1kwDVs$GFNVtK',$,'service partition',$,$,#8476,#8471,$,$); #5967=IFCWALL('1PaLULQ852m8y5R7mXVEHR',$,'wc-kitchen divider',$,$,#7114,#8316,$,$); -#5978=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.,0.33),(4.,0.33),(4.,0.),(0.,0.))); -#5979=IFCINDEXEDPOLYCURVE(#5978,$,.F.); -#5980=IFCDIRECTION((0.,0.,1.)); -#5981=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#5979); -#5982=IFCCARTESIANPOINT((0.,0.,0.)); -#5983=IFCDIRECTION((0.,0.,1.)); -#5984=IFCDIRECTION((1.,0.,0.)); -#5985=IFCAXIS2PLACEMENT3D(#5982,#5983,#5984); -#5986=IFCEXTRUDEDAREASOLID(#5981,#5985,#5980,2.5); -#5987=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#5986)); -#6019=IFCPRODUCTDEFINITIONSHAPE($,$,(#5987)); +#6019=IFCPRODUCTDEFINITIONSHAPE($,$,(#8679,#8682)); #6073=IFCMATERIALLAYERSETUSAGE(#142,.AXIS2.,.POSITIVE.,0.,$); #6074=IFCRELASSOCIATESMATERIAL('0LY10ooOn5GPMHfHRpxqiK',$,$,$,(#5964,#5965,#5963),#6073); #6075=IFCOPENINGELEMENT('3V8ZCx7M9EbeKjZ3Gq3b0s',$,'service lobby door opening',$,$,#6177,#6160,$,$); @@ -4662,44 +4633,10 @@ DATA; #6459=IFCMAPPEDITEM(#4665,#6458); #6460=IFCSHAPEREPRESENTATION(#11,'Body','MappedRepresentation',(#6459)); #6461=IFCPRODUCTDEFINITIONSHAPE($,$,(#6460)); -#6501=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.,0.33),(1.9,0.33),(1.9,0.),(0.,0.))); -#6502=IFCINDEXEDPOLYCURVE(#6501,$,.F.); -#6503=IFCDIRECTION((0.,0.,1.)); -#6504=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#6502); -#6505=IFCCARTESIANPOINT((0.,0.,0.)); -#6506=IFCDIRECTION((0.,0.,1.)); -#6507=IFCDIRECTION((1.,0.,0.)); -#6508=IFCAXIS2PLACEMENT3D(#6505,#6506,#6507); -#6509=IFCEXTRUDEDAREASOLID(#6504,#6508,#6503,3.5); -#6510=IFCCARTESIANPOINT((0.,0.,2.384)); -#6511=IFCDIRECTION((-0.419,0.,0.908)); -#6512=IFCDIRECTION((0.,-1.,0.)); -#6513=IFCAXIS2PLACEMENT3D(#6510,#6511,#6512); -#6514=IFCPLANE(#6513); -#6515=IFCHALFSPACESOLID(#6514,.F.); -#6516=IFCBOOLEANCLIPPINGRESULT(.DIFFERENCE.,#6509,#6515); -#6517=IFCSHAPEREPRESENTATION(#11,'Body','Clipping',(#6516)); -#6518=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.,0.33),(1.9,0.33),(1.9,0.),(0.,0.))); -#6519=IFCINDEXEDPOLYCURVE(#6518,$,.F.); -#6520=IFCDIRECTION((0.,0.,1.)); -#6521=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#6519); -#6522=IFCCARTESIANPOINT((0.,0.,0.)); -#6523=IFCDIRECTION((0.,0.,1.)); -#6524=IFCDIRECTION((1.,0.,0.)); -#6525=IFCAXIS2PLACEMENT3D(#6522,#6523,#6524); -#6526=IFCEXTRUDEDAREASOLID(#6521,#6525,#6520,3.5); -#6527=IFCCARTESIANPOINT((0.,0.,3.26)); -#6528=IFCDIRECTION((0.419,0.,0.908)); -#6529=IFCDIRECTION((0.,1.,-0.)); -#6530=IFCAXIS2PLACEMENT3D(#6527,#6528,#6529); -#6531=IFCPLANE(#6530); -#6532=IFCHALFSPACESOLID(#6531,.F.); -#6533=IFCBOOLEANCLIPPINGRESULT(.DIFFERENCE.,#6526,#6532); -#6534=IFCSHAPEREPRESENTATION(#11,'Body','Clipping',(#6533)); #6535=IFCOPENINGELEMENT('3XCVGMKkLCDBw_cj6UfBkX',$,'wc west window opening',$,$,#8522,#8517,$,.OPENING.); -#6536=IFCOPENINGELEMENT('3Um_AZAh19VwS2QVi$vxVC',$,'wc south window opening',$,$,#8351,#6580,$,.OPENING.); +#6536=IFCOPENINGELEMENT('3Um_AZAh19VwS2QVi$vxVC',$,'wc south window opening',$,$,#8664,#6580,$,.OPENING.); #6537=IFCOPENINGELEMENT('0eEGfmac97Pw2r_1OHXmAZ',$,'kitchenette east window opening',$,$,#8532,#6581,$,.OPENING.); -#6538=IFCOPENINGELEMENT('3ptm7A8Yb0K8zWa9TWO1JY',$,'kitchenette south window opening',$,$,#8366,#6582,$,.OPENING.); +#6538=IFCOPENINGELEMENT('3ptm7A8Yb0K8zWa9TWO1JY',$,'kitchenette south window opening',$,$,#8669,#6582,$,.OPENING.); #6549=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.,0.5),(0.625,0.5),(0.625,0.),(0.,0.))); #6550=IFCINDEXEDPOLYCURVE(#6549,$,.F.); #6551=IFCDIRECTION((0.,0.,1.)); @@ -5833,26 +5770,6 @@ DATA; #8264=IFCDIRECTION((0.233915656805038,-0.972256898880005,0.)); #8265=IFCAXIS2PLACEMENT3D(#8262,#8263,#8264); #8266=IFCLOCALPLACEMENT(#92,#8265); -#8277=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.,0.33),(3.261,0.33),(3.261,0.),(0.,0.))); -#8278=IFCINDEXEDPOLYCURVE(#8277,$,.F.); -#8279=IFCDIRECTION((0.,0.,1.)); -#8280=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#8278); -#8281=IFCCARTESIANPOINT((0.,0.,0.)); -#8282=IFCDIRECTION((0.,0.,1.)); -#8283=IFCDIRECTION((1.,0.,0.)); -#8284=IFCAXIS2PLACEMENT3D(#8281,#8282,#8283); -#8285=IFCEXTRUDEDAREASOLID(#8280,#8284,#8279,2.5); -#8286=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#8285)); -#8287=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.,0.33),(4.139,0.33),(4.139,0.),(0.,0.))); -#8288=IFCINDEXEDPOLYCURVE(#8287,$,.F.); -#8289=IFCDIRECTION((0.,0.,1.)); -#8290=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#8288); -#8291=IFCCARTESIANPOINT((0.,0.,0.)); -#8292=IFCDIRECTION((0.,0.,1.)); -#8293=IFCDIRECTION((1.,0.,0.)); -#8294=IFCAXIS2PLACEMENT3D(#8291,#8292,#8293); -#8295=IFCEXTRUDEDAREASOLID(#8290,#8294,#8289,2.5); -#8296=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#8295)); #8297=IFCCARTESIANPOINTLIST2D(((0.,0.),(3.261,0.),(3.261,4.139),(-0.936,3.889))); #8298=IFCINDEXEDPOLYCURVE(#8297,$,$); #8299=IFCDIRECTION((0.,0.,1.)); @@ -5869,15 +5786,10 @@ DATA; #8310=IFCAXIS2PLACEMENT3D(#8307,#8308,#8309); #8311=IFCEXTRUDEDAREASOLID(#8306,#8310,#8305,2.5); #8312=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#8311)); -#8313=IFCPRODUCTDEFINITIONSHAPE($,$,(#8286)); -#8314=IFCPRODUCTDEFINITIONSHAPE($,$,(#8296)); +#8313=IFCPRODUCTDEFINITIONSHAPE($,$,(#8651,#8654)); +#8314=IFCPRODUCTDEFINITIONSHAPE($,$,(#8692,#8695)); #8315=IFCPRODUCTDEFINITIONSHAPE($,$,(#8302)); #8316=IFCPRODUCTDEFINITIONSHAPE($,$,(#8312)); -#8317=IFCCARTESIANPOINT((-1.261,-7.139,0.)); -#8318=IFCDIRECTION((0.,0.,1.)); -#8319=IFCDIRECTION((1.,0.,0.)); -#8320=IFCAXIS2PLACEMENT3D(#8317,#8318,#8319); -#8321=IFCLOCALPLACEMENT(#92,#8320); #8332=IFCCARTESIANPOINT((2.,-7.139,0.)); #8333=IFCDIRECTION((0.,0.,1.)); #8334=IFCDIRECTION((0.,1.,0.)); @@ -5888,26 +5800,16 @@ DATA; #8344=IFCDIRECTION((1.,0.,0.)); #8345=IFCAXIS2PLACEMENT3D(#8342,#8343,#8344); #8346=IFCLOCALPLACEMENT(#92,#8345); -#8347=IFCCARTESIANPOINT((0.636,0.,0.9)); -#8348=IFCDIRECTION((0.,0.,1.)); -#8349=IFCDIRECTION((1.,0.,0.)); -#8350=IFCAXIS2PLACEMENT3D(#8347,#8348,#8349); -#8351=IFCLOCALPLACEMENT(#8321,#8350); #8357=IFCCARTESIANPOINT((0.,0.,0.)); #8358=IFCDIRECTION((0.,0.,1.)); #8359=IFCDIRECTION((1.,0.,0.)); #8360=IFCAXIS2PLACEMENT3D(#8357,#8358,#8359); -#8361=IFCLOCALPLACEMENT(#8351,#8360); -#8362=IFCCARTESIANPOINT((1.9485,0.,0.9)); -#8363=IFCDIRECTION((0.,0.,1.)); -#8364=IFCDIRECTION((1.,0.,0.)); -#8365=IFCAXIS2PLACEMENT3D(#8362,#8363,#8364); -#8366=IFCLOCALPLACEMENT(#8321,#8365); +#8361=IFCLOCALPLACEMENT(#8664,#8360); #8372=IFCCARTESIANPOINT((0.,0.,0.)); #8373=IFCDIRECTION((0.,0.,1.)); #8374=IFCDIRECTION((1.,0.,0.)); #8375=IFCAXIS2PLACEMENT3D(#8372,#8373,#8374); -#8376=IFCLOCALPLACEMENT(#8366,#8375); +#8376=IFCLOCALPLACEMENT(#8669,#8375); #8377=IFCCARTESIANPOINT((0.,0.)); #8378=IFCAXIS2PLACEMENT2D(#8377,$); #8379=IFCCIRCLE(#8378,0.03); @@ -6085,5 +5987,100 @@ DATA; #8587=IFCDIRECTION((1.,0.,0.)); #8588=IFCAXIS2PLACEMENT3D(#8585,#8586,#8587); #8589=IFCLOCALPLACEMENT(#8579,#8588); +#8590=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.329999975085694,0.33),(1.86999997294082,0.33),(2.20000004768375,0.))); +#8591=IFCINDEXEDPOLYCURVE(#8590,(IFCLINEINDEX((1,2,3,4,1))),$); +#8592=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#8591); +#8593=IFCCARTESIANPOINT((0.,0.,0.)); +#8594=IFCDIRECTION((0.,0.,1.)); +#8595=IFCDIRECTION((1.,0.,0.)); +#8596=IFCAXIS2PLACEMENT3D(#8593,#8594,#8595); +#8597=IFCDIRECTION((0.,0.,1.)); +#8598=IFCEXTRUDEDAREASOLID(#8592,#8596,#8597,2.384); +#8599=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#8598)); +#8600=IFCCARTESIANPOINTLIST2D(((0.,0.),(2.20000004768375,0.))); +#8601=IFCINDEXEDPOLYCURVE(#8600,$,$); +#8602=IFCSHAPEREPRESENTATION(#23,'Axis','Curve2D',(#8601)); +#8603=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.,0.33),(1.56999988186316,0.33),(1.89999985694885,0.))); +#8604=IFCINDEXEDPOLYCURVE(#8603,(IFCLINEINDEX((1,2,3,4,1))),$); +#8605=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#8604); +#8606=IFCCARTESIANPOINT((0.,0.,0.)); +#8607=IFCDIRECTION((0.,0.,1.)); +#8608=IFCDIRECTION((1.,0.,0.)); +#8609=IFCAXIS2PLACEMENT3D(#8606,#8607,#8608); +#8610=IFCDIRECTION((0.,0.,1.)); +#8611=IFCEXTRUDEDAREASOLID(#8605,#8609,#8610,3.5); +#8612=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#8611)); +#8613=IFCCARTESIANPOINTLIST2D(((0.,0.),(1.89999985694885,0.))); +#8614=IFCINDEXEDPOLYCURVE(#8613,$,$); +#8615=IFCSHAPEREPRESENTATION(#23,'Axis','Curve2D',(#8614)); +#8616=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.330000074742931,0.33),(1.90000026397249,0.33),(1.90000026397249,0.))); +#8617=IFCINDEXEDPOLYCURVE(#8616,(IFCLINEINDEX((1,2,3,4,1))),$); +#8618=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#8617); +#8619=IFCCARTESIANPOINT((0.,0.,0.)); +#8620=IFCDIRECTION((0.,0.,1.)); +#8621=IFCDIRECTION((1.,0.,0.)); +#8622=IFCAXIS2PLACEMENT3D(#8619,#8620,#8621); +#8623=IFCDIRECTION((0.,0.,1.)); +#8624=IFCEXTRUDEDAREASOLID(#8618,#8622,#8623,3.5); +#8625=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#8624)); +#8626=IFCCARTESIANPOINTLIST2D(((0.,0.),(1.90000026397249,0.))); +#8627=IFCINDEXEDPOLYCURVE(#8626,$,$); +#8628=IFCSHAPEREPRESENTATION(#23,'Axis','Curve2D',(#8627)); +#8640=IFCRELCONNECTSPATHELEMENTS('0k24yg3PT6bfG3Q3TzcXSJ',$,$,$,$,#5964,#5963,(),(),.ATSTART.,.ATEND.); +#8641=IFCRELCONNECTSPATHELEMENTS('0ycIYAidLB7hPhLew7HiLJ',$,$,$,$,#5965,#5963,(),(),.ATEND.,.ATSTART.); +#8642=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.260021641926202,0.33),(2.93133021042179,0.33),(3.26133021042179,0.))); +#8643=IFCINDEXEDPOLYCURVE(#8642,(IFCLINEINDEX((1,2,3,4,1))),$); +#8644=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#8643); +#8645=IFCCARTESIANPOINT((0.,0.,0.)); +#8646=IFCDIRECTION((0.,0.,1.)); +#8647=IFCDIRECTION((1.,0.,0.)); +#8648=IFCAXIS2PLACEMENT3D(#8645,#8646,#8647); +#8649=IFCDIRECTION((0.,0.,1.)); +#8650=IFCEXTRUDEDAREASOLID(#8644,#8648,#8649,2.5); +#8651=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#8650)); +#8652=IFCCARTESIANPOINTLIST2D(((0.,0.),(3.26133021042179,0.))); +#8653=IFCINDEXEDPOLYCURVE(#8652,$,$); +#8654=IFCSHAPEREPRESENTATION(#23,'Axis','Curve2D',(#8653)); +#8655=IFCCARTESIANPOINT((-1.26133021042179,-7.139,0.)); +#8656=IFCDIRECTION((0.,0.,1.)); +#8657=IFCDIRECTION((1.,0.,0.)); +#8658=IFCAXIS2PLACEMENT3D(#8655,#8656,#8657); +#8659=IFCLOCALPLACEMENT(#92,#8658); +#8660=IFCCARTESIANPOINT((0.636330210421787,0.,0.9)); +#8661=IFCDIRECTION((0.,0.,1.)); +#8662=IFCDIRECTION((1.,0.,0.)); +#8663=IFCAXIS2PLACEMENT3D(#8660,#8661,#8662); +#8664=IFCLOCALPLACEMENT(#8659,#8663); +#8665=IFCCARTESIANPOINT((1.94883021042179,0.,0.9)); +#8666=IFCDIRECTION((0.,0.,1.)); +#8667=IFCDIRECTION((1.,0.,0.)); +#8668=IFCAXIS2PLACEMENT3D(#8665,#8666,#8667); +#8669=IFCLOCALPLACEMENT(#8659,#8668); +#8670=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.,0.33),(3.73994999895912,0.33),(3.99997164088532,0.))); +#8671=IFCINDEXEDPOLYCURVE(#8670,(IFCLINEINDEX((1,2,3,4,1))),$); +#8672=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#8671); +#8673=IFCCARTESIANPOINT((0.,0.,0.)); +#8674=IFCDIRECTION((0.,0.,1.)); +#8675=IFCDIRECTION((1.,0.,0.)); +#8676=IFCAXIS2PLACEMENT3D(#8673,#8674,#8675); +#8677=IFCDIRECTION((0.,0.,1.)); +#8678=IFCEXTRUDEDAREASOLID(#8672,#8676,#8677,2.5); +#8679=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#8678)); +#8680=IFCCARTESIANPOINTLIST2D(((0.,0.),(3.99997164088532,0.))); +#8681=IFCINDEXEDPOLYCURVE(#8680,$,$); +#8682=IFCSHAPEREPRESENTATION(#23,'Axis','Curve2D',(#8681)); +#8683=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.33,0.33),(4.139,0.33),(4.139,0.))); +#8684=IFCINDEXEDPOLYCURVE(#8683,(IFCLINEINDEX((1,2,3,4,1))),$); +#8685=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#8684); +#8686=IFCCARTESIANPOINT((0.,0.,0.)); +#8687=IFCDIRECTION((0.,0.,1.)); +#8688=IFCDIRECTION((1.,0.,0.)); +#8689=IFCAXIS2PLACEMENT3D(#8686,#8687,#8688); +#8690=IFCDIRECTION((0.,0.,1.)); +#8691=IFCEXTRUDEDAREASOLID(#8685,#8689,#8690,2.5); +#8692=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#8691)); +#8693=IFCCARTESIANPOINTLIST2D(((0.,0.),(4.139,0.))); +#8694=IFCINDEXEDPOLYCURVE(#8693,$,$); +#8695=IFCSHAPEREPRESENTATION(#23,'Axis','Curve2D',(#8694)); ENDSEC; END-ISO-10303-21;