Skip to content

Commit 52705e3

Browse files
committed
Merge branch 'develop'
2 parents 63732e0 + 903b99e commit 52705e3

File tree

9 files changed

+444
-94
lines changed

9 files changed

+444
-94
lines changed
Lines changed: 232 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,232 @@
1+
ISO-10303-21;
2+
HEADER;
3+
FILE_DESCRIPTION ((''), '2;1');
4+
FILE_NAME ('', '2020-04-28T12:10:14', (''), (''), 'Processor version 5.0.0.0', 'Xbim.IO.MemoryModel', '');
5+
FILE_SCHEMA (('IFC2X3'));
6+
ENDSEC;
7+
DATA;
8+
#1=IFCCOMPOSITECURVE((#2,#8,#15,#19,#25,#31,#35,#40,#46,#50,#55,#60,#64,#68,#73,#77,#82,#87,#91,#95,#100,#104,#108,#113,#117,#121,#126,#130,#134,#139,#143,#147,#152,#156,#160,#165,#169,#173,#178,#182,#187,#192,#196),.F.);
9+
#2=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#3);
10+
#3=IFCTRIMMEDCURVE(#4,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(50.0000000006965)),.T.,.PARAMETER.);
11+
#4=IFCLINE(#5,#6);
12+
#5=IFCCARTESIANPOINT((0.,0.,0.));
13+
#6=IFCVECTOR(#7,1.);
14+
#7=IFCDIRECTION((0.999999999999215,1.25306505651584E-06,3.49245254934071E-11));
15+
#8=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#9);
16+
#9=IFCTRIMMEDCURVE(#10,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632677167)),.T.,.PARAMETER.);
17+
#10=IFCCIRCLE(#11,30.);
18+
#11=IFCAXIS2PLACEMENT3D(#12,#13,#14);
19+
#12=IFCCARTESIANPOINT((49.9999999995551,1.40164756885497E-05,30.0000000018989));
20+
#13=IFCDIRECTION((1.53493365368072E-06,-0.999999999996636,-2.0910068997036E-06));
21+
#14=IFCDIRECTION((1.80929462523238E-07,1.43799648415969E-06,-0.99999999999895));
22+
#15=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#16);
23+
#16=IFCTRIMMEDCURVE(#17,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.5707963268186)),.T.,.PARAMETER.);
24+
#17=IFCCIRCLE(#18,30.);
25+
#18=IFCAXIS2PLACEMENT3D(#12,#13,#7);
26+
#19=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#20);
27+
#20=IFCTRIMMEDCURVE(#21,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(830.000000006876)),.T.,.PARAMETER.);
28+
#21=IFCLINE(#22,#23);
29+
#22=IFCCARTESIANPOINT((49.9999999986908,-4.87137330935639E-05,60.000000001601));
30+
#23=IFCVECTOR(#24,1.);
31+
#24=IFCDIRECTION((-0.999999999999215,-1.25306514232965E-06,-3.50554134578805E-11));
32+
#25=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#26);
33+
#26=IFCTRIMMEDCURVE(#27,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632683607)),.T.,.PARAMETER.);
34+
#27=IFCCIRCLE(#28,30.);
35+
#28=IFCAXIS2PLACEMENT3D(#29,#13,#30);
36+
#29=IFCCARTESIANPOINT((-780.000000006111,-0.00125997850773274,29.9999999686622));
37+
#30=IFCDIRECTION((-7.6311770711312E-09,-1.43796308472523E-06,0.999999999998966));
38+
#31=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#32);
39+
#32=IFCTRIMMEDCURVE(#33,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632671677)),.T.,.PARAMETER.);
40+
#33=IFCCIRCLE(#34,30.);
41+
#34=IFCAXIS2PLACEMENT3D(#29,#13,#24);
42+
#35=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#36);
43+
#36=IFCTRIMMEDCURVE(#37,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(830.000000050748)),.T.,.PARAMETER.);
44+
#37=IFCLINE(#38,#39);
45+
#38=IFCCARTESIANPOINT((-780.000000043591,-0.00119724830085488,6.19616713493087E-09));
46+
#39=IFCVECTOR(#7,1.);
47+
#40=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#41);
48+
#41=IFCTRIMMEDCURVE(#42,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632671683)),.T.,.PARAMETER.);
49+
#42=IFCCIRCLE(#43,30.);
50+
#43=IFCAXIS2PLACEMENT3D(#44,#45,#30);
51+
#44=IFCCARTESIANPOINT((50.0000000061672,0.000139476887909495,-29.999999991404));
52+
#45=IFCDIRECTION((-1.53493371287315E-06,0.999999999996636,2.09100689982117E-06));
53+
#46=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#47);
54+
#47=IFCTRIMMEDCURVE(#48,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.5707963268731)),.T.,.PARAMETER.);
55+
#48=IFCCIRCLE(#49,30.);
56+
#49=IFCAXIS2PLACEMENT3D(#44,#45,#7);
57+
#50=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#51);
58+
#51=IFCTRIMMEDCURVE(#52,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(830.000000010356)),.T.,.PARAMETER.);
59+
#52=IFCLINE(#53,#54);
60+
#53=IFCCARTESIANPOINT((50.0000000126015,0.000202207094901041,-59.9999999848882));
61+
#54=IFCVECTOR(#24,1.);
62+
#55=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#56);
63+
#56=IFCTRIMMEDCURVE(#57,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632687285)),.T.,.PARAMETER.);
64+
#57=IFCCIRCLE(#58,30.);
65+
#58=IFCAXIS2PLACEMENT3D(#59,#13,#30);
66+
#59=IFCCARTESIANPOINT((-779.999999996792,-0.00100905767979498,-89.9999999870483));
67+
#60=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#61);
68+
#61=IFCTRIMMEDCURVE(#62,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632671727)),.T.,.PARAMETER.);
69+
#62=IFCCIRCLE(#63,30.);
70+
#63=IFCAXIS2PLACEMENT3D(#59,#13,#24);
71+
#64=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#65);
72+
#65=IFCTRIMMEDCURVE(#66,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(830.000000020537)),.T.,.PARAMETER.);
73+
#66=IFCLINE(#67,#6);
74+
#67=IFCCARTESIANPOINT((-780.000000004069,-0.000946327472831854,-119.999999979712));
75+
#68=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#69);
76+
#69=IFCTRIMMEDCURVE(#70,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632671727)),.T.,.PARAMETER.);
77+
#70=IFCCIRCLE(#71,30.);
78+
#71=IFCAXIS2PLACEMENT3D(#72,#45,#30);
79+
#72=IFCCARTESIANPOINT((50.000000015484,0.000390397715875679,-149.999999977149));
80+
#73=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#74);
81+
#74=IFCTRIMMEDCURVE(#75,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632687272)),.T.,.PARAMETER.);
82+
#75=IFCCIRCLE(#76,30.);
83+
#76=IFCAXIS2PLACEMENT3D(#72,#45,#7);
84+
#77=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#78);
85+
#78=IFCTRIMMEDCURVE(#79,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(830.000000012055)),.T.,.PARAMETER.);
86+
#79=IFCLINE(#80,#81);
87+
#80=IFCCARTESIANPOINT((50.0000000236123,0.000453127922384056,-179.999999968943));
88+
#81=IFCVECTOR(#24,1.);
89+
#82=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#83);
90+
#83=IFCTRIMMEDCURVE(#84,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632687303)),.T.,.PARAMETER.);
91+
#84=IFCCIRCLE(#85,30.);
92+
#85=IFCAXIS2PLACEMENT3D(#86,#13,#30);
93+
#86=IFCCARTESIANPOINT((-779.999999987477,-0.000758136858621583,-209.999999971212));
94+
#87=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#88);
95+
#88=IFCTRIMMEDCURVE(#89,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632671677)),.T.,.PARAMETER.);
96+
#89=IFCCIRCLE(#90,30.);
97+
#90=IFCAXIS2PLACEMENT3D(#86,#13,#24);
98+
#91=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#92);
99+
#92=IFCTRIMMEDCURVE(#93,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(830.000000022394)),.T.,.PARAMETER.);
100+
#93=IFCLINE(#94,#6);
101+
#94=IFCCARTESIANPOINT((-779.999999996613,-0.000695406645348839,-239.999999962022));
102+
#95=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#96);
103+
#96=IFCTRIMMEDCURVE(#97,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632671677)),.T.,.PARAMETER.);
104+
#97=IFCCIRCLE(#98,30.);
105+
#98=IFCAXIS2PLACEMENT3D(#99,#45,#30);
106+
#99=IFCCARTESIANPOINT((50.0000000247918,0.000641318529773116,-269.999999959623));
107+
#100=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#101);
108+
#101=IFCTRIMMEDCURVE(#102,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632684798)),.T.,.PARAMETER.);
109+
#102=IFCCIRCLE(#103,30.);
110+
#103=IFCAXIS2PLACEMENT3D(#99,#45,#7);
111+
#104=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#105);
112+
#105=IFCTRIMMEDCURVE(#106,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(830.000000014769)),.T.,.PARAMETER.);
113+
#106=IFCLINE(#107,#54);
114+
#107=IFCCARTESIANPOINT((50.0000000348932,0.000704048736281493,-299.999999950195));
115+
#108=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#109);
116+
#109=IFCTRIMMEDCURVE(#110,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632684779)),.T.,.PARAMETER.);
117+
#110=IFCCIRCLE(#111,30.);
118+
#111=IFCAXIS2PLACEMENT3D(#112,#13,#30);
119+
#112=IFCCARTESIANPOINT((-779.999999978158,-0.000507216038386105,-329.999999973254));
120+
#113=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#114);
121+
#114=IFCTRIMMEDCURVE(#115,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632671708)),.T.,.PARAMETER.);
122+
#115=IFCCIRCLE(#116,30.);
123+
#116=IFCAXIS2PLACEMENT3D(#112,#13,#24);
124+
#117=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#118);
125+
#118=IFCTRIMMEDCURVE(#119,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(830.000000045739)),.T.,.PARAMETER.);
126+
#119=IFCLINE(#120,#39);
127+
#120=IFCCARTESIANPOINT((-780.000000010641,-0.000444485830996655,-359.999999940715));
128+
#121=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#122);
129+
#122=IFCTRIMMEDCURVE(#123,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.5707963267169)),.T.,.PARAMETER.);
130+
#123=IFCCIRCLE(#124,30.);
131+
#124=IFCAXIS2PLACEMENT3D(#125,#45,#30);
132+
#125=IFCCARTESIANPOINT((50.0000000341123,0.000892239371324877,-389.999999938206));
133+
#126=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#127);
134+
#127=IFCTRIMMEDCURVE(#128,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632687303)),.T.,.PARAMETER.);
135+
#128=IFCCIRCLE(#129,30.);
136+
#129=IFCAXIS2PLACEMENT3D(#125,#45,#7);
137+
#130=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#131);
138+
#131=IFCTRIMMEDCURVE(#132,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(830.000000015602)),.T.,.PARAMETER.);
139+
#132=IFCLINE(#133,#81);
140+
#133=IFCCARTESIANPOINT((50.0000000457892,0.000954969578799592,-419.999999926452));
141+
#134=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#135);
142+
#135=IFCTRIMMEDCURVE(#136,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.5707963268729)),.T.,.PARAMETER.);
143+
#136=IFCCIRCLE(#137,30.);
144+
#137=IFCAXIS2PLACEMENT3D(#138,#13,#30);
145+
#138=IFCCARTESIANPOINT((-779.999999968847,-0.000256295203172385,-449.99999992872));
146+
#139=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#140);
147+
#140=IFCTRIMMEDCURVE(#141,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632671695)),.T.,.PARAMETER.);
148+
#141=IFCCIRCLE(#142,30.);
149+
#142=IFCAXIS2PLACEMENT3D(#138,#13,#24);
150+
#143=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#144);
151+
#144=IFCTRIMMEDCURVE(#145,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(830.000000026012)),.T.,.PARAMETER.);
152+
#145=IFCLINE(#146,#6);
153+
#146=IFCCARTESIANPOINT((-779.999999981592,-0.00019356500300205,-479.99999991592));
154+
#147=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#148);
155+
#148=IFCTRIMMEDCURVE(#149,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632671695)),.T.,.PARAMETER.);
156+
#149=IFCCIRCLE(#150,30.);
157+
#150=IFCAXIS2PLACEMENT3D(#151,#45,#30);
158+
#151=IFCCARTESIANPOINT((50.0000000434328,0.0011431601920151,-509.999999913466));
159+
#152=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#153);
160+
#153=IFCTRIMMEDCURVE(#154,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632687284)),.T.,.PARAMETER.);
161+
#154=IFCCIRCLE(#155,30.);
162+
#155=IFCAXIS2PLACEMENT3D(#151,#45,#7);
163+
#156=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#157);
164+
#157=IFCTRIMMEDCURVE(#158,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(830.000000017407)),.T.,.PARAMETER.);
165+
#158=IFCLINE(#159,#23);
166+
#159=IFCCARTESIANPOINT((50.0000000569123,0.00120589039272545,-539.999999899911));
167+
#160=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#161);
168+
#161=IFCTRIMMEDCURVE(#162,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632687284)),.T.,.PARAMETER.);
169+
#162=IFCCIRCLE(#163,30.);
170+
#163=IFCAXIS2PLACEMENT3D(#164,#13,#30);
171+
#164=IFCCARTESIANPOINT((-779.999999959526,-5.37437568937094E-06,-569.999999902234));
172+
#165=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#166);
173+
#166=IFCTRIMMEDCURVE(#167,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632671702)),.T.,.PARAMETER.);
174+
#167=IFCCIRCLE(#168,30.);
175+
#168=IFCAXIS2PLACEMENT3D(#164,#13,#24);
176+
#169=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#170);
177+
#170=IFCTRIMMEDCURVE(#171,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(830.000000027747)),.T.,.PARAMETER.);
178+
#171=IFCLINE(#172,#6);
179+
#172=IFCCARTESIANPOINT((-779.999999974015,5.73558244809647E-05,-599.999999887687));
180+
#173=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#174);
181+
#174=IFCTRIMMEDCURVE(#175,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632671702)),.T.,.PARAMETER.);
182+
#175=IFCCIRCLE(#176,30.);
183+
#176=IFCAXIS2PLACEMENT3D(#177,#45,#30);
184+
#177=IFCCARTESIANPOINT((50.000000052746,0.0013940810131885,-629.999999885179));
185+
#178=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#179);
186+
#179=IFCTRIMMEDCURVE(#180,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632687284)),.T.,.PARAMETER.);
187+
#180=IFCCIRCLE(#181,30.);
188+
#181=IFCAXIS2PLACEMENT3D(#177,#45,#7);
189+
#182=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#183);
190+
#183=IFCTRIMMEDCURVE(#184,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(830.000000020899)),.T.,.PARAMETER.);
191+
#184=IFCLINE(#185,#186);
192+
#185=IFCCARTESIANPOINT((50.0000000680901,0.00145681122018004,-659.999999869759));
193+
#186=IFCVECTOR(#24,1.);
194+
#187=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#188);
195+
#188=IFCTRIMMEDCURVE(#189,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632681858)),.T.,.PARAMETER.);
196+
#189=IFCCIRCLE(#190,30.);
197+
#190=IFCAXIS2PLACEMENT3D(#191,#45,#14);
198+
#191=IFCCARTESIANPOINT((-779.999999951821,0.000120086031500932,-629.999999872213));
199+
#192=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#193);
200+
#193=IFCTRIMMEDCURVE(#194,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(1.57079632677046)),.T.,.PARAMETER.);
201+
#194=IFCCIRCLE(#195,30.);
202+
#195=IFCAXIS2PLACEMENT3D(#191,#45,#24);
203+
#196=IFCCOMPOSITECURVESEGMENT(.DISCONTINUOUS.,.T.,#197);
204+
#197=IFCTRIMMEDCURVE(#171,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(50.000000000928)),.T.,.PARAMETER.);
205+
#198=IFCPROJECT('1EVvgQI8b09w9KP51HvyfM',#209,'Viaduc du Cher',$,$,$,$,(#210),#214);
206+
#199=IFCOWNERHISTORY(#202,#203,$,.ADDED.,1588075815,$,$,0);
207+
#200=IFCPERSON($,'Steve','',$,$,$,$,$);
208+
#201=IFCORGANIZATION($,'Unspecified',$,$,$);
209+
#202=IFCPERSONANDORGANIZATION(#200,#201,$);
210+
#203=IFCAPPLICATION(#201,'Unspecified','Unspecified',$);
211+
#204=IFCOWNERHISTORY(#205,#208,$,.NOCHANGE.,$,$,$,1489153534);
212+
#205=IFCPERSONANDORGANIZATION(#206,#207,$);
213+
#206=IFCPERSON('VINCIC-FR\\nicolas.legain','Undefined',$,$,$,$,$,$);
214+
#207=IFCORGANIZATION($,'Trimble Solutions Corporation',$,$,$);
215+
#208=IFCAPPLICATION(#207,'2016 Service Pack 5','Tekla Structures','Multi material modeling');
216+
#209=IFCOWNERHISTORY(#202,#203,$,.MODIFIED.,1588075815,$,$,0);
217+
#210=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#211,$);
218+
#211=IFCAXIS2PLACEMENT3D(#5,#212,#213);
219+
#212=IFCDIRECTION((0.,0.,1.));
220+
#213=IFCDIRECTION((1.,0.,0.));
221+
#214=IFCUNITASSIGNMENT((#215,#216,#217,#218,#219,#220,#221,#222,#223));
222+
#215=IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
223+
#216=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
224+
#217=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);
225+
#218=IFCSIUNIT(*,.MASSUNIT.,.KILO.,.GRAM.);
226+
#219=IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.);
227+
#220=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
228+
#221=IFCSIUNIT(*,.SOLIDANGLEUNIT.,$,.STERADIAN.);
229+
#222=IFCSIUNIT(*,.THERMODYNAMICTEMPERATUREUNIT.,$,.DEGREE_CELSIUS.);
230+
#223=IFCSIUNIT(*,.LUMINOUSINTENSITYUNIT.,$,.LUMEN.);
231+
ENDSEC;
232+
END-ISO-10303-21;

