-
Notifications
You must be signed in to change notification settings - Fork 84
What's new in BCF 3.0
One of the major changes in the BCF API for version 3.0 is that features common to all open APIs have been moved into the OpenCDE Foundation API. This means that the OpenCDE Foundation API is a mandatory building block for the implementation of the BCF API.
- Improved BCF Test Cases #185
- Integrated an automatic checking tool to validate BCF test cases: https://github.com/CBenghi/bcf-tool
- Clarify path separator is forward slash
/
#180 - Mandate lowercase GUIDs in XML and filenames #190
- Clarify Bitmap height #194
- UTC as Default Timezone #197
- Fix bugs in XML Schema Definitions #183, #187, #188, #189, #195, #198
- Remove the
DetailedVersion
element inbcf.version
- Change extensions to use an XML instance instead of being an XSD that redefines
markup.xsd
for easier handling in client applications. This means that types in the markup that were previously defined in the extensions are now simple strings, their validity has to be enforced at the application level in accordance with theextensions.xml
- Move commonly used types in XSD schemas to shared files for reusability
- Refactor and cleanup existing schemas to provide a better and more consistent developer experience
- Allow empty lists to be omitted from XML files
- Clarify that required elements must have a value and may not use empty strings
- To better convey that only a single project is supported in BCF 3.0 per BCF XML file, the
ExtensionSchema
fromproject.bcfp
was removed and theProject
itself is now wrapped in an element calledProjectInfo
- Clarify how IFC files are mapped to
File
elements with more detailed documentation - Clarify that additional document properties in the Xml files should be ignored when deserializing the file and not produce errors. Readme
- Added the
server_assigned_id
(API) /ServerAssignedId
(XML) #329 - Deprecated
index
- Clarify that
TopicType
andTopicStatus
are required #303 - Clarify that
GUID
is required for topics
- Enhance and clarify the camera definition
- Clarify handling of decomposed objects #167
- Align
ViewSetuphHints
with BCF-API #174](https://github.com/buildingSMART/BCF-XML/issues/174) - Remove default snapshot and viewpoint filename convention #179
- Clarify ClippingPlane Direction #193
- Mark
IfcGuid
in components as optional in the schema if alternatively theAuthoringToolId
is provided - Mark
Color
in components as required for components in theColoring
parent element - Specify bitmap formats as lowercase for both BCF XML and BCF API
- Clarify usage of visibility rules with additional examples and more documentation
- Specified maximum dimensions to be used for images to reduce BCF file sizes
- Update the schema to make it clear that either a
PerspectiveCamera
orOrthogonalCamera
has to be provided, never both - The valid range for camera
FieldOfView
was increased to0 - 180
degrees, from previously45 - 60
degrees - Allow both
png
andjpeg
(new) image formats for viewpoint snapshots - Extend documentation for the
Coloring
part of components - Added
AspectRatio
for the camera definitions to ensure reliable restoration of viewpoints on devices with varying screen dimensions - Clarify that
FieldOfView
andViewToWorldScale
is vertical - Added Implementation Notes for working with cameras, also when dealing with older versions of BCF, with code examples
- Clarify that camera direction and up vectors must not be zero length vectors or parallel to each other
- When no viewpoint is referenced in a comment, the text must not be empty #196
- Mandatory reference GUID #158
-
DocumentReferences
were refactored to use a dedicated type in the XSD schemas and to be wrapped in a list container
- Added
documents.xml
to better manage document exchange - Clarified that document files should be stored under a
/Documents
folder at the root of the BCF file
- Additional Properties #161
- Topic markers (pins) #86
- Component data for non-geometric authoring tools #99
- Normalize Camera Direction #178
Must include all possible user choices for enumerated fields including the current value.
-
project_actions
enumeration no longer includesupdateProjectExtensions
- project extensions should be updated using the server's user interface. - Typo fix:
corrected toupdateDocumentServices
updateDocumentReferences
in thetopic_actions
enumeration
- Added filters -
priority
andserver_id
- Added sort parameter -
server_id
- Returned topics must include a
server_id
- Clients can provide a desired
guid
, to have the BCF API better aligned with BCF XML
- Clients can provide a desired
guid
- Clients can provide a desired
guid
GET Topics events and GET Topic events services can return additional stage_added
stage_updated
and stage_removed
events.
- DELETE Topic Service - deletes a single topic
- DELETE Comment Service - deletes a single comment.
- DELETE Viewpoint Service - deletes a single viewpoint.
User friendly listing of Project Files to streamline the association of topics and models
As proposed in BCF-XML/#186 as service that would allow clients to request a snapshot thumbnail from the server
- Versions Service
- Authentication Services
Both have moved under the OpenCDE Foundation API.
The following changes have been introduced into the OpenCDE Foundation API and were not present in previous versions of the BCF API.