Fix porch wall lean: replace x_angle with half-space clipping (issue #19)

This commit is contained in:
Bruno Postle 2026-03-01 17:09:33 +00:00
parent bf248c61e4
commit d230c9c410

View file

@ -4198,7 +4198,7 @@ DATA;
#5022=IFCWALL('1_$aWwKov0Sf7It_vDy_tx',$,'porch south wall',$,$,#5033,#5028,$,$); #5022=IFCWALL('1_$aWwKov0Sf7It_vDy_tx',$,'porch south wall',$,$,#5033,#5028,$,$);
#5023=IFCMATERIALLAYERSETUSAGE(#142,.AXIS2.,.POSITIVE.,0.,$); #5023=IFCMATERIALLAYERSETUSAGE(#142,.AXIS2.,.POSITIVE.,0.,$);
#5024=IFCRELASSOCIATESMATERIAL('2pXAM9FwrFY9lC4Sz49sXz',$,$,$,(#5022),#5023); #5024=IFCRELASSOCIATESMATERIAL('2pXAM9FwrFY9lC4Sz49sXz',$,$,$,(#5022),#5023);
#5028=IFCPRODUCTDEFINITIONSHAPE($,$,(#5353,#5734)); #5028=IFCPRODUCTDEFINITIONSHAPE($,$,(#5353,#6534));
#5029=IFCCARTESIANPOINT((2.25000023841858,-1.15582501888275,0.)); #5029=IFCCARTESIANPOINT((2.25000023841858,-1.15582501888275,0.));
#5030=IFCDIRECTION((0.,0.,1.)); #5030=IFCDIRECTION((0.,0.,1.));
#5031=IFCDIRECTION((1.,0.,0.)); #5031=IFCDIRECTION((1.,0.,0.));
@ -4222,7 +4222,7 @@ DATA;
#5072=IFCWALL('2donwy3Dr5CPaKmOIdQQcb',$,'porch north wall',$,$,#5181,#5078,$,$); #5072=IFCWALL('2donwy3Dr5CPaKmOIdQQcb',$,'porch north wall',$,$,#5181,#5078,$,$);
#5073=IFCMATERIALLAYERSETUSAGE(#142,.AXIS2.,.POSITIVE.,0.,$); #5073=IFCMATERIALLAYERSETUSAGE(#142,.AXIS2.,.POSITIVE.,0.,$);
#5074=IFCRELASSOCIATESMATERIAL('3apSz7di97iBofXEAfmuJI',$,$,$,(#5072),#5073); #5074=IFCRELASSOCIATESMATERIAL('3apSz7di97iBofXEAfmuJI',$,$,$,(#5072),#5073);
#5078=IFCPRODUCTDEFINITIONSHAPE($,$,(#5366,#5724)); #5078=IFCPRODUCTDEFINITIONSHAPE($,$,(#5366,#6517));
#5094=IFCPROPERTYSET('20$m9HA010xfEFnKAwwHBu',$,'EPset_Parametric',$,(#5096)); #5094=IFCPROPERTYSET('20$m9HA010xfEFnKAwwHBu',$,'EPset_Parametric',$,(#5096));
#5095=IFCRELDEFINESBYPROPERTIES('1cdFWS8Er9b8kFsrQJ0Aq0',$,$,$,(#5072),#5094); #5095=IFCRELDEFINESBYPROPERTIES('1cdFWS8Er9b8kFsrQJ0Aq0',$,$,$,(#5072),#5094);
#5096=IFCPROPERTYSINGLEVALUE('Engine',$,IFCLABEL('Bonsai.DumbLayer2'),$); #5096=IFCPROPERTYSINGLEVALUE('Engine',$,IFCLABEL('Bonsai.DumbLayer2'),$);
@ -4490,26 +4490,6 @@ DATA;
#5712=IFCAXIS2PLACEMENT3D(#5709,#5710,#5711); #5712=IFCAXIS2PLACEMENT3D(#5709,#5710,#5711);
#5713=IFCEXTRUDEDAREASOLID(#5708,#5712,#5707,2.384); #5713=IFCEXTRUDEDAREASOLID(#5708,#5712,#5707,2.384);
#5714=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#5713)); #5714=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#5713));
#5715=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.,0.363216743451473),(1.9,0.363216743451473),(1.9,0.),(0.,0.)));
#5716=IFCINDEXEDPOLYCURVE(#5715,$,.F.);
#5717=IFCDIRECTION((0.,0.417779559592008,0.908548424459097));
#5718=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#5716);
#5719=IFCCARTESIANPOINT((0.,0.,0.));
#5720=IFCDIRECTION((0.,0.,1.));
#5721=IFCDIRECTION((1.,0.,0.));
#5722=IFCAXIS2PLACEMENT3D(#5719,#5720,#5721);
#5723=IFCEXTRUDEDAREASOLID(#5718,#5722,#5717,2.62396580723731);
#5724=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#5723));
#5725=IFCCARTESIANPOINTLIST2D(((0.,0.),(0.,0.363216743451473),(1.9,0.363216743451473),(1.9,0.),(0.,0.)));
#5726=IFCINDEXEDPOLYCURVE(#5725,$,.F.);
#5727=IFCDIRECTION((0.,-0.417779559592008,0.908548424459097));
#5728=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#5726);
#5729=IFCCARTESIANPOINT((0.,0.,0.));
#5730=IFCDIRECTION((0.,0.,1.));
#5731=IFCDIRECTION((1.,0.,0.));
#5732=IFCAXIS2PLACEMENT3D(#5729,#5730,#5731);
#5733=IFCEXTRUDEDAREASOLID(#5728,#5732,#5727,3.58814116258122);
#5734=IFCSHAPEREPRESENTATION(#11,'Body','SweptSolid',(#5733));
#5735=IFCPROPERTYSINGLEVALUE('OverallHeight',$,IFCREAL(0.995),$); #5735=IFCPROPERTYSINGLEVALUE('OverallHeight',$,IFCREAL(0.995),$);
#5736=IFCPROPERTYSINGLEVALUE('OverallWidth',$,IFCREAL(0.625),$); #5736=IFCPROPERTYSINGLEVALUE('OverallWidth',$,IFCREAL(0.625),$);
#5737=IFCPROPERTYSET('0DJLScEs53MwbL_Z4FP0x2',$,'EPset_Opening',$,(#5735,#5736)); #5737=IFCPROPERTYSET('0DJLScEs53MwbL_Z4FP0x2',$,'EPset_Opening',$,(#5735,#5736));
@ -4900,5 +4880,39 @@ DATA;
#6464=IFCDIRECTION((1.,0.,0.)); #6464=IFCDIRECTION((1.,0.,0.));
#6465=IFCAXIS2PLACEMENT3D(#6462,#6463,#6464); #6465=IFCAXIS2PLACEMENT3D(#6462,#6463,#6464);
#6466=IFCLOCALPLACEMENT($,#6465); #6466=IFCLOCALPLACEMENT($,#6465);
#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));
ENDSEC; ENDSEC;
END-ISO-10303-21; END-ISO-10303-21;