Skip to content

Commit 751efeb

Browse files
civilx64aothms
authored andcommitted
add feature and unit test files for LIP000
(IVS-367)
1 parent f69dcea commit 751efeb

File tree

3 files changed

+6876
-0
lines changed

3 files changed

+6876
-0
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
@implementer-agreement
2+
@LIP
3+
@version1
4+
@E00020
5+
6+
Feature: LIP000 - Linear Placement
7+
The rule verifies the presence of IFC entities used to position elements relative to an IfcLinearPositioningElement
8+
in accordance with the ISO 19148 Linear referencing standard.
9+
https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/concepts/Product_Shape/Product_Placement/Product_Linear_Placement/content.html
10+
11+
Scenario: Check for activation
12+
13+
Given an IfcProduct
14+
Given its attribute ObjectPlacement
15+
Given its entity type is 'IfcLinearPlacement'
16+
17+
Then The IFC model contains information on the selected functional part
18+
19+
Lines changed: 263 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,263 @@
1+
ISO-10303-21;
2+
HEADER;
3+
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
4+
FILE_NAME('na-lip000-no_linear_placements.ifc','2024-05-09T17:23:26',(''),(''),'IfcOpenShell v0.8.0-0d3c73de8','IfcOpenShell v0.8.0-0d3c73de8','');
5+
FILE_SCHEMA(('IFC4X3_ADD2'));
6+
ENDSEC;
7+
DATA;
8+
#1=IFCPROJECT('3gBfk1WGb31hE05x8sU7cs',$,'redacted','redacted',$,$,$,(#15),#10);
9+
#2=IFCDIMENSIONALEXPONENTS(1,0,0,0,0,0,0);
10+
#3=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
11+
#4=IFCMEASUREWITHUNIT(IFCREAL(0.3048),#3);
12+
#5=IFCCONVERSIONBASEDUNIT(#2,.LENGTHUNIT.,'foot',#4);
13+
#6=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0);
14+
#7=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
15+
#8=IFCMEASUREWITHUNIT(IFCREAL(0.0174532925199433),#7);
16+
#9=IFCCONVERSIONBASEDUNIT(#6,.PLANEANGLEUNIT.,'degree',#8);
17+
#10=IFCUNITASSIGNMENT((#9,#5));
18+
#11=IFCCARTESIANPOINT((0.,0.,0.));
19+
#12=IFCDIRECTION((0.,0.,1.));
20+
#13=IFCDIRECTION((1.,0.,0.));
21+
#14=IFCAXIS2PLACEMENT3D(#11,#12,#13);
22+
#15=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#14,$);
23+
#16=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#15,$,.MODEL_VIEW.,$);
24+
#17=IFCCARTESIANPOINT((0.,0.,0.));
25+
#18=IFCAXIS2PLACEMENT3D(#17,$,$);
26+
#19=IFCLOCALPLACEMENT($,#18);
27+
#20=IFCCARTESIANPOINT((500.,2500.));
28+
#21=IFCCARTESIANPOINT((2142.2379952109395,1436.0148200041801));
29+
#22=IFCCARTESIANPOINT((3660.4461228478035,2050.7361731594665));
30+
#23=IFCCARTESIANPOINT((4084.1158842366417,3889.4629375870218));
31+
#24=IFCCARTESIANPOINT((5469.3950672062711,4847.5663099476196));
32+
#25=IFCCARTESIANPOINT((7019.9713668584172,4638.2860731847531));
33+
#26=IFCCARTESIANPOINT((7790.9321283125864,4006.7307645487531));
34+
#27=IFCCARTESIANPOINT((8480.,2010.));
35+
#28=IFCCARTESIANPOINT((0.,0.));
36+
#29=IFCDIRECTION((1.,0.));
37+
#30=IFCVECTOR(#29,1.);
38+
#31=IFCLINE(#28,#30);
39+
#32=IFCDIRECTION((0.839252879718438,-0.5437413023527907));
40+
#33=IFCAXIS2PLACEMENT2D(#20,#32);
41+
#34=IFCCURVESEGMENT(.CONTSAMEGRADIENT.,#33,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1956.785654),#31);
42+
#35=IFCALIGNMENTHORIZONTALSEGMENT($,$,#20,5.70829654085293,0.,0.,1956.785654,$,.LINE.);
43+
#36=IFCALIGNMENTSEGMENT('0l0j8v6RDBCeB8YNNAI$PB',$,$,$,$,#19,#209,#35);
44+
#37=IFCCARTESIANPOINT((0.,0.));
45+
#38=IFCDIRECTION((1.,0.));
46+
#39=IFCAXIS2PLACEMENT2D(#37,#38);
47+
#40=IFCCIRCLE(#39,1000.);
48+
#41=IFCDIRECTION((0.839252879718438,-0.5437413023527907));
49+
#42=IFCAXIS2PLACEMENT2D(#21,#41);
50+
#43=IFCCURVESEGMENT(.CONTSAMEGRADIENT.,#42,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1919.222667),#40);
51+
#44=IFCALIGNMENTHORIZONTALSEGMENT($,$,#21,5.70829654085293,1000.,1000.,1919.222667,$,.CIRCULARARC.);
52+
#45=IFCALIGNMENTSEGMENT('0mzj4Ogxv69wpeHiKeJTfD',$,$,$,$,#19,#211,#44);
53+
#46=IFCCARTESIANPOINT((0.,0.));
54+
#47=IFCDIRECTION((1.,0.));
55+
#48=IFCVECTOR(#47,1.);
56+
#49=IFCLINE(#46,#48);
57+
#50=IFCDIRECTION((0.2245315265631509,0.9744668252840736));
58+
#51=IFCAXIS2PLACEMENT2D(#22,#50);
59+
#52=IFCCURVESEGMENT(.CONTSAMEGRADIENT.,#51,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1886.905454),#49);
60+
#53=IFCALIGNMENTHORIZONTALSEGMENT($,$,#22,1.34433462036088,0.,0.,1886.905454,$,.LINE.);
61+
#54=IFCALIGNMENTSEGMENT('1h98qG98r5yfwFwxFSS50z',$,$,$,$,#19,#213,#53);
62+
#55=IFCCARTESIANPOINT((0.,0.));
63+
#56=IFCDIRECTION((1.,0.));
64+
#57=IFCAXIS2PLACEMENT2D(#55,#56);
65+
#58=IFCCIRCLE(#57,1250.);
66+
#59=IFCDIRECTION((0.2245315265631509,0.9744668252840736));
67+
#60=IFCAXIS2PLACEMENT2D(#23,#59);
68+
#61=IFCCURVESEGMENT(.CONTSAMEGRADIENT.,#60,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(-1848.115835),#58);
69+
#62=IFCALIGNMENTHORIZONTALSEGMENT($,$,#23,1.34433462036088,-1250.,-1250.,1848.115835,$,.CIRCULARARC.);
70+
#63=IFCALIGNMENTSEGMENT('23hK8vGBb2Yhi_NVDrOpgc',$,$,$,$,#19,#215,#62);
71+
#64=IFCCARTESIANPOINT((0.,0.));
72+
#65=IFCDIRECTION((1.,0.));
73+
#66=IFCVECTOR(#65,1.);
74+
#67=IFCLINE(#64,#66);
75+
#68=IFCDIRECTION((0.9910142244516291,-0.133756521091631));
76+
#69=IFCAXIS2PLACEMENT2D(#24,#68);
77+
#70=IFCCURVESEGMENT(.CONTSAMEGRADIENT.,#69,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1564.635765),#67);
78+
#71=IFCALIGNMENTHORIZONTALSEGMENT($,$,#24,6.14902708356654,0.,0.,1564.635765,$,.LINE.);
79+
#72=IFCALIGNMENTSEGMENT('2Q24YarsHB9w7Dv83XotN$',$,$,$,$,#19,#217,#71);
80+
#73=IFCCARTESIANPOINT((0.,0.));
81+
#74=IFCDIRECTION((1.,0.));
82+
#75=IFCAXIS2PLACEMENT2D(#73,#74);
83+
#76=IFCCIRCLE(#75,950.);
84+
#77=IFCDIRECTION((0.9910142244516291,-0.133756521091631));
85+
#78=IFCAXIS2PLACEMENT2D(#25,#77);
86+
#79=IFCCURVESEGMENT(.CONTSAMEGRADIENT.,#78,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(-1049.119737),#76);
87+
#80=IFCALIGNMENTHORIZONTALSEGMENT($,$,#25,6.14902708356654,-950.,-950.,1049.119737,$,.CIRCULARARC.);
88+
#81=IFCALIGNMENTSEGMENT('1w1Lqb03b7oRO63IlSlOVV',$,$,$,$,#19,#219,#80);
89+
#82=IFCCARTESIANPOINT((0.,0.));
90+
#83=IFCDIRECTION((1.,0.));
91+
#84=IFCVECTOR(#83,1.);
92+
#85=IFCLINE(#82,#84);
93+
#86=IFCDIRECTION((0.32621916272952456,-0.9452941647275985));
94+
#87=IFCAXIS2PLACEMENT2D(#26,#86);
95+
#88=IFCCURVESEGMENT(.CONTSAMEGRADIENT.,#87,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(2112.285084),#85);
96+
#89=IFCALIGNMENTHORIZONTALSEGMENT($,$,#26,5.04469094331815,0.,0.,2112.285084,$,.LINE.);
97+
#90=IFCALIGNMENTSEGMENT('2gKMs$3SHEuPd2EmSii2Mp',$,$,$,$,#19,#221,#89);
98+
#91=IFCCARTESIANPOINT((0.,0.));
99+
#92=IFCDIRECTION((1.,0.));
100+
#93=IFCVECTOR(#92,1.);
101+
#94=IFCLINE(#91,#93);
102+
#95=IFCDIRECTION((0.32621916272952456,-0.9452941647275985));
103+
#96=IFCAXIS2PLACEMENT2D(#27,#95);
104+
#97=IFCCURVESEGMENT(.DISCONTINUOUS.,#96,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(0.),#94);
105+
#98=IFCALIGNMENTHORIZONTALSEGMENT($,$,#27,5.04469094331815,0.,0.,0.,$,.LINE.);
106+
#99=IFCALIGNMENTSEGMENT('3VsuawXZ9C5Q_H6vNkMJyV',$,$,$,$,#19,#223,#98);
107+
#100=IFCALIGNMENTHORIZONTAL('1GSctYAPXBLBqLY$C$1OKk',$,$,'Horizontal Alignment',$,$,$);
108+
#101=IFCRELNESTS('2G2ZSkETX2vBjVsWORqJWp',$,$,'Nests alignment segments with horizontal alignment',#100,(#36,#45,#54,#63,#72,#81,#90,#99));
109+
#102=IFCCOMPOSITECURVE((#34,#43,#52,#61,#70,#79,#88,#97),.F.);
110+
#103=IFCSHAPEREPRESENTATION(#16,'FootPrint','Curve2D',(#102));
111+
#104=IFCCARTESIANPOINT((0.,100.));
112+
#105=IFCCARTESIANPOINT((1200.,121.));
113+
#106=IFCCARTESIANPOINT((2800.,127.));
114+
#107=IFCCARTESIANPOINT((4400.,111.));
115+
#108=IFCCARTESIANPOINT((5600.,117.));
116+
#109=IFCCARTESIANPOINT((6400.,133.));
117+
#110=IFCCARTESIANPOINT((8400.,133.));
118+
#111=IFCCARTESIANPOINT((9400.,113.));
119+
#112=IFCCARTESIANPOINT((10200.,103.));
120+
#113=IFCCARTESIANPOINT((12800.,90.));
121+
#114=IFCCARTESIANPOINT((0.,0.));
122+
#115=IFCDIRECTION((1.,0.));
123+
#116=IFCVECTOR(#115,1.);
124+
#117=IFCLINE(#114,#116);
125+
#118=IFCDIRECTION((0.999846910161925,0.01749732092783369));
126+
#119=IFCAXIS2PLACEMENT2D(#104,#118);
127+
#120=IFCCURVESEGMENT(.CONTSAMEGRADIENT.,#119,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1200.18373593),#117);
128+
#121=IFCALIGNMENTVERTICALSEGMENT($,$,0.,1200.,100.,0.0175,0.0175,$,.CONSTANTGRADIENT.);
129+
#122=IFCALIGNMENTSEGMENT('0XlKtmjWP31vWH3pMFVFZ0',$,$,$,$,#19,#225,#121);
130+
#123=IFCCARTESIANPOINT((0.,0.));
131+
#124=IFCDIRECTION((1.,0.));
132+
#125=IFCAXIS2PLACEMENT2D(#123,#124);
133+
#126=IFCPOLYNOMIALCURVE(#125,(0.,1.),(121.,0.0175,-8.59375E-06),$);
134+
#127=IFCDIRECTION((0.999846910161925, 0.01749732092783369));
135+
#128=IFCAXIS2PLACEMENT2D(#105,#127);
136+
#129=IFCCURVESEGMENT(.CONTSAMEGRADIENT.,#128,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1600.0616641341207),#126);
137+
#130=IFCALIGNMENTVERTICALSEGMENT($,$,1200.,1600.,121.,0.0175,-0.01,-58181.8181818182,.PARABOLICARC.);
138+
#131=IFCALIGNMENTSEGMENT('2hO3vvQE5AdeS5Eme$f7QL',$,$,$,$,#19,#227,#130);
139+
#132=IFCCARTESIANPOINT((0.,0.));
140+
#133=IFCDIRECTION((1.,0.));
141+
#134=IFCVECTOR(#133,1.);
142+
#135=IFCLINE(#132,#134);
143+
#136=IFCDIRECTION((0.9999500037496875,-0.009999500037496875));
144+
#137=IFCAXIS2PLACEMENT2D(#106,#136);
145+
#138=IFCCURVESEGMENT(.CONTSAMEGRADIENT.,#137,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1600.079998),#135);
146+
#139=IFCALIGNMENTVERTICALSEGMENT($,$,2800.,1600.,127.,-0.01,-0.01,$,.CONSTANTGRADIENT.);
147+
#140=IFCALIGNMENTSEGMENT('3L5Oy3T4b7WhE4BOy1vRNB',$,$,$,$,#19,#229,#139);
148+
#141=IFCCARTESIANPOINT((0.,0.));
149+
#142=IFCDIRECTION((1.,0.));
150+
#143=IFCAXIS2PLACEMENT2D(#141,#142);
151+
#144=IFCPOLYNOMIALCURVE(#143,(0.,1.),(111.,-0.01,1.25E-05),$);
152+
#145=IFCDIRECTION((0.9999500037496875,-0.009999500037496875));
153+
#146=IFCAXIS2PLACEMENT2D(#107,#145);
154+
#147=IFCCURVESEGMENT(.CONTSAMEGRADIENT.,#146,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1200.0599967004605),#144);
155+
#148=IFCALIGNMENTVERTICALSEGMENT($,$,4400.,1200.,111.,-0.01,0.02,40000.,.PARABOLICARC.);
156+
#149=IFCALIGNMENTSEGMENT('1PoEOI_HrBQupTSE4S8eo9',$,$,$,$,#19,#231,#148);
157+
#150=IFCCARTESIANPOINT((0.,0.));
158+
#151=IFCDIRECTION((1.,0.));
159+
#152=IFCVECTOR(#151,1.);
160+
#153=IFCLINE(#150,#152);
161+
#154=IFCDIRECTION((0.999800059980007,0.01999600119960014));
162+
#155=IFCAXIS2PLACEMENT2D(#108,#154);
163+
#156=IFCCURVESEGMENT(.CONTSAMEGRADIENT.,#155,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(800.159984003),#153);
164+
#157=IFCALIGNMENTVERTICALSEGMENT($,$,5600.,800.,117.,0.02,0.02,$,.CONSTANTGRADIENT.);
165+
#158=IFCALIGNMENTSEGMENT('1CTHPAShTEheZJuik5XMM7',$,$,$,$,#19,#233,#157);
166+
#159=IFCCARTESIANPOINT((0.,0.));
167+
#160=IFCDIRECTION((1.,0.));
168+
#161=IFCAXIS2PLACEMENT2D(#159,#160);
169+
#162=IFCPOLYNOMIALCURVE(#161,(0.,1.),(133.,0.02,-1.E-05),$);
170+
#163=IFCDIRECTION((0.999800059980007,0.01999600119960014));
171+
#164=IFCAXIS2PLACEMENT2D(#109,#163);
172+
#165=IFCCURVESEGMENT(.CONTSAMEGRADIENT.,#164,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(2000.1333253344758),#162);
173+
#166=IFCALIGNMENTVERTICALSEGMENT($,$,6400.,2000.,133.,0.02,-0.02,-50000.,.PARABOLICARC.);
174+
#167=IFCALIGNMENTSEGMENT('2oM9hedcr8FQ1BmLfJrmq0',$,$,$,$,#19,#235,#166);
175+
#168=IFCCARTESIANPOINT((0.,0.));
176+
#169=IFCDIRECTION((1.,0.));
177+
#170=IFCVECTOR(#169,1.);
178+
#171=IFCLINE(#168,#170);
179+
#172=IFCDIRECTION((0.999800059980007,-0.01999600119960014));
180+
#173=IFCAXIS2PLACEMENT2D(#110,#172);
181+
#174=IFCCURVESEGMENT(.CONTSAMEGRADIENT.,#173,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(1000.19998),#171);
182+
#175=IFCALIGNMENTVERTICALSEGMENT($,$,8400.,1000.,133.,-0.02,-0.02,$,.CONSTANTGRADIENT.);
183+
#176=IFCALIGNMENTSEGMENT('0QLhiodhHADRBlFR0cDN18',$,$,$,$,#19,#237,#175);
184+
#177=IFCCARTESIANPOINT((0.,0.));
185+
#178=IFCDIRECTION((1.,0.));
186+
#179=IFCAXIS2PLACEMENT2D(#177,#178);
187+
#180=IFCPOLYNOMIALCURVE(#179,(0.,1.),(113.,-0.02,9.375E-06),$);
188+
#181=IFCDIRECTION((0.999800059980007, -0.01999600119960014));
189+
#182=IFCAXIS2PLACEMENT2D(#111,#181);
190+
#183=IFCCURVESEGMENT(.CONTSAMEGRADIENT.,#182,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(800.0699957381095),#180);
191+
#184=IFCALIGNMENTVERTICALSEGMENT($,$,9400.,800.,113.,-0.02,-0.005,53333.3333333333,.PARABOLICARC.);
192+
#185=IFCALIGNMENTSEGMENT('3SsqC72Jf8quv1zyfESK3_',$,$,$,$,#19,#239,#184);
193+
#186=IFCCARTESIANPOINT((0.,0.));
194+
#187=IFCDIRECTION((1.,0.));
195+
#188=IFCVECTOR(#187,1.);
196+
#189=IFCLINE(#186,#188);
197+
#190=IFCDIRECTION((0.99998750023437,-0.00499993750117185));
198+
#191=IFCAXIS2PLACEMENT2D(#112,#190);
199+
#192=IFCCURVESEGMENT(.CONTSAMEGRADIENT.,#191,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(2600.0324998),#189);
200+
#193=IFCALIGNMENTVERTICALSEGMENT($,$,10200.,2600.,103.,-0.005,-0.005,$,.CONSTANTGRADIENT.);
201+
#194=IFCALIGNMENTSEGMENT('1i9TFEUQb2Wfq8uoDmHMoN',$,$,$,$,#19,#241,#193);
202+
#195=IFCCARTESIANPOINT((0.,0.));
203+
#196=IFCDIRECTION((1.,0.));
204+
#197=IFCVECTOR(#196,1.);
205+
#198=IFCLINE(#195,#197);
206+
#199=IFCDIRECTION((0.99998750023437,-0.00499993750117185));
207+
#200=IFCAXIS2PLACEMENT2D(#113,#199);
208+
#201=IFCCURVESEGMENT(.DISCONTINUOUS.,#200,IFCLENGTHMEASURE(0.),IFCLENGTHMEASURE(0.),#198);
209+
#202=IFCALIGNMENTVERTICALSEGMENT($,$,12800.,0.,90.,-0.005,-0.005,$,.CONSTANTGRADIENT.);
210+
#203=IFCALIGNMENTSEGMENT('2xvlbcbq97rekoQeRbcTLN',$,$,$,$,#19,#243,#202);
211+
#204=IFCALIGNMENTVERTICAL('2Z5fs9Q4L07hJeDqlcjcRT',$,$,'Vertical Alignment',$,$,$);
212+
#205=IFCRELNESTS('0Un9JsGS54kh7P5Bua6A8h',$,$,'Nests alignment segments with vertical alignment',#204,(#122,#131,#140,#149,#158,#167,#176,#185,#194,#203));
213+
#206=IFCGRADIENTCURVE((#120,#129,#138,#147,#156,#165,#174,#183,#192,#201),.F.,#102,$);
214+
#207=IFCSHAPEREPRESENTATION(#16,'Axis','Curve3D',(#206));
215+
#208=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#34));
216+
#209=IFCPRODUCTDEFINITIONSHAPE($,$,(#208));
217+
#210=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#43));
218+
#211=IFCPRODUCTDEFINITIONSHAPE($,$,(#210));
219+
#212=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#52));
220+
#213=IFCPRODUCTDEFINITIONSHAPE($,$,(#212));
221+
#214=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#61));
222+
#215=IFCPRODUCTDEFINITIONSHAPE($,$,(#214));
223+
#216=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#70));
224+
#217=IFCPRODUCTDEFINITIONSHAPE($,$,(#216));
225+
#218=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#79));
226+
#219=IFCPRODUCTDEFINITIONSHAPE($,$,(#218));
227+
#220=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#88));
228+
#221=IFCPRODUCTDEFINITIONSHAPE($,$,(#220));
229+
#222=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#97));
230+
#223=IFCPRODUCTDEFINITIONSHAPE($,$,(#222));
231+
#224=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#120));
232+
#225=IFCPRODUCTDEFINITIONSHAPE($,$,(#224));
233+
#226=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#129));
234+
#227=IFCPRODUCTDEFINITIONSHAPE($,$,(#226));
235+
#228=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#138));
236+
#229=IFCPRODUCTDEFINITIONSHAPE($,$,(#228));
237+
#230=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#147));
238+
#231=IFCPRODUCTDEFINITIONSHAPE($,$,(#230));
239+
#232=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#156));
240+
#233=IFCPRODUCTDEFINITIONSHAPE($,$,(#232));
241+
#234=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#165));
242+
#235=IFCPRODUCTDEFINITIONSHAPE($,$,(#234));
243+
#236=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#174));
244+
#237=IFCPRODUCTDEFINITIONSHAPE($,$,(#236));
245+
#238=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#183));
246+
#239=IFCPRODUCTDEFINITIONSHAPE($,$,(#238));
247+
#240=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#192));
248+
#241=IFCPRODUCTDEFINITIONSHAPE($,$,(#240));
249+
#242=IFCSHAPEREPRESENTATION(#16,'Axis','Segment',(#201));
250+
#243=IFCPRODUCTDEFINITIONSHAPE($,$,(#242));
251+
#244=IFCPRODUCTDEFINITIONSHAPE('Alignment Product Shape Definition',$,(#103,#207));
252+
#245=IFCALIGNMENT('3QMtpiE_n7GAb04Y0E8R05',$,'Example Alignment',$,$,#19,#244,$);
253+
#246=IFCRELNESTS('356b4CAMz6uPfo_altkxx4',$,$,'Nest horizontal and vertical alignment layouts with the alignment',#245,(#100,#204));
254+
#247=IFCRELAGGREGATES('3tAuevE4P0Tem56PHswooi',$,$,'Alignments in project',#1,(#245));
255+
#248=IFCSITE('2VSanZDG9A5AlYbr1rthXG',$,'Site of Bridge 1',$,$,$,$,$,$,$,$,$,$,$);
256+
#249=IFCRELREFERENCEDINSPATIALSTRUCTURE('3YqWsOHp91ufv$rnjPPR31',$,$,'Alignments referenced into the spatial structure of Bridge Site 1',(#245),#248);
257+
#250=IFCSITE('2AlafLigvA2vERHFIab3eK',$,'Site of Bridge 2',$,$,$,$,$,$,$,$,$,$,$);
258+
#251=IFCRELREFERENCEDINSPATIALSTRUCTURE('1D1P4LnRjEWhAz9qFdqTfY',$,$,'Alignments referenced into the spatial structure of Bridge Site 2',(#245),#250);
259+
#252=IFCSITE('2yTTT3FfXApBD9cGGp3m3r',$,'Site of Bridge 3',$,$,$,$,$,$,$,$,$,$,$);
260+
#253=IFCRELREFERENCEDINSPATIALSTRUCTURE('2yHFTnkCH0yeQEKpzJcoDh',$,$,'Alignments referenced into the spatial structure of Bridge Site 3',(#245),#252);
261+
#254=IFCRELAGGREGATES('1lgBZbq31DJxpXuomkg8Ql',$,$,'Bridge sites aggregated into the overall project',#1,(#248,#250,#252));
262+
ENDSEC;
263+
END-ISO-10303-21;

0 commit comments

Comments
 (0)