-
Notifications
You must be signed in to change notification settings - Fork 87
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
DetailedVersionelement inbcf.version - Change extensions to use an XML instance instead of being an XSD that redefines
markup.xsdfor 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
ExtensionSchemafromproject.bcfpwas removed and theProjectitself is now wrapped in an element calledProjectInfo - Clarify how IFC files are mapped to
Fileelements 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
TopicTypeandTopicStatusare required #303 - Clarify that
GUIDis required for topics
- Enhance and clarify the camera definition
- Clarify handling of decomposed objects #167
- Align
ViewSetuphHintswith BCF-API #174](https://github.com/buildingSMART/BCF-XML/issues/174) - Remove default snapshot and viewpoint filename convention #179
- Clarify ClippingPlane Direction #193
- Mark
IfcGuidin components as optional in the schema if alternatively theAuthoringToolIdis provided - Mark
Colorin components as required for components in theColoringparent 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
PerspectiveCameraorOrthogonalCamerahas to be provided, never both - The valid range for camera
FieldOfViewwas increased to0 - 180degrees, from previously45 - 60degrees - Allow both
pngandjpeg(new) image formats for viewpoint snapshots - Extend documentation for the
Coloringpart of components - Added
AspectRatiofor the camera definitions to ensure reliable restoration of viewpoints on devices with varying screen dimensions - Clarify that
FieldOfViewandViewToWorldScaleis 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
-
DocumentReferenceswere refactored to use a dedicated type in the XSD schemas and to be wrapped in a list container
- Added
documents.xmlto better manage document exchange - Clarified that document files should be stored under a
/Documentsfolder 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_actionsenumeration no longer includesupdateProjectExtensions- project extensions should be updated using the server's user interface. - Typo fix:
corrected toupdateDocumentServicesupdateDocumentReferencesin thetopic_actionsenumeration
- Added filters -
priorityandserver_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.