Xbim.Geometry.Engine.Interop.Tests/WireAndFaceTests.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,17 @@ static public void Cleanup()
3232
geomEngine = null;
3333
logger = null;
3434
}
35+
36+
[TestMethod]
37+
public void Composite_curve_issue_261()
38+
{
39+
using (var model = MemoryModel.OpenRead(@"TestFiles\Composite_curve_issue_261.ifc"))
40+
{
41+
var composite_curve = model.Instances.OfType<IIfcCompositeCurve>().FirstOrDefault();
42+
var wire = geomEngine.CreateWire(composite_curve);
43+
}
44+
}
45+
3546
[TestMethod]
3647
public void TestIfFaceIsPlanar()
3748
{

Xbim.Geometry.Engine.Interop.Tests/Xbim.Geometry.Engine.Interop.Tests.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@
5454
<None Update="TestFiles\complex.ifc">
5555
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
5656
</None>
57+
<None Update="TestFiles\composite_curve_issue_261.ifc">
58+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
59+
</None>
5760
<None Update="TestFiles\composite_curve_with_disconnection.ifc">
5861
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
5962
</None>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#include "WireFactory.h"
2+
3+
4+
// Builds a wire from a list of contiguous edges, duplicate vertices at nodes are removed
5+
int WireFactory::Make(TopTools_ListOfShape& edgeList, TopoDS_Wire& resultWire)
6+
{
7+
8+
return 0;
9+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#pragma once
2+
#include <TopTools_ListOfShape.hxx>
3+
#include <TopoDS_Edge.hxx>
4+
#include <TopoDS_Wire.hxx>
5+
class WireFactory
6+
{
7+
public:
8+
// Builds a wire from a list of contiguous edges, duplicate vertices at nodes are removed
9+
static int Make(TopTools_ListOfShape& edgeList, TopoDS_Wire& resultWire);
10+
};
11+

Xbim.Geometry.Engine/Xbim.Geometry.Engine.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@
180180
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
181181
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
182182
</ClCompile>
183+
<ClCompile Include="Factories\WireFactory.cpp" />
183184
</ItemGroup>
184185
<ItemGroup>
185186
<ResourceCompile Include="app.rc" />
@@ -188,6 +189,7 @@
188189
<Image Include="app.ico" />
189190
</ItemGroup>
190191
<ItemGroup>
192+
<ClInclude Include="Factories\WireFactory.h" />
191193
<ClInclude Include="XbimConstraints.h" />
192194
</ItemGroup>
193195
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

Xbim.Geometry.Engine/Xbim.Geometry.Engine.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9423,6 +9423,9 @@
94239423
<ClInclude Include="OCC\src\Standard\Standard_ReadLineBuffer.hxx">
94249424
<Filter>Header Files</Filter>
94259425
</ClInclude>
9426+
<ClInclude Include="Factories\WireFactory.h">
9427+
<Filter>Header Files</Filter>
9428+
</ClInclude>
94269429
</ItemGroup>
94279430
<ItemGroup>
94289431
<ClCompile Include="Stdafx.cpp">
@@ -15317,6 +15320,9 @@
1531715320
<ClCompile Include=".\OCC\src\IMeshTools\\IMeshTools_ShapeExplorer.cxx">
1531815321
<Filter>Source Files</Filter>
1531915322
</ClCompile>
15323+
<ClCompile Include="Factories\WireFactory.cpp">
15324+
<Filter>Source Files</Filter>
15325+
</ClCompile>
1532015326
</ItemGroup>
1532115327
<ItemGroup>
1532215328
<ResourceCompile Include="app.rc">

0 commit comments

Comments
 (0)