From e689112c7ee315720a478211ebedc92468767756 Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Wed, 13 May 2020 14:40:51 +0200 Subject: [PATCH] Added second roundtrip test with non-vertical extrusions --- IFC_roundtrip_specifications.md | 57 ++++++++++++- .../Roundtrip 1 FreeCAD.FCStd | Bin 9758 -> 0 bytes .../multiple extrusions.FCStd | Bin 0 -> 12763 bytes .../Roundtrip Results/multiple extrusions.ifc | 77 ++++++++++++++++++ .../Roundtrip Results/simple extrusion.FCStd | Bin 0 -> 16857 bytes ...rip 1 FreeCAD.ifc => simple extrusion.ifc} | 24 +++--- 6 files changed, 142 insertions(+), 16 deletions(-) delete mode 100644 Specifications test files/Roundtrip Results/Roundtrip 1 FreeCAD.FCStd create mode 100644 Specifications test files/Roundtrip Results/multiple extrusions.FCStd create mode 100644 Specifications test files/Roundtrip Results/multiple extrusions.ifc create mode 100644 Specifications test files/Roundtrip Results/simple extrusion.FCStd rename Specifications test files/Roundtrip Results/{Roundtrip 1 FreeCAD.ifc => simple extrusion.ifc} (73%) diff --git a/IFC_roundtrip_specifications.md b/IFC_roundtrip_specifications.md index 5551749..2d182a4 100644 --- a/IFC_roundtrip_specifications.md +++ b/IFC_roundtrip_specifications.md @@ -1,6 +1,10 @@ +# IFC roundtripping specifications + This file lists "exercises" to be performed by a BIM application to achieve adequate round-tripping with IFC files. The application should successfully complete all the steps. + + ## 1. importing and exporting a simple extrusion The application should be able to export and import an IFC file containing one IfcBuildingElementProxy @@ -23,19 +27,64 @@ made of an IfcPolyline, like the example below: #### Import criteria +* The profile position and extrusion direction are correct * The extrusion can be changed after import * The base polyline can be edited after import #### Export criteria -* The exported IFC file contains an IfcBuildingElementProxy, with an IfcExtrudedAreaSolid as its representation -and an IfcArbitraryClosedProfileDef made of an IfcPolyline as its profile +* The exported IFC file contains an IfcBuildingElementProxy, with an IfcExtrudedAreaSolid as its representation and an IfcArbitraryClosedProfileDef made of an IfcPolyline as its profile +* The position and extrusion direction are correct when the IFC file is viewed with [ifc++](http://ifcquery.com) #### Results | | BlenderBIM | FreeCAD | Revit | ArchiCAD | BricsCAD | | -------------- | ---------- | ------------------------------------------------------------ | ----- | -------- | -------- | | passed? | | yes | | | | -| exported file: | | [result 1.FCStd](Specifications%20test%20files/Roundtrip%20Results/Roundtrip%201%20FreeCAD.FCStd) | | | | -| imported file: | | [result 1.ifc](Specifications%20test%20files/Roundtrip%20Results/Roundtrip%201%20FreeCAD.ifc) | | | | +| exported file: | | [simple extrusion.ifc](Specification%20test%20files/Roundtrip%20Results/simple%20extrusion.ifc) | | | | +| imported file: | | [simple extrusion.FCStd](Specification%20test%20files/Roundtrip%20Results/simple%20extrusion.FCStd) | | | | + + + +## 2. importing and exporting non-vertical extrusions + +The application should be able to export and import an IFC file containing three IfcBuildingElementProxy entities, each with one representation, which is an IfcExtrudedAreaSolid, each based on IfcArbitraryClosedProfileDef made of an IfcPolyline, like the example below. One profile should lie on the XY plane, one in the YZ plane, and a third on a plane made of one of the former rotated 45° along the Y axis. Extrusion directions should be normal to the profiles. + +``` + #20= IFCBUILDINGELEMENTPROXY('0ohBfsArr3ruXYxacT4yl5',#1,'NOTDEFINED',$,$,#2,#21,$,.NOTDEFINED.); + #21= IFCPRODUCTDEFINITIONSHAPE($,$,(#22)); + #22= IFCSHAPEREPRESENTATION(#9,'Body','SweptSolid',(#23)); + #23= IFCEXTRUDEDAREASOLID(#24,#31,#25,2000.); + #24 = IFCARBITRARYCLOSEDPROFILEDEF(.AREA., $, #26); + #26 = IFCPOLYLINE((#27, #28, #29, #30)); + #27 = IFCCARTESIANPOINT((0., 0.)); + #28 = IFCCARTESIANPOINT((1000., 0.)); + #29 = IFCCARTESIANPOINT((1000., 1000.)); + #30 = IFCCARTESIANPOINT((0., 1000.)); + #25= IFCDIRECTION((0.,0.,1.)); + #31= IFCAXIS2PLACEMENT3D(#32,#33,#34); + #32= IFCDIRECTION((0.7071,0.,-0.7071)); + #33= IFCDIRECTION((0.7071,0.,0.7071)); + #34= IFCCARTESIANPOINT((1000.,0.,2000.)); +``` + +#### Import criteria + +* The extrusion directions and profile positions are correct +* The extrusions can be changed after import +* The base polylines can be edited after import + +#### Export criteria + +* The exported IFC file contains three IfcBuildingElementProxy, each with an IfcExtrudedAreaSolid as its representation and an IfcArbitraryClosedProfileDef made of an IfcPolyline as its profile. +* The positions and extrusion directions are correct when the IFC file is viewed with [ifc++](http://ifcquery.com) + +#### Results + +| | BlenderBIM | FreeCAD | Revit | ArchiCAD | BricsCAD | +| -------------- | ---------- | ------------------------------------------------------------ | ----- | -------- | -------- | +| passed? | | yes | | | | +| exported file: | | [multipl extrusions.ifc](Specification%20test%20files/Roundtrip%20Results/multiple%20extrusions.ifc) | | | | +| imported file: | | [multiple extrusions.FCStd](Specification%20test%20files/Roundtrip%20Results/multiple%20extrusions.FCStd) | | | | + diff --git a/Specifications test files/Roundtrip Results/Roundtrip 1 FreeCAD.FCStd b/Specifications test files/Roundtrip Results/Roundtrip 1 FreeCAD.FCStd deleted file mode 100644 index d9e23a66ba89f5c062231329df503eb1a198ebe9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9758 zcma)?1yEeu((ea%8Qk67-66O$NC@uk?hxGF9fG?B4IV;(;10nhxVt=Z?>q0Fldry8 zudBNDu9^MYt81_Stm)OgmE|BHF#rGnET9oorQFDrF?j_80GP7?0Elm&O4u8_+M3$A zFnQS89Bb>UZE<1v?rE0!X)R?aZ2C|$*dRc*kBSsPwygRts@PDfINHQ9pf_}X(M&z& ziNMI_nOOa?8;JTLv9_k>hv4nEux=p*f-7k)5y4xFZf&kxpd;gW$;rNj@OHnd`Rn|x zcbIUBtoMF4(8+5>TyPwodSJ(1MFbYl`2+?g<+}?XBT7L?$T2N$vLKh3cw9lm5NsjS z6MruOkt$Q#tt=%D8!ps!HEYItTs@LxzX_kA0SHVbJwAHkTJ7NbIl=qhPb*tyhj@*iQsEz=sR4C3J%H6n# z&u;&z@tQD?^wJeCL^lr2dU{xI!X(GxwN>RLC*2faC)|BT6WL8>HSAvb+N*KVV&?EL zOxA3w$i^EY&CKUOVZf*c-(IN0B6JFAAIMMYVbQxO%jWTwv~v8io`1yDzoDVr8Jn1} z9g932z2gY&OFd!3;jkjZ{Wj|ZfXHzY<_Q+;_3Or|+2)cx0@oMZbN3I6aQLM#bGy#k zm8*91702@F^r_WmbEAoi4C>bIW_$TRc~}nfxH*se{F=+!1|T-KvtAxNQ5;0La`q^Z z?=THEea!^px2vBf~o2RjAl)6EI@e0?qZ6a+v^8Hb$eL0jbKc1H@T5VAqtn zo4=^@IRZIJ1S}D=vF5N>cpyj+XSy;o&})F2sVWsJCg7v#eX0#25;%pAm&wyR+yK#) zc^!`{+2uy+A7b7=eN4*@SB~o5Yinf0rNVi8vVJYZALWS`y!&uCjL*$3bVIUF!JS;9 z`eEX`BHog0FLo?HCjI<6Z4mu5)xa_yLGS(8%4!r0;*8 zTt3or>RF*V1~)AR$;I*x&GB@ljhf$IkSRoett`$-<=K9c6xd7NtWLbk3>sjzuVZ*s zYJFm55uh~qhEKj5@{%xV>;Zc;f5ULLl1_rioxm;OBM-6t&d`8lloy>OG9BADrW^?j z?3JPnVpgVOsfyMI@4efJM>@549lr1P3k0EKjgF-Qu7>(NFY&;UkzCnQ{Ax5qcjeaY z?`DKK%~1xFX&H4NKYH}80$qn=KCVKMHFpgcKD81dL#&_CX#kWO!WmT1?5!D9XXA%UI1b5A|o~UpYAED>Dx{$FBK$!uoQJT`#R;?&t9?YkPeL&v46@%yJYV zEj6lR7>qdiWt5LSU`Q9_2)O1kNUj(QpO9|4)^$lRg5c^W<2}(qQOnSSpR-ux)bs4v zZ>L#v5#bJ}Yw@sA-3Nwbsl$cPWMLb&S;D<7B#0yKVwt>0p>~SylCe=GfoD+U>oe!z z`STSx@mF#{2yCZaqp`t<50j{{9HjHhV8v#ZgcM7CS}wa4rMEz|fFUo8x}jzgNRD3Q zV3>O%SI73UI{Cplc?*ycMH zWor0R!mV#&eik&q!gX1l4Hze6kZmJ{Bi?WwY!Ru;JC{KB@kU8Uf>qacz$65PDAG)u zgHT`L7BXRpZfkaQ0P+CYgV;ugLQ^0wcY0ibM~EsWh-`;Uf;Il*yKa^=zz6#X9%pSi zn%tcSYu6lGpLALdj4TcHQ0aQ9&tHWj6R>F|?I1@~sf}b3nF1>z03Nzb*cZ`{3M=y_&yPEs;Fl^bI=uqP^1Qkn`y5=}c9#@NfJs0edsN$A@ z?PA{`4e1yA-j*b?>f_KVLJ12aZH!e5Az+Z5B;k8nTS6g@Y``FYmATbB=gU`J)gU9y znUN!qa@CXlq=jB^Vz4a6+GIX;0mRTsoRJZ-=neol59Pzbu6Bw0Y3D91nBvC(zzgM-5{oKP{7>)a8_- z1fTvGH@im%_Rsm|tBND*3?~>$A$~WhSZ$6J_Y0BD6H;@#Ol0&|xkD}nqb4sCAe?{_ zQWA(`vy0NBw>zY)Aqicp$8+2#7#W zgt3AK{1eI{!hlOAwwq@H48%rQzj!Phfkmpt9};L&Qs0(g(dZbi~TK} zqpO*zAO$BZ#RI%(%qQ6G(+;OqkuA;?jOA})b&YQpWRW6K=`p72JMrmM^RM%@q;bl(wCmZ}0056jg z>|vwIJLLLw?ZT7?+D59%hBTN^m>Rs_{XtFCYU-#ztzYb|GuKLUIu7h zjwc8Y6)i4Hc8(ZFPkX%Sa=?VZe!KlYXX8@frl%Pk0La7y0FeJa8?3*lV@FHD9*-5Z zYrOWXKBQgSJ5V7GSX`=64JrGBJ`s&#K+;Fzd-v%mgJ_lq;ue&bw2Bdyaok!bH+xIq z#HwOL0`rVgL&kh}4erLDV z(-7u1!qLGDQLZq!;o=ZA^(aWxizznJ*6)rbHRO8mNyWGrHk!!{sJv}!P}?|ut@r|` zvg1#IzZ69=-aoHUHQ&TvhHqi7Z>_QBq0SiT zTe??&L(YhYu@Y)F$p+W$2<;@*tDvg9R25XNZX+Os%Q6(B$i}EQM=63F|JVnUbZ&ef z95Q~peq-n_N6vKjsr@q)5g3s)7+V_e(?{f$mHwCYX6~3F13p-Oar?e!P&-lY4+hf1 z2cjR13trO+y>f|Gc6||dzH(0-<6h%;amvY2a?&r8>iq>W5vq<){IW2JmI3i6yR~>| zi@`l!iQgYauN1JC!KHke6Bt!iOAK$3s7uOg-Q7dYxi9*PZ zm*L)_0gIJsQokX!9w#X;5TU_`RJ-mLI}NBv&}?Ai|Dujo8vzrwFG4F#Qu~AsS8-YL zrR_5);+j-CP?q1C|j}mguExKVDx*{vppAv{+WT_hy!|mD*J2c;h zHuIy>`H-+_;eXDP3=D0^GYTigo}&dLb0W?K3i{b#a7tmg5`rCFkZ1h>R*c~uw1W2t zM!Sp2J-GnXAP*1!Sfh>((LxB`7N-nm008Ap;8L!Z|J=l^x-W5I_>b!scE>L0qk?T={}WRfGaLZUr?CFBtrZ6wuPxV*;6|B(wZ@} zpXng_eu}?Y;SeK%!hlr4tZOEK)>G2 zC#u1SR5(8mzo7N$+3t|C4BxIo6VKsAP9!*Dqln1>Mzlrt>}b8XMG7&v+@##|Tqh%v z!i`#Zd7NaR5bq6+?kNsR>H4Wtt!!|%;A&TjANULk;#7Yd4 z{nB5J=8FRK`H`Yzr1d)C9oKZBS$QXw>4p(Cj-3Ex#UY#b%f#f-#1}if zscS7CP6R*gIoUE#HI8~)H(9;k#^EY(NZ5nJ;hGP9h)AJ32I>Dglt{$gxDO4Aghn7; z)ES;&r_hftY_?+WAn(iSgZt0v^r3XX;8gafHCP>`6^m8%61Mcska^Jk(a>|Z|1(A{(sXe#O;C7gpEy}-sSgdg~f6AD4uy0@KApP)uwMKZuk`_H% zsGO%H#H$d?SJXTqctO9raZx=g4I%Rgp@b6LQt#$hfS0Bp2vPNOgD6i=pCvIVK10Y* zBi+CDN}J~ZDi|z>93TqSgaV5nB#P6;r(3`umJUrn-QIG5Qv9DWrFw(t?2eXAMyGCp zGLjO_IuuoFQS_fl(&C35Kz9aSd@LXvREKMq~LOYnD0^6c_Ebxl@x* znZZ*bv%f(=J5WjdA|i+0Nu|Pa$t9Y=i|EE$FZtBQjEjImmRnx<>bO)i8sv^8++IS< z@FXb#uRBfKL{fWd#lCs0U2&u3F`QqyG(GB5|Kv@*vM1AXd#{N&lex+YH8Sg`qgZ(` z{pIGYWUYKnj;DjR=9Nj4&1iUem^eOT$@m2FCe*FGp+ zGKwL~_N$TndcBgm<~F_}R(3|hNk`l5627GMqu@Bmln>YIgC1wo)nRwjZAPwW2&%}MvmLI}i+>kgnVNK;6MV#BdD((+~ z+;)MhvX^j`HLH{O$P*RTgYPE=#m`ead%$8Qu~mAv7=0*d-+}fSVD#51I`0eMk+y#M z<7=R<6kuO8;tm$jE12dqG@wrkxPq)twTGMI!GNKQv$7#4JeYEI!}bPnSMr7)uB)zQ zgXKRn!WUUK=FU}<#=J)@8Z z%y2i$ZL5h|(im|O9J+|Ftr2=`aZR0MtFimA{~_TU8$aW+b9M_#oZ|8&U(0-u)Hweo zVXJF&ye(g@nE2%+T;SuP0~nAROcZI}&YQ6D_!0N?*H^iDH{Ugz&z(nv8lSnh`8in| zoV~Et?^1JY7tMr}BrsOOvRk&Y>`J?GMPBbUU)6Q}KWFGi`uklF|1(qaDY!`Z{FWj$ zygAO>ABl^FtF4ipp{0#8Gw82VCI>rnum)s>^9W@{DI|D2__ynjWTYij-;N@`9rkyc zTw&?>^X&lVApPF?E$bS1^Fy#OZZ5aC6B8K;QIJRWahA8kjC$&j@a_DmOX;*{7^<`f zBwB6)ETITV0ACsBTu{6Ax^c@_L(O?zbH>V*ip8AjrHsXj_d~9(^Er-@goLK*Gmci0 z$+(l!sH8ao!DWz;GT?y}!SR~H)6b8q&s+1W(9-UFq$K=@pDXCQuY7ZyPuli!FOTi+ zpkKR5jZjQUx)nu@c-Z7iD#3QFnA{lqJkIeSzmIey^J*=vJT+H6#=uZmwNj9LlM|Pq z6D9v?9()df-Z@Sw4Vg&v_KGw@t`k5!P%pgg4?{t86FHh!DO5!b&-2M z>deVvh1hCiTDVmUWh<AYc&vJ$ixp-A6sfVgg9x*H0PpnyR^#v5tcQ!j#dcc-w~~ zD^z$g9}VbkUtV2xZh);zv&$03GvsHb9k+Zn^&}oqP>wH{`4|r1??w1fMZBhJ1|s3; zfwZPipOCzD-(P_s@B{8eSlcfETxHrWlp69!VA$P`oC0DSW)xMe)`C&at$!IaaXtv4tO{##9*-DZ9dRL7dvgh}a3Uxg~lX6s?Jr476 zxSQV#oX}X-5`OjBH0n*L)_Xw(pjWw55&4T#MLt>ve<*CtlXso{{Qxciye~K;2E&qN zUWg~MsxSC<;AL8k2Z^cQUAd*q(NOgGYL;NtQAqoS;(dq#!&~cq*%&qZBQ?-!#z}`o z{)f4IVzWgC9$-R5o%wQCPfGf&2I;71!6f9=Fq(SEzUJer0QFhr&vK{AuHb__y>fsu>Jd!hv&Yi) zaHQX|L4bgY3JDNW`LBlByGwrKEnx}JEcuErY#aJ^XW{!#0(aZpb!OA6$sM)kmukYZ zkFxjfb=yBpHj6&}t*ImvmmNr(Etfn>+?0 zflS{BC4&Y{#MC$uBf-2gF^h|T75R4F-M+Hu+~c8k#|RMvaE^|5J`q2m$25D#qct?@ zrjJQN!$6B3TZc_SIfX_A*b3 zDTx@bg%oLQ7Y64_Mk;W2|AeOjRcTA==^ zi+(}Ly-6^U>B5UXIgub)M=)r7k1AGhtAoP-xf4e>`LxjUo-p=AUS$3^)_<6lk5_`nM&$Wqi3v*e1`fQn_qaz?JhR`i1NhQ5tD zSsISuksU~ijutxz3fOyRljmB=yxvRt;AO^7D>{!4_N`m?ukf0wNwGC{&<|Za>;x<4 z`~7#&zAiZe??y`VoU3Y(UwaI2RZ~elAh%EBpKx`c8HM!jeEj68$i;w=K7QJnnOD#X z&xYTVEDESmQ^#y$V(z+xrU=|@G!TxD3FUzyJX6zkrOO#YpQC>{k7zlMLqmJRSX3>J zy}17b%W;CB3c!kM?CX0bazGD2g}F53A~=qZpyHHk(HMewKI^9mV{fY~h?fkeaC`Pwjq zqDdU){Nm)R+iUbQs0j{CZ!bLXK%;PKt=NVB*2-QW3&3Pd{|jP~OkPW^J?dJ1oCAfE z=v>LL7EcTUhO})2!a9LaScRoUCcJ8V!Y_($5(G^%XtJe~TPTaFXBw`XNDmR=cuW;? zM+hwjDvsI6D;PNFFp&d(3?g`l_}$0@k__&-!FUEhT?ZQg2Oi0g1t*=`pGzYv7e|KH zQh4%v@2&8*hc5)1orl{X(N`TLDp6sP{to}`c6`k(hZ5t)_w|caCZ>mwVdHyyHs&aS zBB%k`eKPg+^oEvLM{?R7{vqE9T*yfEaFMUPhet+Y>APP)Y9n`cK<&zB29ZnC;kBIR8$Kc*F=0EWGMg^--ES+<_Svv*xs(*qz}qsGs*vMZ-f)!Y zx)U*SNn$PZSXeLZIFVGe_IdITU%_k1R^^WXR8A#fWtLtowVqM`Y= z6Usk7y|fUXY!gK3o&SP8-0W^I*?jG)41(aA3@Oh*cgv&~n5Gj8u`3jky5}7<~dCuwpKD@CA zX6MDv=L!}h+0dYyZN=Yz&a6$7quW=QB9|fH%tzdPj#V9o4Az=3C78X${JtrC=g^+o z-zl)>sld$38zx?L%CS9aWrcxCAuDorgJl2OtZ%b<;;gq7G5$zS)mUl=Lj*4xx}X9N znjG;4rLcm|eEen|1(KFIPsYzs2%pFoHg8_(HUqhH?@giLb2UysjQWQ!8hG)t{ zL}uz3d20GttIDi6`E5oY9y_mYQP!P!%XI|uRs?du^psV8TxASq z^ZbLhVVO2VV_*s9#CTcw6({%(*s$50Aa@j@5R680hb{8;YA~g>K}UiN$fuY` z*`J~K>j;ftvX6$JKk3Lc1NA|D6XAm`*Kg-FcMpg*rNo4D0W=R1Je6Im&7bUYPeuml--&v*yrkYEeAx*zrz+(USmlXGq0WXrs_c6BDP1AG14BnDd~N z65q$gE?4>l3tIygyo_ca+|L4az@%a6jctKgVrvL6&-?a^r?O zdl*i6I_A9x*EOSuY*jv`oPv{Tnol%4C}=V~q)i@1-#7xKdHT-#rP6snBL>VB>8oB& zX*}@pg}MtBN|Kq5HFvPSuUhdKhc3ZT+FZb{HZeCh4}S$iy3ip@Euqxx;=YR}My zL3rw}F#sbCLsdB*p(jE~c(%jRY44NV@kP)cZ*eIiZFfvEibOYlJVyCYz(^!q?q2)} z6Qr={8CT{5dD&@LyIhBCJrrpg_v{>-^#*~gxzhB`B!~8mKiaX0bn2?5a<`!RFdE+a zTtfqBPa2rZozThaWpLgN)?%(iWF<>XaF%#7vshWft{V*D7tmjKdL<#_iu7VtH5|6i zS-dTx!04wBSj$gSa+BoNJ$sR;aa-&r=we&L)N6+<@RYPkyjV7NJfCzx@&fdHfnN6| z0lxxJ2S~10tNeK7zJoR%cm?;Q$I4qsgoAwBgaTyVDN59c83g@vvkPC6KLGdkE$o~B z>%9+4Gc#9bQ*nD6dnaQPKoGn6kGIavKbk?eYvJWk{}=h)Nsza+`}g&tPELlN#wG#( z4ftJ|{a5$sUnBf)#NVU(-8z!^TU4z7A7T9-<)2}_Q33xgF4Q;TkGTFqz`!ve{`VJU z-nf5RQ{eBz-z(0_a{na%Y@+>}0|1%=iQb<6zgud5GJp2a{==yKX8zt$`xE`M;qxDK z<88wKANsHM&!6m{wemdP9`bM1{$)*pv2XA{H2f#}_n7}VZr}fi ynf1THzjgeVH3eS%&!FFEsNc1zw_iIVU=kbvpe6?ZPyv!orl#Ve5+r{K`2PT3y-3Rd diff --git a/Specifications test files/Roundtrip Results/multiple extrusions.FCStd b/Specifications test files/Roundtrip Results/multiple extrusions.FCStd new file mode 100644 index 0000000000000000000000000000000000000000..872688b8619bd85f83ec6f78794ef5ce3890d362 GIT binary patch literal 12763 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 z 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 Bt$zRj literal 0 HcmV?d00001 diff --git a/Specifications test files/Roundtrip Results/Roundtrip 1 FreeCAD.ifc b/Specifications test files/Roundtrip Results/simple extrusion.ifc similarity index 73% rename from Specifications test files/Roundtrip Results/Roundtrip 1 FreeCAD.ifc rename to Specifications test files/Roundtrip Results/simple extrusion.ifc index bfdd629..aafaa2b 100644 --- a/Specifications test files/Roundtrip Results/Roundtrip 1 FreeCAD.ifc +++ b/Specifications test files/Roundtrip Results/simple extrusion.ifc @@ -1,15 +1,15 @@ ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1'); -FILE_NAME('Roundtrip 1 FreeCAD.ifc','2020-05-12T09:14:56',('Yorik van Havre','yorik@uncreated.net'),('uncreated.net'),'IfcOpenShell 0.6.0b0','IfcOpenShell 0.6.0b0',''); +FILE_NAME('Roundtrip 1 FreeCAD.ifc','2020-05-12T14:33:17',('Yorik van Havre','yorik@uncreated.net'),('uncreated.net'),'IfcOpenShell 0.6.0b0','IfcOpenShell 0.6.0b0',''); FILE_SCHEMA(('IFC4')); ENDSEC; DATA; #1=IFCPERSON($,$,'Yorik van Havre',$,$,$,$,$); #2=IFCORGANIZATION($,'uncreated.net',$,$,$); #3=IFCPERSONANDORGANIZATION(#1,#2,$); -#4=IFCAPPLICATION(#2,'0.19 build 21031 (Git)','FreeCAD','118df2cf_ed21_438e_a41'); -#5=IFCOWNERHISTORY(#3,#4,$,.ADDED.,1589274896,#3,#4,1589274896); +#4=IFCAPPLICATION(#2,'0.19 build 21037 (Git)','FreeCAD','118df2cf_ed21_438e_a41'); +#5=IFCOWNERHISTORY(#3,#4,$,.ADDED.,1589293997,#3,#4,1589293997); #6=IFCDIRECTION((1.,0.,0.)); #7=IFCDIRECTION((0.,0.,1.)); #8=IFCCARTESIANPOINT((0.,0.,0.)); @@ -26,11 +26,11 @@ DATA; #20=IFCDIRECTION((0.,1.)); #21=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#20); #22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#21,$,.MODEL_VIEW.,$); -#23=IFCPROJECT('1K2xYCBpz8y87tDwWzJsPw',#5,'Roundtrip_1_FreeCAD',$,$,$,$,(#21),#19); -#24=IFCCARTESIANPOINT((0.,0.)); -#25=IFCCARTESIANPOINT((1.,0.)); -#26=IFCCARTESIANPOINT((1.,1.)); -#27=IFCCARTESIANPOINT((0.,1.)); +#23=IFCPROJECT('3ltNA1mHP9zgbu3TvKgPyU',#5,'Roundtrip_1_FreeCAD',$,$,$,$,(#21),#19); +#24=IFCCARTESIANPOINT((-0.5,-0.5)); +#25=IFCCARTESIANPOINT((0.5,-0.5)); +#26=IFCCARTESIANPOINT((0.5,0.5)); +#27=IFCCARTESIANPOINT((-0.5,0.5)); #28=IFCPOLYLINE((#24,#25,#26,#27,#24)); #29=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#28); #30=IFCCARTESIANPOINT((0.5,0.5,0.)); @@ -44,9 +44,9 @@ DATA; #38=IFCLOCALPLACEMENT($,#9); #39=IFCSHAPEREPRESENTATION(#22,'Body','SweptSolid',(#32)); #40=IFCPRODUCTDEFINITIONSHAPE($,$,(#39)); -#41=IFCBUILDINGELEMENTPROXY('3y8yjHmoj7i8DD_OroWdOV',#5,'Extrude','',$,#38,#40,$,$); -#42=IFCBUILDING('1FrEBU1fL92wMs5ElgGseN',#5,'Default Building','',$,$,$,$,.ELEMENT.,$,$,$); -#43=IFCRELAGGREGATES('3MOFXVItb6CPui8Ug4CY_v',#5,'ProjectLink','',#23,(#42)); -#44=IFCRELCONTAINEDINSPATIALSTRUCTURE('3FHP$lA3L11QsR8zQO4IBj',#5,'UnassignedObjectsLink','',(#41),#42); +#41=IFCBUILDINGELEMENTPROXY('1XW1Z55iD4$APiBt2cTMkk',#5,'Extrude','',$,#38,#40,$,$); +#42=IFCBUILDING('2uvHtdWM92VhLMt9mwINS2',#5,'Default Building','',$,$,$,$,.ELEMENT.,$,$,$); +#43=IFCRELAGGREGATES('2t_v229DH6IQuULMAvUyMw',#5,'ProjectLink','',#23,(#42)); +#44=IFCRELCONTAINEDINSPATIALSTRUCTURE('2dVuI5I79578O7tDwslWNg',#5,'UnassignedObjectsLink','',(#41),#42); ENDSEC; END-ISO-10303-21;