diff --git a/src/blenderbim/blenderbim/bim/data/libraries/IFC4 AU Library.ifc b/src/blenderbim/blenderbim/bim/data/libraries/IFC4 AU Library.ifc index 5d15fe5158..e5d2e3e6fb 100644 --- a/src/blenderbim/blenderbim/bim/data/libraries/IFC4 AU Library.ifc +++ b/src/blenderbim/blenderbim/bim/data/libraries/IFC4 AU Library.ifc @@ -1,7 +1,7 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition[DesignTransferView]'),'2;1'); -FILE_NAME('/dev/null','2023-04-03T19:29:45+05:00',(),(),'IfcOpenShell v0.7.0-476ab506d','IfcOpenShell v0.7.0-476ab506d','Nobody'); +FILE_NAME('/dev/null','2023-04-14T19:01:34+05:00',(),(),'IfcOpenShell v0.7.0-476ab506d','IfcOpenShell v0.7.0-476ab506d','Nobody'); FILE_SCHEMA(('IFC4')); ENDSEC; DATA; @@ -45,7 +45,7 @@ DATA; #38=IFCDIRECTION((0.,0.,1.)); #39=IFCAXIS2PLACEMENT3D(#36,#38,#37); #40=IFCREPRESENTATIONMAP(#39,#29); -#41=IFCRELDECLARES('0Dz4P9itjCTflpwPRPDUNo',$,$,$,#2,(#9354,#10932,#8663,#2058,#8742,#11460,#9235,#11964,#11196,#11724,#10956,#4758,#10628,#4362,#10256,#10016,#10392,#11052,#11028,#9516,#10328,#11556,#11796,#10088,#9465,#12060,#474,#450,#9980,#289,#10352,#10724,#9071,#11652,#8538,#10884,#1638,#11388,#12132,#4026,#161,#9942,#11148,#11892,#10052,#11916,#10490,#10208,#10184,#8916,#1338,#57,#11988,#9618,#11220,#6666,#9391,#10980,#10280,#10652,#11748,#9567,#255,#7542,#11484,#12228,#12252,#30,#9831,#11292,#11076,#11820,#10136,#10112,#8800,#12324,#10812,#11340,#11316,#498,#12084,#11844,#10748,#12180,#11412,#12156,#11940,#10778,#11172,#10232,#11676,#12204,#187,#3378,#3750,#8887,#11268,#11244,#12012,#10304,#9153,#10676,#83,#12276,#11508,#10700,#558,#362,#11604,#10836,#11580,#10530,#5910,#11364,#12108,#12348,#8998,#8771,#1158,#9317,#10908,#11436,#10441,#11700,#858,#3534,#9428,#10579,#213,#11772,#11004,#12300,#11532,#8858,#8829,#12036,#426,#109,#135,#11100,#2598,#10860,#9720,#11628,#9669,#8595,#11124,#5274,#11868,#10160)); +#41=IFCRELDECLARES('2HGKNieKzFiuYnoNmsU6yU',$,$,$,#2,(#9317,#10908,#11436,#12180,#11412,#11940,#10778,#10232,#11676,#12204,#3378,#3750,#8887,#3534,#9428,#10579,#11268,#213,#11772,#11004,#12300,#11532,#12276,#426,#109,#558,#135,#11604,#10836,#10530,#5910,#11364,#8595,#8771,#11868,#5274,#1158,#10160,#10932,#8663,#2058,#11460,#9235,#10441,#11196,#10956,#4362,#858,#10628,#11700,#10392,#11796,#11028,#9516,#10328,#11556,#8858,#10088,#9465,#8829,#12060,#12036,#450,#10724,#9071,#11100,#2598,#10860,#9720,#10884,#11628,#9669,#12132,#161,#11892,#11124,#10490,#10184,#8916,#9354,#8742,#57,#9618,#11220,#11964,#6666,#10980,#4758,#10652,#10256,#11724,#9567,#11748,#10016,#7542,#12228,#9831,#11292,#11820,#11052,#10112,#12084,#11316,#474,#11844,#10748,#10352,#9980,#289,#11652,#8538,#1638,#12156,#11388,#4026,#9942,#11148,#11172,#11916,#10052,#10208,#1338,#187,#12012,#11244,#11988,#9391,#10304,#10280,#9153,#10676,#255,#83,#11508,#11484,#12252,#30,#10700,#11076,#362,#10136,#8800,#12348,#11580,#10812,#12324,#12108,#11340,#498,#8998)); #42=IFCCARTESIANPOINTLIST2D(((0.,0.),(920.,0.),(920.,1880.),(0.,1880.))); #43=IFCINDEXEDPOLYCURVE(#42,(IFCLINEINDEX((1,2)),IFCLINEINDEX((2,3)),IFCLINEINDEX((3,4)),IFCLINEINDEX((4,1))),$); #44=IFCCARTESIANPOINTLIST2D(((0.,1598.),(184.,1598.),(184.,1880.),(184.,1598.),(644.,1598.),(736.,1559.89235226168),(736.,1880.),(736.,1559.89235226168),(920.,1483.67705678503))); @@ -8964,8 +8964,8 @@ DATA; #8957=IFCCARTESIANPOINT((34.375,-452.)); #8958=IFCTRIMMEDCURVE(#8955,(#8956),(#8957),.T.,.CARTESIAN.); #8959=IFCSHAPEREPRESENTATION(#16,'Body','Curve2D',(#8932,#8936,#8943,#8944,#8949,#8951,#8958)); -#8960=IFCCARTESIANPOINTLIST2D(((-275.,-200.),(50.,-200.),(209.099029541016,-265.900970458984),(275.,-425.),(209.099029541016,-584.098999023438),(50.,-650.),(-275.,-650.))); -#8961=IFCINDEXEDPOLYCURVE(#8960,(IFCLINEINDEX((1,2)),IFCARCINDEX((2,3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCLINEINDEX((1,7))),$); +#8960=IFCCARTESIANPOINTLIST2D(((-275.,-200.),(275.,-200.),(275.,-425.),(209.099029541016,-584.098999023438),(50.,-650.),(-50.,-650.),(-209.099029541016,-584.098999023438),(-275.,-425.))); +#8961=IFCINDEXEDPOLYCURVE(#8960,(IFCLINEINDEX((1,2)),IFCLINEINDEX((2,3)),IFCARCINDEX((3,4,5)),IFCLINEINDEX((5,6)),IFCARCINDEX((6,7,8)),IFCLINEINDEX((1,8))),$); #8962=IFCCARTESIANPOINT((0.,-425.)); #8963=IFCAXIS2PLACEMENT2D(#8962,$); #8964=IFCCIRCLE(#8963,168.75); @@ -8976,8 +8976,8 @@ DATA; #8969=IFCAXIS2PLACEMENT3D(#8966,#8967,#8968); #8970=IFCDIRECTION((0.,0.,1.)); #8971=IFCEXTRUDEDAREASOLID(#8965,#8969,#8970,150.); -#8972=IFCINDEXEDPOLYCURVE(#8973,(IFCLINEINDEX((1,2)),IFCARCINDEX((2,3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCLINEINDEX((1,7))),$); -#8973=IFCCARTESIANPOINTLIST2D(((-275.,-200.),(50.,-200.),(209.099029541016,-265.900970458984),(275.,-425.),(209.099029541016,-584.098999023438),(50.,-650.),(-275.,-650.))); +#8972=IFCINDEXEDPOLYCURVE(#8973,(IFCLINEINDEX((1,2)),IFCLINEINDEX((2,3)),IFCARCINDEX((3,4,5)),IFCLINEINDEX((5,6)),IFCARCINDEX((6,7,8)),IFCLINEINDEX((1,8))),$); +#8973=IFCCARTESIANPOINTLIST2D(((-275.,-200.),(275.,-200.),(275.,-425.),(209.099029541016,-584.098999023438),(50.,-650.),(-50.,-650.),(-209.099029541016,-584.098999023438),(-275.,-425.))); #8974=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#8972); #8975=IFCCARTESIANPOINT((0.,0.,200.)); #8976=IFCDIRECTION((0.,0.,1.)); @@ -9044,8 +9044,8 @@ DATA; #9037=IFCCARTESIANPOINT((25.,-296.799987792969)); #9038=IFCTRIMMEDCURVE(#9035,(#9036),(#9037),.T.,.CARTESIAN.); #9039=IFCSHAPEREPRESENTATION(#16,'Body','Curve2D',(#9014,#9016,#9023,#9024,#9029,#9031,#9038)); -#9040=IFCCARTESIANPOINTLIST2D(((-200.,0.),(0.,0.),(141.421356201172,-58.5786437988281),(200.,-200.),(200.,-330.),(141.421356201172,-471.421356201172),(0.,-530.),(-200.,-530.))); -#9041=IFCINDEXEDPOLYCURVE(#9040,(IFCLINEINDEX((1,2)),IFCARCINDEX((2,3,4)),IFCLINEINDEX((4,5)),IFCARCINDEX((5,6,7)),IFCLINEINDEX((7,8)),IFCLINEINDEX((1,8))),$); +#9040=IFCCARTESIANPOINTLIST2D(((-200.,0.),(200.,0.),(200.,-330.),(141.421356201172,-471.421356201172),(0.,-530.),(-141.421356201172,-471.421356201172),(-200.,-330.))); +#9041=IFCINDEXEDPOLYCURVE(#9040,(IFCLINEINDEX((1,2)),IFCLINEINDEX((2,3)),IFCARCINDEX((3,4,5)),IFCARCINDEX((5,6,7)),IFCLINEINDEX((1,7))),$); #9042=IFCCARTESIANPOINT((0.,-330.)); #9043=IFCAXIS2PLACEMENT2D(#9042,$); #9044=IFCCIRCLE(#9043,150.); @@ -9056,8 +9056,8 @@ DATA; #9049=IFCAXIS2PLACEMENT3D(#9046,#9047,#9048); #9050=IFCDIRECTION((0.,0.,1.)); #9051=IFCEXTRUDEDAREASOLID(#9045,#9049,#9050,150.); -#9052=IFCINDEXEDPOLYCURVE(#9053,(IFCLINEINDEX((1,2)),IFCARCINDEX((2,3,4)),IFCLINEINDEX((4,5)),IFCARCINDEX((5,6,7)),IFCLINEINDEX((7,8)),IFCLINEINDEX((1,8))),$); -#9053=IFCCARTESIANPOINTLIST2D(((-200.,0.),(0.,0.),(141.421356201172,-58.5786437988281),(200.,-200.),(200.,-330.),(141.421356201172,-471.421356201172),(0.,-530.),(-200.,-530.))); +#9052=IFCINDEXEDPOLYCURVE(#9053,(IFCLINEINDEX((1,2)),IFCLINEINDEX((2,3)),IFCARCINDEX((3,4,5)),IFCARCINDEX((5,6,7)),IFCLINEINDEX((1,7))),$); +#9053=IFCCARTESIANPOINTLIST2D(((-200.,0.),(200.,0.),(200.,-330.),(141.421356201172,-471.421356201172),(0.,-530.),(-141.421356201172,-471.421356201172),(-200.,-330.))); #9054=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#9052); #9055=IFCCARTESIANPOINT((0.,0.,200.)); #9056=IFCDIRECTION((0.,0.,1.)); @@ -9336,10 +9336,10 @@ DATA; #9329=IFCINDEXEDPOLYCURVE(#9328,(IFCLINEINDEX((12,1)),IFCARCINDEX((1,2,3)),IFCLINEINDEX((3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCARCINDEX((7,8,9)),IFCLINEINDEX((9,10)),IFCARCINDEX((10,11,12)),IFCLINEINDEX((1,12))),$); #9330=IFCINDEXEDPOLYCURVE(#9331,(IFCLINEINDEX((12,1)),IFCARCINDEX((1,2,3)),IFCLINEINDEX((3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCARCINDEX((7,8,9)),IFCLINEINDEX((9,10)),IFCARCINDEX((10,11,12)),IFCLINEINDEX((1,12))),$); #9331=IFCCARTESIANPOINTLIST2D(((0.,50.),(14.6446609406726,14.6446609406726),(50.,0.),(400.,0.),(435.355339059327,14.6446609406726),(450.,50.),(450.,350.),(435.355339059327,385.355339059327),(400.,400.),(50.,400.),(14.6446609406726,385.355339059327),(0.,350.))); -#9332=IFCCARTESIANPOINTLIST2D(((-202.5,-314.),(-187.855346679688,-349.355346679688),(-152.5,-364.),(52.5,-364.),(158.566009521484,-320.066009521484),(202.5,-214.),(202.5,-234.),(158.566009521484,-127.933990478516),(52.5,-84.),(-152.5,-84.),(-187.855346679688,-98.6446533203125),(-202.5,-134.))); +#9332=IFCCARTESIANPOINTLIST2D(((-202.5,-214.),(-158.566009521484,-320.066009521484),(-52.5,-364.),(52.5,-364.),(158.566009521484,-320.066009521484),(202.5,-214.),(202.5,-134.),(187.855346679688,-98.6446533203125),(152.5,-84.),(-152.5,-84.),(-187.855346679688,-98.6446533203125),(-202.5,-134.))); #9333=IFCINDEXEDPOLYCURVE(#9332,(IFCLINEINDEX((12,1)),IFCARCINDEX((1,2,3)),IFCLINEINDEX((3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCARCINDEX((7,8,9)),IFCLINEINDEX((9,10)),IFCARCINDEX((10,11,12)),IFCLINEINDEX((1,12))),$); #9334=IFCINDEXEDPOLYCURVE(#9335,(IFCLINEINDEX((12,1)),IFCARCINDEX((1,2,3)),IFCLINEINDEX((3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCARCINDEX((7,8,9)),IFCLINEINDEX((9,10)),IFCARCINDEX((10,11,12)),IFCLINEINDEX((1,12))),$); -#9335=IFCCARTESIANPOINTLIST2D(((22.5,86.),(37.1446609406726,50.6446609406726),(72.5,36.),(277.5,36.),(383.566017177982,79.9339828220179),(427.5,186.),(427.5,166.),(383.566017177982,272.066017177982),(277.5,316.),(72.5,316.),(37.1446609406726,301.355339059327),(22.5,266.))); +#9335=IFCCARTESIANPOINTLIST2D(((22.5,186.),(66.4339828220179,79.9339828220179),(172.5,36.),(277.5,36.),(383.566017177982,79.9339828220179),(427.5,186.),(427.5,266.),(412.855339059327,301.355339059327),(377.5,316.),(72.5,316.),(37.1446609406726,301.355339059327),(22.5,266.))); #9336=IFCCARTESIANPOINTLIST2D(((0.,-30.),(0.,-150.))); #9337=IFCINDEXEDPOLYCURVE(#9336,(IFCLINEINDEX((1,2))),$); #9338=IFCSHAPEREPRESENTATION(#16,'Body','Curve2D',(#9329,#9333,#9337)); @@ -9373,10 +9373,10 @@ DATA; #9366=IFCINDEXEDPOLYCURVE(#9365,(IFCLINEINDEX((12,1)),IFCARCINDEX((1,2,3)),IFCLINEINDEX((3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCARCINDEX((7,8,9)),IFCLINEINDEX((9,10)),IFCARCINDEX((10,11,12)),IFCLINEINDEX((1,12))),$); #9367=IFCINDEXEDPOLYCURVE(#9368,(IFCLINEINDEX((12,1)),IFCARCINDEX((1,2,3)),IFCLINEINDEX((3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCARCINDEX((7,8,9)),IFCLINEINDEX((9,10)),IFCARCINDEX((10,11,12)),IFCLINEINDEX((1,12))),$); #9368=IFCCARTESIANPOINTLIST2D(((0.,50.),(14.6446609406726,14.6446609406726),(50.,0.),(450.,0.),(485.355339059327,14.6446609406726),(500.,50.),(500.,400.),(485.355339059327,435.355339059327),(450.,450.),(50.,450.),(14.6446609406726,435.355339059327),(0.,400.))); -#9369=IFCCARTESIANPOINTLIST2D(((-225.,-359.5),(-210.355346679688,-394.855346679688),(-175.,-409.5),(75.,-409.5),(181.066009521484,-365.566009521484),(225.,-259.5),(225.,-244.5),(181.066009521484,-138.433990478516),(75.,-94.5),(-175.,-94.5),(-210.355346679688,-109.144653320312),(-225.,-144.5))); +#9369=IFCCARTESIANPOINTLIST2D(((-225.,-259.5),(-181.066009521484,-365.566009521484),(-75.,-409.5),(75.,-409.5),(181.066009521484,-365.566009521484),(225.,-259.5),(225.,-144.5),(210.355346679688,-109.144653320312),(175.,-94.5),(-175.,-94.5),(-210.355346679688,-109.144653320312),(-225.,-144.5))); #9370=IFCINDEXEDPOLYCURVE(#9369,(IFCLINEINDEX((12,1)),IFCARCINDEX((1,2,3)),IFCLINEINDEX((3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCARCINDEX((7,8,9)),IFCLINEINDEX((9,10)),IFCARCINDEX((10,11,12)),IFCLINEINDEX((1,12))),$); #9371=IFCINDEXEDPOLYCURVE(#9372,(IFCLINEINDEX((12,1)),IFCARCINDEX((1,2,3)),IFCLINEINDEX((3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCARCINDEX((7,8,9)),IFCLINEINDEX((9,10)),IFCARCINDEX((10,11,12)),IFCLINEINDEX((1,12))),$); -#9372=IFCCARTESIANPOINTLIST2D(((25.,90.5),(39.6446609406726,55.1446609406726),(75.,40.5),(325.,40.5),(431.066017177982,84.4339828220179),(475.,190.5),(475.,205.5),(431.066017177982,311.566017177982),(325.,355.5),(75.,355.5),(39.6446609406726,340.855339059327),(25.,305.5))); +#9372=IFCCARTESIANPOINTLIST2D(((25.,190.5),(68.9339828220179,84.4339828220179),(175.,40.5),(325.,40.5),(431.066017177982,84.4339828220179),(475.,190.5),(475.,305.5),(460.355339059327,340.855339059327),(425.,355.5),(75.,355.5),(39.6446609406726,340.855339059327),(25.,305.5))); #9373=IFCCARTESIANPOINTLIST2D(((0.,-33.75),(0.,-153.75))); #9374=IFCINDEXEDPOLYCURVE(#9373,(IFCLINEINDEX((1,2))),$); #9375=IFCSHAPEREPRESENTATION(#16,'Body','Curve2D',(#9366,#9370,#9374)); @@ -9410,10 +9410,10 @@ DATA; #9403=IFCINDEXEDPOLYCURVE(#9402,(IFCLINEINDEX((12,1)),IFCARCINDEX((1,2,3)),IFCLINEINDEX((3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCARCINDEX((7,8,9)),IFCLINEINDEX((9,10)),IFCARCINDEX((10,11,12)),IFCLINEINDEX((1,12))),$); #9404=IFCINDEXEDPOLYCURVE(#9405,(IFCLINEINDEX((12,1)),IFCARCINDEX((1,2,3)),IFCLINEINDEX((3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCARCINDEX((7,8,9)),IFCLINEINDEX((9,10)),IFCARCINDEX((10,11,12)),IFCLINEINDEX((1,12))),$); #9405=IFCCARTESIANPOINTLIST2D(((0.,50.),(14.6446609406726,14.6446609406726),(50.,0.),(500.,0.),(535.355339059327,14.6446609406726),(550.,50.),(550.,450.),(535.355339059327,485.355339059327),(500.,500.),(50.,500.),(14.6446609406726,485.355339059327),(0.,450.))); -#9406=IFCCARTESIANPOINTLIST2D(((-247.5,-405.),(-232.855346679688,-440.355346679688),(-197.5,-455.),(97.5,-455.),(203.566009521484,-411.066009521484),(247.5,-305.),(247.5,-255.),(203.566009521484,-148.933990478516),(97.5,-105.),(-197.5,-105.),(-232.855346679688,-119.644653320312),(-247.5,-155.))); +#9406=IFCCARTESIANPOINTLIST2D(((-247.5,-305.),(-203.566009521484,-411.066009521484),(-97.5,-455.),(97.5,-455.),(203.566009521484,-411.066009521484),(247.5,-305.),(247.5,-155.),(232.855346679688,-119.644653320312),(197.5,-105.),(-197.5,-105.),(-232.855346679688,-119.644653320312),(-247.5,-155.))); #9407=IFCINDEXEDPOLYCURVE(#9406,(IFCLINEINDEX((12,1)),IFCARCINDEX((1,2,3)),IFCLINEINDEX((3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCARCINDEX((7,8,9)),IFCLINEINDEX((9,10)),IFCARCINDEX((10,11,12)),IFCLINEINDEX((1,12))),$); #9408=IFCINDEXEDPOLYCURVE(#9409,(IFCLINEINDEX((12,1)),IFCARCINDEX((1,2,3)),IFCLINEINDEX((3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCARCINDEX((7,8,9)),IFCLINEINDEX((9,10)),IFCARCINDEX((10,11,12)),IFCLINEINDEX((1,12))),$); -#9409=IFCCARTESIANPOINTLIST2D(((27.5,95.),(42.1446609406726,59.6446609406726),(77.5,45.),(372.5,45.),(478.566017177982,88.9339828220179),(522.5,195.),(522.5,245.),(478.566017177982,351.066017177982),(372.5,395.),(77.5,395.),(42.1446609406726,380.355339059327),(27.5,345.))); +#9409=IFCCARTESIANPOINTLIST2D(((27.5,195.),(71.4339828220179,88.9339828220179),(177.5,45.),(372.5,45.),(478.566017177982,88.9339828220179),(522.5,195.),(522.5,345.),(507.855339059327,380.355339059327),(472.5,395.),(77.5,395.),(42.1446609406726,380.355339059327),(27.5,345.))); #9410=IFCCARTESIANPOINTLIST2D(((0.,-37.5),(0.,-157.5))); #9411=IFCINDEXEDPOLYCURVE(#9410,(IFCLINEINDEX((1,2))),$); #9412=IFCSHAPEREPRESENTATION(#16,'Body','Curve2D',(#9403,#9407,#9411)); @@ -9447,10 +9447,10 @@ DATA; #9440=IFCINDEXEDPOLYCURVE(#9439,(IFCLINEINDEX((12,1)),IFCARCINDEX((1,2,3)),IFCLINEINDEX((3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCARCINDEX((7,8,9)),IFCLINEINDEX((9,10)),IFCARCINDEX((10,11,12)),IFCLINEINDEX((1,12))),$); #9441=IFCINDEXEDPOLYCURVE(#9442,(IFCLINEINDEX((12,1)),IFCARCINDEX((1,2,3)),IFCLINEINDEX((3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCARCINDEX((7,8,9)),IFCLINEINDEX((9,10)),IFCARCINDEX((10,11,12)),IFCLINEINDEX((1,12))),$); #9442=IFCCARTESIANPOINTLIST2D(((0.,50.),(14.6446609406726,14.6446609406726),(50.,0.),(550.,0.),(585.355339059327,14.6446609406726),(600.,50.),(600.,500.),(585.355339059327,535.355339059327),(550.,550.),(50.,550.),(14.6446609406726,535.355339059327),(0.,500.))); -#9443=IFCCARTESIANPOINTLIST2D(((-270.,-450.5),(-255.355346679688,-485.855346679688),(-220.,-500.5),(120.,-500.5),(226.066040039062,-456.566009521484),(270.,-350.5),(270.,-265.5),(226.066040039062,-159.433990478516),(120.,-115.5),(-220.,-115.5),(-255.355346679688,-130.144653320312),(-270.,-165.5))); +#9443=IFCCARTESIANPOINTLIST2D(((-270.,-350.5),(-226.066009521484,-456.566009521484),(-120.,-500.5),(120.,-500.5),(226.066040039062,-456.566009521484),(270.,-350.5),(270.,-165.5),(255.355346679688,-130.144653320312),(220.,-115.5),(-220.,-115.5),(-255.355346679688,-130.144653320312),(-270.,-165.5))); #9444=IFCINDEXEDPOLYCURVE(#9443,(IFCLINEINDEX((12,1)),IFCARCINDEX((1,2,3)),IFCLINEINDEX((3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCARCINDEX((7,8,9)),IFCLINEINDEX((9,10)),IFCARCINDEX((10,11,12)),IFCLINEINDEX((1,12))),$); #9445=IFCINDEXEDPOLYCURVE(#9446,(IFCLINEINDEX((12,1)),IFCARCINDEX((1,2,3)),IFCLINEINDEX((3,4)),IFCARCINDEX((4,5,6)),IFCLINEINDEX((6,7)),IFCARCINDEX((7,8,9)),IFCLINEINDEX((9,10)),IFCARCINDEX((10,11,12)),IFCLINEINDEX((1,12))),$); -#9446=IFCCARTESIANPOINTLIST2D(((30.,99.5),(44.6446609406726,64.1446609406726),(80.,49.5),(420.,49.5),(526.066017177982,93.4339828220179),(570.,199.5),(570.,284.5),(526.066017177982,390.566017177982),(420.,434.5),(80.,434.5),(44.6446609406726,419.855339059327),(30.,384.5))); +#9446=IFCCARTESIANPOINTLIST2D(((30.,199.5),(73.9339828220179,93.4339828220179),(180.,49.5),(420.,49.5),(526.066017177982,93.4339828220179),(570.,199.5),(570.,384.5),(555.355339059327,419.855339059327),(520.,434.5),(80.,434.5),(44.6446609406726,419.855339059327),(30.,384.5))); #9447=IFCCARTESIANPOINTLIST2D(((0.,-41.25),(0.,-161.25))); #9448=IFCINDEXEDPOLYCURVE(#9447,(IFCLINEINDEX((1,2))),$); #9449=IFCSHAPEREPRESENTATION(#16,'Body','Curve2D',(#9440,#9444,#9448)); diff --git a/src/blenderbim/scripts/generate_furniture_library.py b/src/blenderbim/scripts/generate_furniture_library.py index c284f14c9d..a52b940b93 100644 --- a/src/blenderbim/scripts/generate_furniture_library.py +++ b/src/blenderbim/scripts/generate_furniture_library.py @@ -282,6 +282,8 @@ class LibraryGenerator: return output def create_fillet_rectangle(size=None, position=None, fillet_radius=50.0): + """`fillet_radius` is either float or list of floats for each corner + in counter-clockwise order starting from bottom left""" kwargs = dict() if size: kwargs["size"] = size @@ -1251,7 +1253,7 @@ class LibraryGenerator: ) fillet_radius = min(width / 2, (depth - cistern_depth) / 2) _, _, seat_main_curve = get_simple_2dcurve_data( - seat_main_curve_points, fillets=(1, 2), fillet_radius=fillet_radius, closed=True, ifc_file=self.file + seat_main_curve_points, fillets=(2, 3), fillet_radius=fillet_radius, closed=True, ifc_file=self.file ) seat_main_curve_mask = builder.circle(center=V(0, depth - fillet_radius), radius=fillet_radius * 0.75) seat_main_curve_profile = builder.profile(seat_main_curve, inner_curves=seat_main_curve_mask) @@ -1415,7 +1417,7 @@ class LibraryGenerator: rectangle_second = create_fillet_rectangle( size=V(second_width, second_depth), position=V((width - second_width) / 2, (depth - second_depth) * 0.3), - fillet_radius=(50.0, 150.0, 150.0, 50.0), + fillet_radius=(150.0, 150.0, 50.0, 50.0), ) rectangle_second_3d = ifcopenshell.util.element.copy_deep(self.file, rectangle_second) diff --git a/src/ifcopenshell-python/ifcopenshell/util/shape_builder.py b/src/ifcopenshell-python/ifcopenshell/util/shape_builder.py index 162cf3248b..bad97b2c41 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/shape_builder.py +++ b/src/ifcopenshell-python/ifcopenshell/util/shape_builder.py @@ -55,6 +55,8 @@ class ShapeBuilder: return ifc_curve def get_rectangle_coords(self, size: Vector = Vector((1.0, 1.0)).freeze(), position: Vector = None): + """get rectangle coords in counter-clockwise order + starting from the bottom left corner""" dimensions = len(size) if not position: