-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathcoord.py
More file actions
348 lines (340 loc) · 20.8 KB
/
coord.py
File metadata and controls
348 lines (340 loc) · 20.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
import re
# The provided IFC data as a string
ifc_data = """
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [ReferenceView_V1.2]', 'ExchangeRequirement [Structural]', 'Option[Flat wide beams as plates:Off]', 'Option[Location by:BasePoint]', 'Option[Locations from Organizer:On]', 'Option[Layer:Name]', 'Option[Object coloring:ByObjectClass]', 'Option[Export All:Off]', 'Option[Export Pours:Off]'),'2;1');
FILE_NAME('Test_24_07_12.ifc','2024-07-12T12:30:51',('Pc'),('Trimble'),'IFC Export Version Apr 22 2024','Tekla Structures 2022 Service Pack 14','IFC4 test model');
FILE_SCHEMA(('IFC4'));
ENDSEC;
DATA;
#1= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
#2= IFCMEASUREWITHUNIT(IFCRATIOMEASURE(304.8),#1);
#3= IFCDIMENSIONALEXPONENTS(1,0,0,0,0,0,0);
#4= IFCCONVERSIONBASEDUNIT(#3,.LENGTHUNIT.,'FOOT',#2);
#5= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
#6= IFCMEASUREWITHUNIT(IFCRATIOMEASURE(0.09290304),#5);
#7= IFCDIMENSIONALEXPONENTS(2,0,0,0,0,0,0);
#8= IFCCONVERSIONBASEDUNIT(#7,.AREAUNIT.,'SQUARE FOOT',#6);
#9= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);
#10= IFCMEASUREWITHUNIT(IFCRATIOMEASURE(0.028316846592),#9);
#11= IFCDIMENSIONALEXPONENTS(3,0,0,0,0,0,0);
#12= IFCCONVERSIONBASEDUNIT(#11,.VOLUMEUNIT.,'CUBIC FOOT',#10);
#13= IFCSIUNIT(*,.MASSUNIT.,.KILO.,.GRAM.);
#14= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.);
#15= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
#16= IFCMEASUREWITHUNIT(IFCRATIOMEASURE(0.0174532925199433),#15);
#17= IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0);
#18= IFCCONVERSIONBASEDUNIT(#17,.PLANEANGLEUNIT.,'DEGREE',#16);
#19= IFCSIUNIT(*,.SOLIDANGLEUNIT.,$,.STERADIAN.);
#20= IFCSIUNIT(*,.THERMODYNAMICTEMPERATUREUNIT.,$,.DEGREE_CELSIUS.);
#21= IFCSIUNIT(*,.LUMINOUSINTENSITYUNIT.,$,.LUMEN.);
#22= IFCUNITASSIGNMENT((#1,#5,#9,#13,#14,#15,#19,#20,#21));
#23= IFCCARTESIANPOINT((0.,0.,0.));
#24= IFCDIRECTION((1.,0.,0.));
#25= IFCDIRECTION((0.,0.,1.));
#26= IFCAXIS2PLACEMENT3D(#23,#25,#24);
#27= IFCDIRECTION((-0.796529918,0.6045991149));
#28= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.2,#26,#27);
#29= IFCPROJECTEDCRS('EPSG 2056','CH1903+ / LV95','EPSG 2056',$,$,$,$);
#30= IFCMAPCONVERSION(#28,#29,0.,0.,443100.,0.604599114862375,-0.796529918024196,$);
#31= IFCPROJECT('1e_5dliZD9JxC5LgB4mKhD',$,'Unknown',$,$,$,$,(#28),#22);
#32= IFCLOCALPLACEMENT($,#26);
#33= IFCSITE('1rAGI0YZH6MufYJTKgrJ_U',$,'-',$,$,#32,$,$,.ELEMENT.,(47,7,49,861900),(7,14,28,393800),443100.,$,$);
#34= IFCRELAGGREGATES('3q3Ckgeob3deicSH5AIdw_',$,$,$,#31,(#33));
#35= IFCLOCALPLACEMENT(#32,#26);
#36= IFCBUILDING('2Z5MQwO4j0nf9DjgB$pNwe',$,'Unknown',$,$,#35,$,$,.ELEMENT.,$,$,$);
#37= IFCRELAGGREGATES('3vamPnA912o9Yz1aFAkJBj',$,$,$,#33,(#36));
#38= IFCCARTESIANPOINT((40314.62655,-7077.96954,5960.00259));
#39= IFCDIRECTION((0.7071105806,0.7071029796,-5.5448E-05));
#40= IFCDIRECTION((0.7071029818,-0.7071105783,5.65724E-05));
#41= IFCAXIS2PLACEMENT3D(#38,#40,#39);
#42= IFCLOCALPLACEMENT(#35,#41);
#43= IFCCARTESIANPOINTLIST3D(((-450.0009,84.5,-56.9),(649.9991,84.5,-56.9)));
#44= IFCINDEXEDPOLYCURVE(#43,(IFCLINEINDEX((1,2))),$);
#45= IFCCOLOURRGB($,0.615686274509804,0.615686274509804,0.662745098039216);
#46= IFCSURFACESTYLERENDERING(#45,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.00390625),IFCSPECULAREXPONENT(10.),.NOTDEFINED.);
#47= IFCSURFACESTYLE('B500B',.POSITIVE.,(#46));
#48= IFCSWEPTDISKSOLID(#44,6.9,$,$,$);
#49= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#28,$,.MODEL_VIEW.,$);
#50= IFCSHAPEREPRESENTATION(#49,'Body','AdvancedSweptSolid',(#48));
#51= IFCREPRESENTATIONMAP(#26,#50);
#52= IFCCARTESIANTRANSFORMATIONOPERATOR3D($,$,#23,$,$);
#53= IFCMAPPEDITEM(#51,#52);
#54= IFCCARTESIANPOINT((-0.00079,0.,-50.));
#55= IFCCARTESIANTRANSFORMATIONOPERATOR3D($,$,#54,$,$);
#56= IFCMAPPEDITEM(#51,#55);
#57= IFCSHAPEREPRESENTATION(#49,'Body','MappedRepresentation',(#53,#56));
#58= IFCPRODUCTDEFINITIONSHAPE($,$,(#57));
#59= IFCREINFORCINGBAR('1MjIJHEuj8UAvXSTqDyyMj',$,'Zulage',$,$,#42,#58,$,$,$,$,$,.NOTDEFINED.,$);
#60= IFCMATERIAL('B500B',$,'STEEL');
#61= IFCPROPERTYSINGLEVALUE('SchraubbewVerbTypV2',$,$,$);
#62= IFCPROPERTYSINGLEVALUE('SchraubbewVerbTypV1',$,$,$);
#63= IFCPROPERTYSINGLEVALUE('Schraubbewehrung',$,$,$);
#64= IFCPROPERTYSINGLEVALUE('ExaktePostionEisen',$,$,$);
#65= IFCPROPERTYSINGLEVALUE('TotalEisenPos-Nr',$,$,$);
#66= IFCPROPERTYSINGLEVALUE('Etappe',$,IFCLABEL('OG00-00-00BO'),$);
#67= IFCPROPERTYSINGLEVALUE('Eisenlisten-Nr',$,IFCLABEL('CBB_RB_51_OG00_EL_E1-01_OG00-00-00BO_1-4_A'),$);
#68= IFCPROPERTYSINGLEVALUE('Bewehrungslage',$,IFCINTEGER(3),$);
#69= IFCPROPERTYSINGLEVALUE('GewichtEisen',$,IFCMASSMEASURE(0.98),$);
#70= IFCPROPERTYSINGLEVALUE('Bewehrungsstahltyp',$,IFCLABEL('B500B'),$);
#71= IFCPROPERTYSINGLEVALUE('Eisenlaenge',$,IFCLENGTHMEASURE(1100.),$);
#72= IFCPROPERTYSINGLEVALUE('AnzahlEisenInVerlegung',$,IFCINTEGER(2),$);
#73= IFCPROPERTYSINGLEVALUE('Zulage',$,$,$);
#74= IFCPROPERTYSINGLEVALUE('Bewehrungsteilung',$,IFCLABEL('50.0'),$);
#75= IFCPROPERTYSINGLEVALUE('Eisendurchmesser',$,IFCLENGTHMEASURE(12.),$);
#76= IFCPROPERTYSINGLEVALUE('BewehrungPos-Nr',$,IFCINTEGER(500),$);
#77= IFCPROPERTYSET('37T0FjFBX8CwdVJU_JQook',$,'wg_BIMtoField',$,(#61,#62,#63,#64,#65,#66,#67,#68,#69,#70,#71,#72,#73,#74,#75,#76));
#78= IFCPROPERTYSINGLEVALUE('ModellURL',$,$,$);
#79= IFCPROPERTYSINGLEVALUE('ModellkopfURL',$,$,$);
#80= IFCPROPERTYSINGLEVALUE('ListeURL',$,$,$);
#81= IFCPROPERTYSET('0f464b6rn3QBUmyiySMhzx',$,'wg_ModellAnsichtURI',$,(#78,#79,#80));
#82= IFCPROPERTYSINGLEVALUE('Pos. Nr.',$,IFCLABEL('500'),$);
#83= IFCPROPERTYSINGLEVALUE('St\S\|ckzahl',$,IFCINTEGER(2),$);
#84= IFCPROPERTYSINGLEVALUE('Durchmesser',$,IFCLENGTHMEASURE(12.),$);
#85= IFCPROPERTYSINGLEVALUE('Abstand',$,IFCLENGTHMEASURE(50.),$);
#86= IFCPROPERTYSINGLEVALUE('Bewehrunsbeschrifttung(m)',$,IFCLABEL('Pos.500 2\S\X12 s50'),$);
#87= IFCPROPERTYSET('2BbK8V8852KPBoOu_Gjse3',$,'Bewehrunsbeschrifttung',$,(#82,#83,#84,#85,#86));
#88= IFCPROPERTYSINGLEVALUE('Reference',$,IFCIDENTIFIER('500'),$);
#89= IFCPROPERTYENUMERATEDVALUE('Status',$,(IFCLABEL('UNSET')),$);
#90= IFCPROPERTYSINGLEVALUE('NominalDiameter',$,IFCPOSITIVELENGTHMEASURE(12.),$);
#91= IFCPROPERTYSINGLEVALUE('BarLength',$,IFCPOSITIVELENGTHMEASURE(1100.),$);
#92= IFCPROPERTYSINGLEVALUE('BarSpacing',$,IFCPOSITIVELENGTHMEASURE(1.),$);
#93= IFCPROPERTYSINGLEVALUE('BendingShapeCode',$,IFCIDENTIFIER('1'),$);
#94= IFCPROPERTYSET('0s4Ixht$9888fWa8uvuFcD',$,'Pset_ReinforcingBarCommon',$,(#88,#89,#90,#91,#92,#93));
#95= IFCQUANTITYLENGTH('Length',$,$,1100.,$);
#96= IFCQUANTITYWEIGHT('Weight',$,$,0.977,$);
#97= IFCELEMENTQUANTITY('2CaIaEfcj489o$DayjGdbz',$,'Qto_ReinforcingElementBaseQuantities',$,$,(#95,#96));
#98= IFCCARTESIANPOINT((41095.36638,-7077.9625,5960.00312));
#99= IFCDIRECTION((-0.7071254418,0.7070881178,-5.6571E-05));
#100= IFCDIRECTION((0.7070881201,0.7071254396,-5.54507E-05));
#101= IFCAXIS2PLACEMENT3D(#98,#100,#99);
#102= IFCLOCALPLACEMENT(#35,#101);
#103= IFCCARTESIANPOINTLIST3D(((-449.99769,98.3,104.6),(650.00231,98.3,104.6)));
#104= IFCINDEXEDPOLYCURVE(#103,(IFCLINEINDEX((1,2))),$);
#105= IFCSWEPTDISKSOLID(#104,6.9,$,$,$);
#106= IFCSHAPEREPRESENTATION(#49,'Body','AdvancedSweptSolid',(#105));
#107= IFCREPRESENTATIONMAP(#26,#106);
#108= IFCMAPPEDITEM(#107,#52);
#109= IFCCARTESIANPOINT((0.00079,0.,-50.));
#110= IFCCARTESIANTRANSFORMATIONOPERATOR3D($,$,#109,$,$);
#111= IFCMAPPEDITEM(#107,#110);
#112= IFCSHAPEREPRESENTATION(#49,'Body','MappedRepresentation',(#108,#111));
#113= IFCPRODUCTDEFINITIONSHAPE($,$,(#112));
#114= IFCREINFORCINGBAR('0jTbRPN1z3OOFc9odVJBI$',$,'Zulage',$,$,#102,#113,$,$,$,$,$,.NOTDEFINED.,$);
#115= IFCCARTESIANPOINT((40314.63952,-7322.2032,5960.0251));
#116= IFCDIRECTION((0.7071254418,-0.7070881178,5.6571E-05));
#117= IFCDIRECTION((-0.7070881201,-0.7071254396,5.54507E-05));
#118= IFCAXIS2PLACEMENT3D(#115,#117,#116);
#119= IFCLOCALPLACEMENT(#35,#118);
#120= IFCSHAPEREPRESENTATION(#49,'Body','MappedRepresentation',(#108,#111));
#121= IFCPRODUCTDEFINITIONSHAPE($,$,(#120));
#122= IFCREINFORCINGBAR('2H8JO78mr5DPJ$o$IrHcwO',$,'Zulage',$,$,#119,#121,$,$,$,$,$,.NOTDEFINED.,$);
#123= IFCCARTESIANPOINT((41059.99927,-7042.56456,5960.00029));
#124= IFCDIRECTION((1.2782E-05,-0.9999999967,8.0469E-05));
#125= IFCDIRECTION((-0.9999999999,-1.27821E-05,-7.93E-07));
#126= IFCAXIS2PLACEMENT3D(#123,#125,#124);
#127= IFCLOCALPLACEMENT(#35,#126);
#128= IFCCARTESIANPOINTLIST3D(((-639.99992,70.7,-36.90232),(954.99823,70.7,-36.90232)));
#129= IFCINDEXEDPOLYCURVE(#128,(IFCLINEINDEX((1,2))),$);
#130= IFCCOLOURRGB($,0.905882352941176,0.325490196078431,0.36078431372549);
#131= IFCSURFACESTYLERENDERING(#130,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.00390625),IFCSPECULAREXPONENT(10.),.NOTDEFINED.);
#132= IFCSURFACESTYLE('B500B',.POSITIVE.,(#131));
#133= IFCSWEPTDISKSOLID(#129,6.9,$,$,$);
#134= IFCSHAPEREPRESENTATION(#49,'Body','AdvancedSweptSolid',(#133));
#135= IFCREPRESENTATIONMAP(#26,#134);
#136= IFCMAPPEDITEM(#135,#52);
#137= IFCCARTESIANPOINT((0.00011,0.,-50.));
#138= IFCCARTESIANTRANSFORMATIONOPERATOR3D($,$,#137,$,$);
#139= IFCMAPPEDITEM(#135,#138);
#140= IFCSHAPEREPRESENTATION(#49,'Body','MappedRepresentation',(#136,#139));
#141= IFCPRODUCTDEFINITIONSHAPE($,$,(#140));
#142= IFCREINFORCINGBAR('0RvGgPNCrCy8Ao6IW6HjOu',$,'Zulage',$,$,#127,#141,$,$,$,$,$,.NOTDEFINED.,$);
#143= IFCPROPERTYSINGLEVALUE('Bewehrungslage',$,IFCINTEGER(2),$);
#144= IFCPROPERTYSINGLEVALUE('GewichtEisen',$,IFCMASSMEASURE(1.41),$);
#145= IFCPROPERTYSINGLEVALUE('Eisenlaenge',$,IFCLENGTHMEASURE(1590.),$);
#146= IFCPROPERTYSINGLEVALUE('BewehrungPos-Nr',$,IFCINTEGER(502),$);
#147= IFCPROPERTYSET('0WVzCd4Vz8GfS_DbfdvFXv',$,'wg_BIMtoField',$,(#61,#62,#63,#64,#65,#66,#67,#143,#144,#70,#145,#72,#73,#74,#75,#146));
#148= IFCPROPERTYSINGLEVALUE('Pos. Nr.',$,IFCLABEL('502'),$);
#149= IFCPROPERTYSINGLEVALUE('Bewehrunsbeschrifttung(m)',$,IFCLABEL('Pos.502 2\S\X12 s50'),$);
#150= IFCPROPERTYSET('33Rw7VHvT658A45AzspuuA',$,'Bewehrunsbeschrifttung',$,(#148,#83,#84,#85,#149));
#151= IFCPROPERTYSINGLEVALUE('Reference',$,IFCIDENTIFIER('502'),$);
#152= IFCPROPERTYSINGLEVALUE('BarLength',$,IFCPOSITIVELENGTHMEASURE(1590.),$);
#153= IFCPROPERTYSET('0zXKXnwxvEZxrsC2xVceSN',$,'Pset_ReinforcingBarCommon',$,(#151,#89,#90,#152,#92,#93));
#154= IFCQUANTITYLENGTH('Length',$,$,1590.,$);
#155= IFCQUANTITYWEIGHT('Weight',$,$,1.41,$);
#156= IFCELEMENTQUANTITY('2QQkcUqET42RLEVDr$iJdP',$,'Qto_ReinforcingElementBaseQuantities',$,$,(#154,#155));
#157= IFCCARTESIANPOINT((40349.99391,-7357.61558,5960.02516));
#158= IFCDIRECTION((-7.519E-06,0.9999999967,-8.0454E-05));
#159= IFCAXIS2PLACEMENT3D(#157,#24,#158);
#160= IFCLOCALPLACEMENT(#35,#159);
#161= IFCCARTESIANPOINTLIST3D(((-640.73796,70.69994,-36.89262),(954.31687,70.69994,-36.89262)));
#162= IFCINDEXEDPOLYCURVE(#161,(IFCLINEINDEX((1,2))),$);
#163= IFCSWEPTDISKSOLID(#162,6.9,$,$,$);
#164= IFCSHAPEREPRESENTATION(#49,'Body','AdvancedSweptSolid',(#163));
#165= IFCREPRESENTATIONMAP(#26,#164);
#166= IFCMAPPEDITEM(#165,#52);
#167= IFCCARTESIANPOINT((-0.99995,-8.E-05,-49.99));
#168= IFCCARTESIANTRANSFORMATIONOPERATOR3D($,$,#167,$,$);
#169= IFCMAPPEDITEM(#165,#168);
#170= IFCSHAPEREPRESENTATION(#49,'Body','MappedRepresentation',(#166,#169));
#171= IFCPRODUCTDEFINITIONSHAPE($,$,(#170));
#172= IFCREINFORCINGBAR('1KnzAZgpr5fwc0G9xhVHYo',$,'Zulage',$,$,#160,#171,$,$,$,$,$,.NOTDEFINED.,$);
#173= IFCPROPERTYSINGLEVALUE('GewichtEisen',$,IFCMASSMEASURE(1.42),$);
#174= IFCPROPERTYSINGLEVALUE('Eisenlaenge',$,IFCLENGTHMEASURE(1600.),$);
#175= IFCPROPERTYSET('0pxVJynur1a89hE9UOTgAu',$,'wg_BIMtoField',$,(#61,#62,#63,#64,#65,#66,#67,#143,#173,#70,#174,#72,#73,#74,#75,#146));
#176= IFCPROPERTYSINGLEVALUE('BarLength',$,IFCPOSITIVELENGTHMEASURE(1600.),$);
#177= IFCPROPERTYSET('3RO1Nollf5XRStPgiyhg$8',$,'Pset_ReinforcingBarCommon',$,(#151,#89,#90,#176,#92,#93));
#178= IFCQUANTITYLENGTH('Length',$,$,1600.,$);
#179= IFCQUANTITYWEIGHT('Weight',$,$,1.42,$);
#180= IFCELEMENTQUANTITY('2L$2E1XFz94ONzAXItsNsj',$,'Qto_ReinforcingElementBaseQuantities',$,$,(#178,#179));
#181= IFCCARTESIANPOINT((41095.35361,-7322.20727,5960.00029));
#182= IFCDIRECTION((-0.7070771691,-0.7071363921,1.054E-06));
#183= IFCDIRECTION((-0.7071363921,0.7070771691,-1.0535E-06));
#184= IFCAXIS2PLACEMENT3D(#181,#183,#182);
#185= IFCLOCALPLACEMENT(#35,#184);
#186= IFCSHAPEREPRESENTATION(#49,'Body','MappedRepresentation',(#53,#56));
#187= IFCPRODUCTDEFINITIONSHAPE($,$,(#186));
#188= IFCREINFORCINGBAR('3BVMakfL90N9Fb_YhvGTY3',$,'Zulage',$,$,#185,#187,$,$,$,$,$,.NOTDEFINED.,$);
#189= IFCCARTESIANPOINT((40349.99637,-7042.59898,5959.99981));
#190= IFCDIRECTION((0.9999999986,5.383E-05,0.));
#191= IFCDIRECTION((5.383E-05,-0.9999999985,1.49E-06));
#192= IFCAXIS2PLACEMENT3D(#189,#191,#190);
#193= IFCLOCALPLACEMENT(#35,#192);
#194= IFCCARTESIANPOINTLIST3D(((-500.00014,56.9,-36.89923),(1210.00284,56.9,-36.89923)));
#195= IFCINDEXEDPOLYCURVE(#194,(IFCLINEINDEX((1,2))),$);
#196= IFCCOLOURRGB($,1.,0.898039215686275,0.);
#197= IFCSURFACESTYLERENDERING(#196,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.00390625),IFCSPECULAREXPONENT(10.),.NOTDEFINED.);
#198= IFCSURFACESTYLE('B500B',.POSITIVE.,(#197));
#199= IFCSWEPTDISKSOLID(#195,6.9,$,$,$);
#200= IFCSHAPEREPRESENTATION(#49,'Body','AdvancedSweptSolid',(#199));
#201= IFCREPRESENTATIONMAP(#26,#200);
#202= IFCMAPPEDITEM(#201,#52);
#203= IFCCARTESIANPOINT((-0.0002,0.,-50.));
#204= IFCCARTESIANTRANSFORMATIONOPERATOR3D($,$,#203,$,$);
#205= IFCMAPPEDITEM(#201,#204);
#206= IFCSHAPEREPRESENTATION(#49,'Body','MappedRepresentation',(#202,#205));
#207= IFCPRODUCTDEFINITIONSHAPE($,$,(#206));
#208= IFCREINFORCINGBAR('0K9glGa7nEZu0XaRFhlU7D',$,'Zulage',$,$,#193,#207,$,$,$,$,$,.NOTDEFINED.,$);
#209= IFCPROPERTYSINGLEVALUE('Bewehrungslage',$,IFCINTEGER(1),$);
#210= IFCPROPERTYSINGLEVALUE('GewichtEisen',$,IFCMASSMEASURE(1.52),$);
#211= IFCPROPERTYSINGLEVALUE('Eisenlaenge',$,IFCLENGTHMEASURE(1710.),$);
#212= IFCPROPERTYSINGLEVALUE('BewehrungPos-Nr',$,IFCINTEGER(503),$);
#213= IFCPROPERTYSET('0dUkgeW2f3rPfxFwvdQf7j',$,'wg_BIMtoField',$,(#61,#62,#63,#64,#65,#66,#67,#209,#210,#70,#211,#72,#73,#74,#75,#212));
#214= IFCPROPERTYSINGLEVALUE('Pos. Nr.',$,IFCLABEL('503'),$);
#215= IFCPROPERTYSINGLEVALUE('Bewehrunsbeschrifttung(m)',$,IFCLABEL('Pos.503 2\S\X12 s50'),$);
#216= IFCPROPERTYSET('2HZRu7rsfCQgL_KzLVZ9x1',$,'Bewehrunsbeschrifttung',$,(#214,#83,#84,#85,#215));
#217= IFCPROPERTYSINGLEVALUE('Reference',$,IFCIDENTIFIER('503'),$);
#218= IFCPROPERTYSINGLEVALUE('BarLength',$,IFCPOSITIVELENGTHMEASURE(1710.),$);
#219= IFCPROPERTYSET('1pM646ZYn9Vfh9vxSxjR5w',$,'Pset_ReinforcingBarCommon',$,(#217,#89,#90,#218,#92,#93));
#220= IFCQUANTITYLENGTH('Length',$,$,1710.,$);
#221= IFCQUANTITYWEIGHT('Weight',$,$,1.52,$);
#222= IFCELEMENTQUANTITY('12Z2qSYFnEsgg86ovuYIHk',$,'Qto_ReinforcingElementBaseQuantities',$,$,(#220,#221));
#223= IFCCARTESIANPOINT((41059.99962,-7357.55017,5960.00029));
#224= IFCDIRECTION((-0.9999999986,-5.3831E-05,0.));
#225= IFCDIRECTION((-5.3831E-05,0.9999999986,-1.49E-06));
#226= IFCAXIS2PLACEMENT3D(#223,#225,#224);
#227= IFCLOCALPLACEMENT(#35,#226);
#228= IFCCARTESIANPOINTLIST3D(((-500.00011,56.9,-26.9),(1210.00291,56.9,-26.9)));
#229= IFCINDEXEDPOLYCURVE(#228,(IFCLINEINDEX((1,2))),$);
#230= IFCSWEPTDISKSOLID(#229,6.9,$,$,$);
#231= IFCSHAPEREPRESENTATION(#49,'Body','AdvancedSweptSolid',(#230));
#232= IFCREPRESENTATIONMAP(#26,#231);
#233= IFCMAPPEDITEM(#232,#52);
#234= IFCMAPPEDITEM(#232,#204);
#235= IFCSHAPEREPRESENTATION(#49,'Body','MappedRepresentation',(#233,#234));
#236= IFCPRODUCTDEFINITIONSHAPE($,$,(#235));
#237= IFCREINFORCINGBAR('0OnnSYjzHDoeWAephLhEyB',$,'Zulage',$,$,#227,#236,$,$,$,$,$,.NOTDEFINED.,$);
#238= IFCCARTESIANPOINT((47514.62655,-7077.96954,5960.00259));
#239= IFCAXIS2PLACEMENT3D(#238,#40,#39);
#240= IFCLOCALPLACEMENT(#35,#239);
#241= IFCSHAPEREPRESENTATION(#49,'Body','MappedRepresentation',(#53,#56));
#242= IFCPRODUCTDEFINITIONSHAPE($,$,(#241));
#243= IFCREINFORCINGBAR('0$F8EUCpn4GBHXAKJCpevP',$,'Zulage',$,$,#240,#242,$,$,$,$,$,.NOTDEFINED.,$);
#244= IFCCARTESIANPOINT((48295.36638,-7077.9625,5960.00312));
#245= IFCAXIS2PLACEMENT3D(#244,#100,#99);
#246= IFCLOCALPLACEMENT(#35,#245);
#247= IFCSHAPEREPRESENTATION(#49,'Body','MappedRepresentation',(#108,#111));
#248= IFCPRODUCTDEFINITIONSHAPE($,$,(#247));
#249= IFCREINFORCINGBAR('0DGq4$Aob9WehutfuF2Qzr',$,'Zulage',$,$,#246,#248,$,$,$,$,$,.NOTDEFINED.,$);
#250= IFCCARTESIANPOINT((47514.63952,-7322.2032,5960.0251));
#251= IFCAXIS2PLACEMENT3D(#250,#117,#116);
#252= IFCLOCALPLACEMENT(#35,#251);
#253= IFCSHAPEREPRESENTATION(#49,'Body','MappedRepresentation',(#108,#111));
#254= IFCPRODUCTDEFINITIONSHAPE($,$,(#253));
#255= IFCREINFORCINGBAR('1ylMr7XOn6Iv2IXO59YDtU',$,'Zulage',$,$,#252,#254,$,$,$,$,$,.NOTDEFINED.,$);
#256= IFCCARTESIANPOINT((48259.99927,-7042.56456,5960.00029));
#257= IFCAXIS2PLACEMENT3D(#256,#125,#124);
#258= IFCLOCALPLACEMENT(#35,#257);
#259= IFCSHAPEREPRESENTATION(#49,'Body','MappedRepresentation',(#136,#139));
#260= IFCPRODUCTDEFINITIONSHAPE($,$,(#259));
#261= IFCREINFORCINGBAR('0D9nqyeV1FOgkCBIl_6AuP',$,'Zulage',$,$,#258,#260,$,$,$,$,$,.NOTDEFINED.,$);
#262= IFCCARTESIANPOINT((47549.99391,-7357.61558,5960.02516));
#263= IFCAXIS2PLACEMENT3D(#262,#24,#158);
#264= IFCLOCALPLACEMENT(#35,#263);
#265= IFCSHAPEREPRESENTATION(#49,'Body','MappedRepresentation',(#166,#169));
#266= IFCPRODUCTDEFINITIONSHAPE($,$,(#265));
#267= IFCREINFORCINGBAR('0E2IfWLLLC5962KyqzL$mz',$,'Zulage',$,$,#264,#266,$,$,$,$,$,.NOTDEFINED.,$);
#268= IFCCARTESIANPOINT((48295.35361,-7322.20727,5960.00029));
#269= IFCAXIS2PLACEMENT3D(#268,#183,#182);
#270= IFCLOCALPLACEMENT(#35,#269);
#271= IFCSHAPEREPRESENTATION(#49,'Body','MappedRepresentation',(#53,#56));
#272= IFCPRODUCTDEFINITIONSHAPE($,$,(#271));
#273= IFCREINFORCINGBAR('1A6XZFj7D5SxZHe8IV6wr3',$,'Zulage',$,$,#270,#272,$,$,$,$,$,.NOTDEFINED.,$);
#274= IFCCARTESIANPOINT((47549.99637,-7042.59898,5959.99981));
#275= IFCAXIS2PLACEMENT3D(#274,#191,#190);
#276= IFCLOCALPLACEMENT(#35,#275);
#277= IFCSHAPEREPRESENTATION(#49,'Body','MappedRepresentation',(#202,#205));
#278= IFCPRODUCTDEFINITIONSHAPE($,$,(#277));
#279= IFCREINFORCINGBAR('1df$IZigD1Hwmc_AkuaJts',$,'Zulage',$,$,#276,#278,$,$,$,$,$,.NOTDEFINED.,$);
#280= IFCCARTESIANPOINT((48259.99962,-7357.55017,5960.00029));
#281= IFCAXIS2PLACEMENT3D(#280,#225,#224);
#282= IFCLOCALPLACEMENT(#35,#281);
#283= IFCSHAPEREPRESENTATION(#49,'Body','MappedRepresentation',(#233,#234));
#284= IFCPRODUCTDEFINITIONSHAPE($,$,(#283));
#285= IFCREINFORCINGBAR('22Gf9R4H56aRrTwJbIJoTa',$,'Zulage',$,$,#282,#284,$,$,$,$,$,.NOTDEFINED.,$);
#286= IFCRELCONTAINEDINSPATIALSTRUCTURE('1FHGZfpMDBCPKNURKa_vF$',$,$,$,(#59,#114,#122,#142,#172,#188,#208,#237,#243,#249,#255,#261,#267,#273,#279,#285),#36);
#287= IFCRELASSOCIATESMATERIAL('3VDh$TzLr7Z8p1pM5vYXFc',$,$,$,(#59,#114,#122,#142,#172,#188,#208,#237,#243,#249,#255,#261,#267,#273,#279,#285),#60);
#288= IFCRELDEFINESBYPROPERTIES('17z0DUZ7L4OglieehrNlER',$,$,$,(#59,#114,#122,#188,#243,#249,#255,#273),#77);
#289= IFCRELDEFINESBYPROPERTIES('1uGC$_6n1D2BjGAIxVtVBi',$,$,$,(#59,#114,#122,#142,#172,#188,#208,#237,#243,#249,#255,#261,#267,#273,#279,#285),#81);
#290= IFCRELDEFINESBYPROPERTIES('0zAvu80l1B7PsSAs5CMmAR',$,$,$,(#59,#114,#122,#188,#243,#249,#255,#273),#87);
#291= IFCRELDEFINESBYPROPERTIES('1seqp8WwXABh5wNkwVOr_L',$,$,$,(#59,#114,#122,#188,#243,#249,#255,#273),#94);
#292= IFCRELDEFINESBYPROPERTIES('3dzxqLWG57Vfhd0bkeaqKy',$,$,$,(#59,#114,#122,#188,#243,#249,#255,#273),#97);
#293= IFCRELDEFINESBYPROPERTIES('3LOTNmFI14bQ8dB_GqyVkA',$,$,$,(#142,#261),#147);
#294= IFCRELDEFINESBYPROPERTIES('3Zjf2HQ7D2Se9nMl0ci9ZT',$,$,$,(#142,#172,#261,#267),#150);
#295= IFCRELDEFINESBYPROPERTIES('1dk2sCDkb3yfXpgBNjDaBQ',$,$,$,(#142,#261),#153);
#296= IFCRELDEFINESBYPROPERTIES('1AS6EAphP9U8jZKm86dTA6',$,$,$,(#142,#261),#156);
#297= IFCRELDEFINESBYPROPERTIES('0uAZLdruf6BAujpWzR_GNo',$,$,$,(#172,#267),#175);
#298= IFCRELDEFINESBYPROPERTIES('3px3gVNYPEgvDdCgPGb8Iv',$,$,$,(#172,#267),#177);
#299= IFCRELDEFINESBYPROPERTIES('2zK76Y9FHCvAWEW8pFsdtY',$,$,$,(#172,#267),#180);
#300= IFCRELDEFINESBYPROPERTIES('3_QXNde$b1yOvogcCzs1lX',$,$,$,(#208,#237,#279,#285),#213);
#301= IFCRELDEFINESBYPROPERTIES('05XXFKZ594Cf6eryzq8CNF',$,$,$,(#208,#237,#279,#285),#216);
#302= IFCRELDEFINESBYPROPERTIES('3Awl4kZCn67fr6XUBZt5xi',$,$,$,(#208,#237,#279,#285),#219);
#303= IFCRELDEFINESBYPROPERTIES('1i$evPjLv1GRo4aq7VrfAG',$,$,$,(#208,#237,#279,#285),#222);
#304= IFCSTYLEDITEM(#48,(#47),$);
#305= IFCSTYLEDITEM(#105,(#47),$);
#306= IFCSTYLEDITEM(#133,(#132),$);
#307= IFCSTYLEDITEM(#163,(#132),$);
#308= IFCSTYLEDITEM(#199,(#198),$);
#309= IFCSTYLEDITEM(#230,(#198),$);
#310= IFCPRESENTATIONLAYERASSIGNMENT('Zulage',$,(#57,#112,#120,#140,#170,#186,#206,#235,#241,#247,#253,#259,#265,#271,#277,#283),$);
ENDSEC;
END-ISO-10303-21;
"""
# Regular expression to find IFCCARTESIANPOINT entities and their coordinates
cartesian_point_pattern = re.compile(r"IFCCARTESIANPOINT\(\(([^)]+)\)\);")
largest_x = largest_y = largest_z = float('-inf')
largest_coordinates = None
# Extract all IFCCARTESIANPOINT coordinates
for match in cartesian_point_pattern.finditer(ifc_data):
coords = match.group(1).split(',')
x, y, z = map(float, coords)
# Update largest coordinates if necessary
if x > largest_x:
largest_x = x
if y > largest_y:
largest_y = y
if z > largest_z:
largest_z = z
largest_coordinates = (x, y, z)
print(f"Largest Coordinates: {largest_coordinates}")