メインコンテンツまでスキップ

Importing OBJ, glTF, and GLB Data

Introduction#

FRI3D supports importing OBJ, glTF, and GLB file formats to enable visualization and integration of lightweight 3D assets such as architectural context models, scanned geometries, or external meshes from modeling tools like Blender, SketchUp, or 3ds Max.

These formats are primarily geometry- and material-centric, intended for rendering and visualization rather than engineering or BIM semantics.
They contain meshes, materials, textures, and scene hierarchies but generally lack classification or physical metadata such as fire resistance, materials, or structural roles.

For simulation purposes, FRI3D treats these imports as generic geometry containers, allowing users to manually tag them for fire, space, or structural classification.

⚠️ Important Note:
GLB and glTF import functionality is currently limited in FRI3D. While basic geometry import is supported, advanced features such as animations, complex material properties, and some glTF extensions may not be fully supported. For production workflows requiring rich 3D assets, consider using OBJ format or converting glTF/GLB files to OBJ before import.


Format Overview#

FormatDescriptionTypical UseStandard
OBJ (.obj)Legacy mesh format storing vertices, normals, UVs, and material references (.mtl).Geometry export from 3D modeling and scanning tools.Wavefront OBJ (Alias/Wavefront, 1990s)
glTF (.gltf)JSON-based open format for 3D scenes and assets with PBR materials and textures.Real-time visualization and web integration.Khronos glTF 2.0 (2017)
GLB (.glb)Binary version of glTF with embedded geometry, textures, and materials.Compact web/VR streaming.Khronos glTF 2.0

Structure and Entities#

ComponentOBJglTF / GLBDescription
Geometryv, vn, vt, fMesh primitives (POSITION, NORMAL, TEXCOORD)Vertex-based mesh geometry
Materials.mtl filematerials array with PBR attributesDiffuse, roughness, metallic, and texture references
Hierarchy / NodesGroup/object lines (g, o)nodes, scenesScene organization and transforms
TexturesExternal imagesEmbedded or externalAlbedo, normal, roughness maps
AnimationsOptional (for glTF/GLB only)Transform or skeletal animation data
MetadataOptional custom extensionsNon-standard user attributes

⚠️ Note:
These formats are not BIM- or CAD-native.
They do not include IFC-like entity classes or engineering semantics such as IfcWall or IfcSpace.
As such, FRI3D’s classification relies on naming conventions or user-defined tags.


Import Workflow in FRI3D#

  1. File Detection
    FRI3D automatically identifies .obj, .gltf, and .glb extensions.

  2. Parsing

    • OBJ file is parsed line-by-line to reconstruct meshes and materials.
    • glTF and GLB files are parsed using a compliant JSON/binary reader supporting the Khronos glTF 2.0 specification.
  3. Scene Assembly
    Node hierarchies, transformations, and mesh instancing are reconstructed for unified scene representation.

  4. Tagging and Classification
    Since no schema metadata exists, FRI3D infers element categories from naming patterns (e.g., group/object names) or manual user input.

  5. Conversion and Simplification
    Meshes are converted to internal FRI3D geometry primitives (triangular meshes or bounding boxes).
    Materials are optionally used for visualization, but simulation attributes (e.g., emissivity, fuel type) must be assigned separately.


Tip:
For OBJ files, group names (g) For glTF/GLB, use node names or metadata in the extras field.


Reliability and Limitations#

While OBJ and glTF/GLB imports are well-supported for visualization, they have limited semantic fidelity compared to IFC.
FRI3D treats them as geometry-only sources, so manual classification and property assignment are often required.

  • No physical properties (e.g., density, emissivity, fire resistance) are preserved.
  • No topology or adjacency information (walls, doors, spaces) is encoded.
  • Coordinate systems may differ depending on the source tool (Y-up vs. Z-up).
  • Precision may vary; OBJ uses text-based coordinates, leading to rounding errors for large-scale scenes.
  • Material data is optimized for visualization, not simulation.

⚠️ Recommendation:
Use these formats for contextual geometry, visualization, or simplified environments.
For detailed building data and automated classification, prefer IFC imports.


Supported Versions#

FormatSupported SpecificationNotes
OBJWavefront OBJ + MTLASCII only (binary variants not supported)
glTFglTF 2.0 JSONExternal or embedded textures supported
GLBglTF 2.0 BinaryFull embedded scene; preferred for compact assets

Example#

OBJ Example#

o FireDoor_Main
v 0.0 0.0 0.0
v 1.0 0.0 0.0
v 1.0 2.0 0.0
v 0.0 2.0 0.0
f 1 2 3 4
usemtl DoorMaterial

Reach out

If you need help after reading this doc, email us [email protected] for an answer. .