That Open Engine Documentation

website·Indexed 32 days ago

https://docs.thatopen.com/intro

Developer documentation and tutorials for the That Open ecosystem, featuring tools for BIM data visualization, IFC to Fragments conversion, and Open BIM Collaboration (OBC). Includes API references for @thatopen/components and @thatopen/fragments, with guides on implementing BCF topic management, IDS validation results, spatial trees, and technical drawing sheets.

Tokens
235.3K
Snippets
1.3K
Records
1.9K
Agent score
61%

What's inside That Open Engine

  1. Overview of SheetBoard

    The SheetBoard is a UI component (custom element <bim-sheet-board>) that extends LitElement. It provides an infinite pannable and zoomable canvas used for arranging technical drawing sheets. It manages the placement of DrawingViewport elements within PaperSpace sheets.
  2. Overview of the Fragments (.frag) BIM format

    Fragments is an open-source native binary format (.frag) based on Google Flatbuffers, designed specifically for BIM (Building Information Modeling) data. It is optimized for high performance, allowing gigabytes of data to be visualized at 60 fps in a browser with minimal RAM usage. Key characteristics include:

    • Performance: Significantly reduces file size (e.g., a 2GB IFC STEP file can become an 80MB Fragments file).
    • Editability: Supports editing of both properties and geometry.
    • Compatibility: Compatible with over 15 programming languages via Flatbuffers.
    • Licensing: Free and open source under the MIT License.
  3. Overview of IDSSpecification class

    The IDSSpecification class represents a single specification from the Information Delivery Specification (IDS) standard. It implements IDSSpecificationData and is used to validate models against specific requirements and handle the serialization of specifications into XML format.
  4. Overview of FragmentsModel

    The FragmentsModel class is the primary interface for managing a 3D model loaded from fragments files. It orchestrates specialized managers for geometry, materials, visibility, highlighting, and sections. Model data is processed asynchronously across multiple threads to maintain performance.
  5. Overview of the Editor class

    The Editor class provides functionality for editing and managing Fragments models. It handles operations such as editing model elements, saving changes, and managing edit history. It includes an onEdit event that triggers whenever an edit is made, providing the modelId of the affected model.
  6. Overview of Open BIM Components

    Open BIM Components is a collection of BIM tools built on Three.js for creating browser-based 3D BIM applications. It provides pre-made features for post-production, dimensions, floorplan navigation, and DXF export.
  7. Overview of the SheetBoard component

    The SheetBoard component is a multi-sheet drawing canvas used for creating technical construction documents. It hosts PaperSpace sheets, each containing positioned technical drawing viewports at configurable scales. It includes a built-in edit mode that allows annotation tools to be used directly inside any viewport.
  8. Overview of the Grid component (bim-grid)

    The Grid<L, E> component is a custom grid system for web applications, implemented as a LitElement. It is registered under the HTML tag bim-grid. It allows developers to define complex layouts using templates and manage the visibility and behavior of grid areas.
    <bim-grid></bim-grid>
  9. Overview of the Fragments binary format

    Fragments is a binary format built on top of Flatbuffers, designed for high-performance loading of gigabytes of BIM data. It uses a schema file (.fbs) to define data structures, ensuring cross-language compatibility and backwards compatibility. While a TypeScript/JavaScript tech stack is provided to abstract this complexity, developers building custom importers, exporters, or tools in other languages must interact with the Flatbuffers schema.
  10. Overview of OrthoPerspectiveCamera

    The OrthoPerspectiveCamera is a flexible camera class extending SimpleCamera. It uses yomotsu's cameracontrols to manage navigation in both 2D and 3D environments. It is designed to support multiple navigation modes, including 2D floor plan navigation, first-person views, and 3D orbit. It manages the transition and state between orthographic and perspective projections.
  11. Overview of ModelIdMapUtils

    ModelIdMapUtils is a utility class used to manipulate and manage ModelIdMap objects. A ModelIdMap is defined as a mapping where model identifiers (strings) map to sets of local IDs (numbers). The class provides static methods for common operations such as joining, intersecting, cloning, adding, removing, and comparing these maps, as well as serialization to and from plain JavaScript objects.