You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Documentation/README.md
+27-16
Original file line number
Diff line number
Diff line change
@@ -187,7 +187,16 @@ Snapshot | Yes | Filename of the snapshot(.png)
187
187
The visualization information file contains information of components related to the topic, camera settings, and possible markup and clipping information.
188
188
189
189
### Components
190
-
The components node contains a set of Component references. The numeric values in this file are all given in fixed units (meters for length and degrees for angle). Unit conversion is not required, since the values are not relevant to the user.
190
+
Component references are divided into 4 sets:
191
+
192
+
Name | Description |
193
+
:-----------|:------------
194
+
components | List of physical components. That means components that are not of type IfcSpace, IfcSpaceBoundary or IfcOpening.
195
+
Spaces | List of components with type IfcSpace.
196
+
SpaceBoundaries | List of components with type IfcSpaceBoundary.
197
+
Openings | List of components with type IfcOpening.
198
+
199
+
Each set contains Component references. The numeric values in this file are all given in fixed units (meters for length and degrees for angle). Unit conversion is not required, since the values are not relevant to the user.
191
200
192
201
Components has the following attributes:
193
202
@@ -266,24 +275,26 @@ When writing BCF 2.0 files:
266
275
- write Status and VerbalStatus at Comment level for backward compatibility.
267
276
268
277
### Optimizing Viewpoint Size
269
-
There can be lots of component references in a viewpoint. Sometimes all components in the model are listed in a viewpoint. This creates huge BCF files. In BCF 2.0 the visibility of components is done with the new Selected and Visible flags, which give new possibilities to optimize and control visibility and reduce viewpoint sizes at the same time. The creating software should for example not list all components in a viewpoint and use clipping planes at the same time to reduce the visibility.
278
+
There can be lots of component references in a viewpoint. Therefore, these references must be kept to a minumum. Each component set has a global variable to specify its default visibility.
270
279
271
-
The optimization is done with the following agreements:
280
+
Element | Default | Applicable Component set |
281
+
:-----------|:------------|:------------
282
+
AllComponentsVisible | Yes | Components
283
+
AllSpacesVisible | No | Spaces
284
+
AllSpaceBoundariesVisible | No | SpaceBoundaries
285
+
AllOpeningsVisible | No | Openings
272
286
273
-
- If most of the components are visible, export the invisible components with the visible flag as false.
274
-
- If most of the components are invisible, export the visible components with the visible flag as true.
275
-
- Do NOT combine in one viewpoint components listed as visible and listed as invisible. This can lead to inconsistent visibility in (changed) IFC files
276
-
- If NO components are listed in the viewpoint it means: all components are visible
277
-
- Spaces and Openings are always invisible by default; they are only shown when set explicit to visible.
287
+
The optimization is done with the following agreements. These rules applies to all 4 component sets individually.
278
288
279
-
The visualization is done then with the following logic:
280
-
- If the viewpoint contains hidden components (visible is false), hide them and show all the rest.
281
-
- If the viewpoint does not contain any hidden components, show only the visible components.
289
+
- If most of the components in a set are visible, export the invisible components with the visible flag as false and set its default visibility to true.
290
+
- If most of the components in a set are invisible, export the visible components with the visible flag as true and set its default visibility to false.
282
291
283
-
### Usage of Selected Flag in Visualization
284
-
The Selected flag in Component node in visualization is used as a hint to the visualization to indicate that the component should be selected. When the flag is true, the component is considered visible and the Visible flag does not need to be exported. The Color flag must not be exported, since a color might interfere with the native selection behavior of the visualization software.
292
+
For selected and colored components
285
293
286
-
### Usage of Color in Visualization
287
-
The Color in Component node in visualization is used specify a custom color for a given component. When the flag is true, the component is considered visible, the values of Visible and Selected flags can be ignored and they don't need to be exported.
294
+
- If default visibility for a set is true and you have visible components that are selected or colored, set the visible flag as true.
295
+
- If default visibility for a set is false and you have invisible components that are selected or colored, set the visible flag as true. (Bad practice)
288
296
289
-
297
+
Implementers agreement
298
+
299
+
- If a set contains Components with the same ifcGuid, ignore the duplicate occurrences.
300
+
- If a set contains Components with wrong IfcType, ignore it.
0 commit comments