-
-
Notifications
You must be signed in to change notification settings - Fork 77
/
dialogPreflight.ui
439 lines (439 loc) · 23.5 KB
/
dialogPreflight.ui
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
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Form</class>
<widget class="QWidget" name="Form">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>308</width>
<height>1308</height>
</rect>
</property>
<property name="windowTitle">
<string>IFC Preflight</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label_7">
<property name="text">
<string><html><head/><body><p>The following test will check your model or the selected object(s) and their children for conformity to some IFC standards.</p><p><span style=" font-weight:600;">Important</span>: None of the failed tests below will prevent exporting IFC files, nor do these tests guarantee that your IFC files meets some specific quality or standard requirement. They are there to help you assess what is and what is not in your exported file. It's for you to choose which item is of importance to you or not. Hovering the mouse over each description will give you more information to decide.</p><p>After a test is run, clicking the corresponding button will give you more information to help you to fix problems.</p><p>The <a href="http://www.buildingsmart-tech.org/specifications"><span style=" text-decoration: underline; color:#0000ff;">official IFC website</span></a> contains a lot of useful information about IFC standards.</p></body></html></string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="testAll">
<property name="toolTip">
<string>Warning, this can take some time!</string>
</property>
<property name="text">
<string>Run all tests</string>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Work on</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QRadioButton" name="getSelection">
<property name="text">
<string>Selection</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="getVisible">
<property name="text">
<string>All visible objects</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="getAll">
<property name="text">
<string>Whole document</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_6">
<property name="title">
<string>IFC export</string>
</property>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<widget class="QLabel" name="labelIFC4">
<property name="toolTip">
<string><html><head/><body><p>IFC export in FreeCAD is performed by an open-source third-party library called IfcOpenShell. To be able to export to the newer IFC4 standard, IfcOpenShell must have been compiled with IFC4 support enabled. This test will check if IFC4 support is available in your version of IfcOpenShell. If not, you will only be able to export IFC files in the older IFC2x3 standard. Note that some applications out there still have incomplete or inexistent IFC4 support, so in some cases IFC2x3 might still work better.</p></body></html></string>
</property>
<property name="text">
<string>Is IFC4 support enabled?</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="testIFC4">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Project structure</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="3" column="1">
<widget class="QPushButton" name="testStoreys">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="labelBuildings">
<property name="toolTip">
<string><html><head/><body><p>All IfcBuildingStorey (levels) elements are required to be inside an IfcBuilding element. This is a mandatory requirement of the IFC standard. When exporting your FreeCAD model to IFC, a default IfcBuilding will be created for all level objects (BuildingPart objects with their IFC role set as Building Storey) found that are not inside a Building. However, it is best if you create that building yourself, so you have more control over its name and properties. This test is here to help you to find those levels without buildings.</p></body></html></string>
</property>
<property name="text">
<string>Are all storeys part of a building?</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="labelStoreys">
<property name="toolTip">
<string><html><head/><body><p>All elements derived from IfcProduct (that is, all the BIM elements that compose your model) are required to be inside an IfcBuildingStorey (level) element. This is a mandatory requirement of the IFC standard. When exporting your FreeCAD model to IFC, a default IfcBuildingStorey will be created for all BIM objects found that are not inside one already. However, it is best if you make sure yourself that all elements are correctly located inside a level, so you have more control over it. This test is here to help you to find those BIM objects without a level.</p></body></html></string>
</property>
<property name="text">
<string>Are all BIM objects part of a level?</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="testBuildings">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="labelSites">
<property name="toolTip">
<string><html><head/><body><p>All IfcBuilding elements are required to be inside an IfcSite element. This is a mandatory requirement of the IFC standard. When exporting your FreeCAD model to IFC, a default IfcSite will be created for all Building objects found that are not inside a Site. However, it is best if you create that site yourself, so you have more control over its name and properties. This test is here to help you to find those buildings without sites.</p></body></html></string>
</property>
<property name="text">
<string>Are all buildings part of a site?</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="testSites">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="labelHierarchy">
<property name="toolTip">
<string><html><head/><body><p>The IFC standard requires at least one site, one building and one level or building storey per project. This test will ensure that at least one object of each of these 3 types exists in the model.</p><p>Note that, as this is a mandatory requirement, FreeCAD will automatically add a default site, a default building and/or a default building storey if any of these is missing. So even if this test didn't pass, your exported IFC file will meet the requirements.</p><p>However, it is always better to create these objects yourself, as you get more control over naming and properties.</p></body></html></string>
</property>
<property name="text">
<string>Is there at least one site, one building and one level in the model?</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="testHierarchy">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Geometry</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="1">
<widget class="QPushButton" name="testSolid">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="labelSolid">
<property name="toolTip">
<string><html><head/><body><p>Although it is not a requirement for IFC objects to have fully clean and solid geometry (and you will more than often find IFC files with bad geometry out there, oh boy if you find!), it is of course better if they do. You will reduce chances of problems with other applications, and after all, in real life, all objects have solid shapes.</p><p>FreeCAD has a lot of tools to check for geometry quality, and most parametric objects, including BIM objects, will usually warn you if their geometry becomes unclean or not solid at some point. This test makes sure everything is OK.</p></body></html></string>
</property>
<property name="text">
<string>Are all BIM objects solid and valid?</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="labelUndefined">
<property name="toolTip">
<string><html><head/><body><p>The IFC format provides a defined type for most of the objects that compose a building, for example walls, columns, doors, or sinks. But it also supports undefined objects, which are given the generic BuildingElementProxy type. This test will check that all objects have a defined type.</p><p><br/></p><p>Note that failing this test is not necessarily bad, as you might specifically want some object to not have any defined type. In some cases, this might even give better results, as some applications like Revit might add possibly unwanted additional constraints or transformations to some known types such as structural elements (beams or columns). Exporting them as BuildingElementProxies will prevent that.</p></body></html></string>
</property>
<property name="text">
<string>Are all BIM objects of a defined IFC type?</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="testUndefined">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>Properties</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="5" column="0">
<widget class="QLabel" name="labelStandards">
<property name="toolTip">
<string><html><head/><body><p>Classification systems, such as UniClass or MasterFormat, or even your own custom system, are in some cases an important part of a building project. This test will ensure that all BIM objects and materials found in the model have their standardcode property dutifully filled.</p></body></html></string>
</property>
<property name="text">
<string>Do all BIM objects and materials have a standard classification code defined?</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="testQuantities">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="testCommonPsets">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="labelCommonPsets">
<property name="toolTip">
<string><html><head/><body><p>The IFC standard offers standard, predefined property sets for many object types. for example, the property set Pset_WallCommon contains properties that the IFC standard thinks all walls should have. This test will check that all BIM objects have the right property set, if available.</p><p>Note that this is by no means a formal requirement, and these will inflate the size of your IFC file consequently. We suggest you add standard property sets only if you are actually using any of them.</p></body></html></string>
</property>
<property name="text">
<string>Do all common IFC types have the corresponding Property Set?</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="labelQuantities">
<property name="toolTip">
<string><html><head/><body><p>IFC objects have a geometry representation, which defines the shape of the object, but can also have some or their dimensions, such as height, width or area, explicitly stated. This is very useful for BIM applications that don't process the geometry, such as spreadsheets. Those applications are still able to get and estimate quantities from IFC objects without the need to analyze the geometry.</p><p>It is also a possibility for errors (or even fraud), as nothing guarantees that those explicitly stated dimensions match what is inside the geometry.</p><p>This test will find any BIM object that has available dimension properties such as width or height, for example walls and structures, but such properties are not marked for explicit export to IFC.</p></body></html></string>
</property>
<property name="text">
<string>Do all geometric BIM objects have explicit dimensions set?</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="labelMaterials">
<property name="toolTip">
<string><html><head/><body><p>Although there is no requirement for IFC objects to have a material defined, in the real world, it is an important layer of information to be added to you model. This test will find BIM objects without a material defined.</p><p>If a BIM object is exported without a material, it will nevertheless be assigned an IfcSurfaceStyle, which will be created from the object color. Some BIM applications actually disregard materials, and only consider the surface style of an object. No IfcMaterial will be attributed to that object.</p><p>If a BIM object has a material defined, a surface style will still be created (an IfcMaterial too) but its surface style will take the same name and properties as the material, thus giving more consistency to your file, no matter what other BIM consider, surface style, material, or both.</p></body></html></string>
</property>
<property name="text">
<string>Do all BIM objects have a material?</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QPushButton" name="testMaterials">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="labelPsets">
<property name="toolTip">
<string><html><head/><body><p>Even if a BIM object has a standard property set for its type attributed, there is no guarantee that this property set still contains or only contains all the properties that the IFC standard has defined for that set. They might have been modified after the property set has been added.</p><p>This test will check that all standard property sets found throughout the model contain all and only the properties specified in the standard definition.</p></body></html></string>
</property>
<property name="text">
<string>Do all standard Property Set contain the correct properties?</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="testPsets">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QPushButton" name="testStandards">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_5">
<property name="title">
<string>Optional/Compatibility</string>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="1">
<widget class="QPushButton" name="testExtrusions">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="labelExtrusions">
<property name="toolTip">
<string><html><head/><body><p>The geometry of IFC objects can be defined in a large number of ways, such as extrusions, subtractions, revolutions, or even faceted objects.</p><p>However, extrusions of flat shapes, which is the most basic and common type, often offer advantages over other types in other BIM applications.</p><p>This test will find any object that cannot be exported to IFC as an extrusion, or as a shared extrusion (clone).</p></body></html></string>
</property>
<property name="text">
<string>Are all object exportable as extrusions?</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="labelStandardCases">
<property name="toolTip">
<string><html><head/><body><p>Walls, columns and beams in FreeCAD can be constructed in a wide number of ways. But some simpler BIM applications might have difficulties with walls that are not of the most simple type, that is, a single, straight piece of wall (which correspond to the IfcWallStandardCase type) or beams and columns that are not based on a straight extrusion of a flat profile (BeamStandardCase, ColumnStandardCase)</p><p>This test will find any wall which is not such a standard case.</p><p><span style=" font-weight:600;">Note</span>: At the moment, BIM objects that meet the requirements to be of a standard case, are still exported as IfcWall, IfcBeam, IfcColumn.</p></body></html></string>
</property>
<property name="text">
<string>Are all walls, beams and columns based on a single line or profile (standard case)?</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="testStandardCases">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="labelTinyLines">
<property name="toolTip">
<string><html><head/><body><p>Revit discards all objects that contain lines smaller than 1/32 inch (0.8mm). This test will find any object containing lines smaller than that value.</p></body></html></string>
</property>
<property name="text">
<string>Are all lines bigger than 1/32 inches (minimum accepted by Revit)?</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="testTinyLines">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="labelRectangleProfileDef">
<property name="toolTip">
<string><html><head/><body><p>When exporting a model to IFC, all BIM objects that are an extrusion of a rectangular profile will use an IfcRectangleProfileDef entity as their extrusion profile. However, Revit won't import these correctly. If you are going to use the IFC file in Revit, we recommend you to disable this behaviour by checking the option under menu <span style=" font-weight:600;">Edit -&gt; Preferences -&gt; Import/Export -&gt; IFC -&gt; Disable IfcRectangularProfileDef</span>.</p><p>When that option is checked, all extrusion profiles will be exported as generic IfcArbitraryProfileDef entities, regardless of if they are rectangular or not, which will contain a little less information, but will open correctly in Revit.</p></body></html></string>
</property>
<property name="text">
<string>Is IfcRectangleProfileDef export disabled? (Revit only)</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QPushButton" name="testRectangleProfileDef">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>