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
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
//! IFC5 (IFCX) JSON format parser
//!
//! This module handles parsing of IFC5 files which use a JSON-based format
//! with Entity Component System (ECS) composition model.
//!
//! Key differences from IFC4 (STEP):
//! - JSON format instead of STEP text
//! - Path-based UUIDs instead of Express IDs (#1, #2, ...)
//! - Pre-tessellated USD geometry instead of parametric
//! - Flat namespaced attributes instead of explicit relationship entities
//! - ECS composition via `children` and `inherits`
pub use compose_nodes;
pub use IfcxGeometry;
pub use IfcxModel;
pub use *;
use crateResult;
/// Detect if content is IFCX (JSON) format
///
/// IFC5 files start with '{' (JSON object) while IFC4 files start with 'ISO-10303-21'
/// Parse IFCX content into a model