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
+57-79
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ IfcGuid
18
18
Globally Unique ID in the IFC format. This format is used only when referring to components in IFC files.
19
19
20
20
21
-
|||
21
+
|||
22
22
| ------------- |:-------------|
23
23
| BCF | BIM Collaboration Format |
24
24
| BCF file | File in BIM Collaboration Format |
@@ -57,18 +57,18 @@ The project file contains reference information about the project the topics bel
57
57
58
58
59
59
60
-
Attribute | Optional | Description |
60
+
Attribute | Optional | Description |
61
61
:-----------|:------------|:------------:
62
62
ProjectId | Yes | ProjectId of the project
63
-
63
+
64
64
In addition it has the following nodes:
65
65
66
66
67
-
Element | Optional | Description |
67
+
Element | Optional | Description |
68
68
:-----------|:------------|:------------
69
69
Name | Yes | Name of the project.
70
70
ExtensionSchema| No | URI to the extension schema.
71
-
71
+
72
72
73
73
74
74
## Markup (.bcf) file
@@ -80,15 +80,15 @@ Header node contains information about the IFC files relevant to this topic. It
80
80
Each File node has the following attributes:
81
81
82
82
83
-
Attribute | Optional | Description |
83
+
Attribute | Optional | Description |
84
84
:-----------|:------------|:------------
85
85
IfcProject | Yes | IfcGuid Reference to the project to which this topic is related in the IFC file
86
86
IfcSpatialStructureElement | Yes | IfcGuid Reference to the spatial structure element, e.g. IfcBuildingStorey, to which this topic is related.
87
87
isExternal | Yes | Is the IFC file external or within the bcfzip. (Default = true).
88
88
89
89
In addition File has the following nodes:
90
90
91
-
Attribute | Optional | Description |
91
+
Attribute | Optional | Description |
92
92
:-----------|:------------|:------------
93
93
Filename | Yes | The BIM file related to this topic.
94
94
Date | Yes | Date of the BIM file.
@@ -98,7 +98,7 @@ Reference | Yes | URI to IfcFile. <br> IsExternal=false “..\example.ifc“ (wi
98
98
Topic node contains reference information of the topic. It has one attribute, Guid, which is the topic GUID.
99
99
100
100
101
-
Attribute | Optional | Description |
101
+
Attribute | Optional | Description |
102
102
:-----------|:------------|:------------
103
103
Guid | No | Guid of the topic
104
104
TopicType | Yes | Type of the topic (Predefined list in “extension.xsd”)
@@ -107,7 +107,7 @@ TopicStatus | Yes | Type of the topic (Predefined list in “extension.xsd”)
107
107
In addition it has the following nodes:
108
108
109
109
110
-
Element | Optional | Description |
110
+
Element | Optional | Description |
111
111
:-----------|:------------|:------------
112
112
ReferenceLink | Yes | List of references to the topic, for example, a work request management system or an URI to a model.
113
113
Title | No | Title of the topic.
@@ -126,12 +126,12 @@ Stage | Yes | Stage this topic is part of (Predefined list in “extension.xsd
126
126
### BimSnippet (optional)
127
127
BimSnippet is an additional file containing information related to one or multiple topics. For example, it can be an IFC file containing provisions for voids.
128
128
129
-
Attribute | Optional | Description |
129
+
Attribute | Optional | Description |
130
130
:-----------|:------------|:------------
131
131
SnippetType | No | Type of the Snippet (Predefined list in “extension.xsd”)
132
132
IsExternal | Yes | Is the BimSnippet external or within the bcfzip. <br> (Default = false).
133
-
134
-
Element | Optional | Description |
133
+
134
+
Element | Optional | Description |
135
135
:-----------|:------------|:------------
136
136
Reference | No | URI to BimSnippet. <br> IsExternal=false “..\snippetExample.ifc“ (within bcfzip) <br> IsExternal=true “https://.../snippetExample.ifc“
137
137
ReferenceSchema | Yes | URI to BimSnippetSchema (always external)
@@ -140,12 +140,12 @@ ReferenceSchema | Yes | URI to BimSnippetSchema (always external)
140
140
### DocumentReference (optional)
141
141
DocumentReference provides a means to associate additional payloads or links with topics. The references may point to a file within the .bcfzip or to an external location.
142
142
143
-
Attribute | Optional | Description |
143
+
Attribute | Optional | Description |
144
144
:-----------|:------------|:------------
145
145
Guid | Yes | Guid attribute for identifying it uniquely
146
146
IsExternal | Yes | Is the Document external or within the bcfzip. <br> (Default = false).
147
147
148
-
Element | Optional | Description |
148
+
Element | Optional | Description |
149
149
:-----------|:------------|:------------
150
150
ReferencedDocument | Yes | URI to document. <br> IsExternal=false “..\exampleDoc.docx“ (within bcfzip) <br> IsExternal=true “https://.../ exampleDoc.docx“
151
151
Description | Yes | Description of the document
@@ -154,15 +154,15 @@ Description | Yes | Description of the document
154
154
### RelatedTopic (optional)
155
155
Relation between topics (Clash -> PfV -> Opening)
156
156
157
-
Attribute | Optional | Description |
157
+
Attribute | Optional | Description |
158
158
:-----------|:------------|:------------
159
159
RelatedTopic/GUID | Yes | List of GUIDs of the referenced topics.
160
160
161
161
162
162
### Comment
163
163
The markup file can contain comments related to the topic. Their purpose is to record discussion between different parties related to the topic. Comment has also the Guid attribute for identifying it uniquely. In addition, it has the following nodes:
164
164
165
-
Element | Optional | Description |
165
+
Element | Optional | Description |
166
166
:-----------|:------------|:------------
167
167
Date | No | Date of the comment
168
168
Author |No | Comment author
@@ -174,7 +174,7 @@ ModifiedDate | Yes | The date when comment was modified
174
174
### Viewpoints
175
175
The markup file can contain multiple viewpoints related to one or more comments. A viewpoint has also the Guid attribute for identifying it uniquely. In addition, it has the following nodes:
176
176
177
-
Element | Optional | Description |
177
+
Element | Optional | Description |
178
178
:-----------|:------------|:------------
179
179
Viewpoint | Yes | Filename of the viewpoint (.bcfv)
180
180
Snapshot | Yes | Filename of the snapshot(.png)
@@ -186,93 +186,71 @@ Viewpoints are immutable, therefore they should never be changed once created. I
186
186
The visualization information file contains information of components related to the topic, camera settings, and possible markup and clipping information.
187
187
188
188
### Components
189
-
A component set has the following attributes:
190
-
191
-
Attribute | Description |
192
-
:-----------|:------------
193
-
DefaultVisibilityComponents | Default visibility of physical components. That means components that are not of type IfcSpace, IfcSpaceBoundary or IfcOpening.
194
-
DefaultVisibilitySpaces | Default visibility of components with type IfcSpace.
195
-
DefaultVisibilitySpaceBoundaries | Default visibility of components with type IfcSpaceBoundary.
196
-
DefaultVisibilityOpenings | Default visibility of components with type IfcOpening.
197
189
198
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. The components node has also the DefaultVisibility attribute which indicates true or false for all components of the viewpoint.
199
191
200
-
A component has the following attributes:
201
-
202
-
Attribute | Optional | Description |
203
-
:-----------|:------------|:------------
204
-
IfcGuid | Yes | Select the component in a BIM tool
205
-
Selected | Yes | This flag is true if the component is actually involved in the topic. If the flag is false, the component is involved as reference.
206
-
Visible | Yes | This flag is true when the component is visible in the visualization. By setting this false, you can hide components that would prevent seeing the topic from the camera position and angle of the viewpoint.
207
-
Color | Yes | Color of the component. This can be used to provide special highlighting of components in the viewpoint. The color is given in ARGB format. Colors are represented as 6 or 8 hexadecimal digits. If 8 digits are present, the first two represent the alpha (transparency) channel. For example, `40E0D0` would be the color <span style="color:#40E0D0;";>Turquoise</span>. [More information about the color format can be found on Wikipedia.](https://en.wikipedia.org/wiki/RGBA_color_space)
208
-
209
-
210
-
In addition, it has the following information:
211
-
212
-
Element | Optional | Description |
213
-
:-----------|:------------|:------------
214
-
OriginatingSystem | Yes | Name of the system in which the component is originated
215
-
AuthoringToolId | Yes | System specific identifier of the component in the originating BIM tool
192
+
The `Components` element contains the following properties.
193
+
*`ViewSetupHints` to describe the visualization settings that were used in the application creating the viewpoint
194
+
*`Selection` to list components of interest
195
+
*`Visibility` to describe default visibility and exceptions
196
+
*`Coloring` to convey coloring options for displaying components
216
197
217
-
#### Exporting Components in Viewpoint
198
+
#### ViewSetupHints
199
+
This element contains information about the default visibility for elements of certain types (`SpacesVisible`, `SpaceBoundariesVisible` and `OpeningsVisible`) that should be applied if not stated otherwise.
218
200
219
-
There can be lots of component references in a viewpoint. Therefore, these references must be kept to a minimum. The following rules are developed to export the components in compact and unambiguous way.
201
+
#### Selection
202
+
The `Selection` element lists all components that should be either highlighted or selected when displaying a viewpoint.
220
203
221
-
The components in viewpoints are exported according to the following rules:
222
-
Divide all components to the following sets: **Openings**, **Spaces**, **SpaceBoundaries**, and **Components**.
204
+
**Optimization Rules**
223
205
224
-
-**Components** are physical building components, such as walls and doors.
206
+
BCF is suitable for selecting a few components. A huge list of selected components causes poor performance. All clients should follow this rule:
225
207
226
-
-**Spaces** are the rooms in the building.
208
+
* If the size of the selected components is huge (approximately 1000 components), alert the user and give him the opportunity to modify the visibility.
227
209
228
-
-**Openings** are the virtual elements modeling voids in components.
210
+
#### Visibility
211
+
The `Visibility` element states the components `DefaultVisibility` and lists all `Exceptions` that apply to specific components.
229
212
230
-
-**SpaceBoundaries** are the virtual elements between spaces and building components, such as, walls and doors.
213
+
**Optimization Rules**
231
214
232
-
For each set of sets above, divide them further to the following subsets:
215
+
BCF is suitable for hiding/showing a few components. A huge list of hidden/shown components causes poor performance. All clients should follow these rules:
233
216
234
-
**V**: Visible components
235
-
**I**: Invisible components
236
-
**S**: Selected or colored components, subset of V
217
+
* If the list of hidden components is smaller than the list of visible components: set default_visibility to true and put the hidden components in exceptions.
218
+
* If the list of visible components is smaller or equals the list of hidden components: set default_visibility to false and put the visible components in exceptions.
219
+
* If the size of exceptions is huge (approximately 1000 components), alert the user and give him the opportunity to modify the visibility.
237
220
238
-
Apply the following rules for **Components**, **Spaces**, **Openings**, **SpaceBoundaries**
221
+
#### Coloring
222
+
The `Coloring` element lists colors and a list of associated components that should be displayed with the specified color when displaying a viewpoint. The color is given in ARGB format. Colors are represented as 6 or 8 hexadecimal digits. If 8 digits are present, the first two represent the alpha (transparency) channel. For example, `40E0D0` would be the color <span style="color:#40E0D0;";>Turquoise</span>. [More information about the color format can be found on Wikipedia.](https://en.wikipedia.org/wiki/RGBA_color_space)
239
223
240
-
Example components
224
+
**Optimization Rules**
241
225
242
-
1. If **I** is empty and **S** equals **V**
226
+
BCF is suitable for coloring on a few components. A huge list of components causes poor performance. All clients should follow this rule:
243
227
244
-
a) Export **S** with DefaultVisibilityComponents=true
228
+
* If the size of colored components is huge (approximately 1000 components), alert the user and give him the opportunity to modify the coloring.
245
229
246
-
b) Set visible=true for all components in **S**
230
+
#### Component
247
231
248
-
2. If **V** is smaller than **I**
249
-
250
-
a) Export **V** with DefaultVisibilityComponents=false
251
-
252
-
b) Set visible=true for all components in **V**
253
-
254
-
3. Else
255
-
256
-
a) Export **I** and **S** with DefaultVisibilityComponents=true
257
-
258
-
b) Set visible=true for all components in **S**
232
+
A component has the following attributes:
259
233
260
-
c) Set visible=false for all components in **I**
234
+
Attribute | Optional | Description |
235
+
:-----------|:------------|:------------
236
+
IfcGuid | No | The IfcGuid of the component
237
+
OriginatingSystem | Yes | Name of the system in which the component is originated
238
+
AuthoringToolId | Yes | System specific identifier of the component in the originating BIM tool
261
239
262
240
### OrthogonalCamera (optional)
263
241
This element describes a viewpoint using orthogonal camera. It has the following elements:
264
242
265
-
Element | Optional | Description |
243
+
Element | Optional | Description |
266
244
:-----------|:------------|:------------
267
245
CameraViewPoint | No | Camera location
268
246
CameraDirection | No | Camera direction
269
247
CameraUpVector | No | Camera up vector
270
248
ViewToWorldScale | No | Scaling from view to world
271
249
272
250
### PerspectiveCamera (optional)
273
-
This element describes a viewpoint using perspective camera. It has the following
251
+
This element describes a viewpoint using perspective camera. It has the following elements:
274
252
275
-
Element | Optional | Description |
253
+
Element | Optional | Description |
276
254
:-----------|:------------|:------------
277
255
CameraViewPoint | No | Camera location
278
256
CameraDirection | No | Camera direction
@@ -289,15 +267,15 @@ ClippingPlanes can be used to define a subsection of a building model that is re
289
267
A list of bitmaps can be used to add more information, for example, text in the visualization. It has the following elements:
290
268
291
269
292
-
Element | Optional | Description |
270
+
Element | Optional | Description |
293
271
:-----------|:------------|:------------
294
272
Bitmap | No | Format of the bitmap (PNG/JPG)
295
273
Reference | No | Name of the bitmap file in the topic folder
296
274
Location | No | Location of the center of the bitmap in world coordinates
297
275
Normal | No | Normal vector of the bitmap
298
276
Up | No | Up vector of the bitmap
299
277
300
-
## Implementation Agreements
278
+
## Implementation Agreements
301
279
Since BCF 2.0 is compatible with version 1.0, there are some ambiguities in the implementation. The following agreements are written to clarify the implementation.
302
280
303
281
### One to Many Mapping between Viewpoints and Comments
0 commit comments