🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

@thatopen/fragments

Package Overview
Dependencies
Maintainers
2
Versions
47
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@thatopen/fragments

Simple geometric system built on top of Three.js to display 3D BIM data efficiently.

3.0.4
latest
Source
npm
Version published
Weekly downloads
4.2K
-19.76%
Maintainers
2
Weekly downloads
 
Created
Source

TOC | documentation | demo | community | npm package

cover

Fragments

NPM Package NPM Package

Fragments is an open-source library designed to store, display, navigate, and edit massive amounts of BIM data with exceptional efficiency—on any device.

This repository contains the format and a whole toolkit to start building on top.

🤝 Want our help?

Are you developing a project with our technology and would like our help? Apply now to join That Open Accelerator Program!

🧩 Integration with components

As you might know, we have 4 open source libraries:

  • web-ifc: the IFC parser and geometry engine.
  • fragments: the open source format and 3D engine.
  • components: a set of tools to build BIM software fast.
  • ui components: our agnostic UI system.

Components doesn't work with this new version of Fragments yet. In the next release, at the end of Q2, all components will be updated to work with this new version of Fragments. In the meantime, you have 3 options:

  • Work with Fragments and build your own BIM components from scratch.
  • Work with Components (which don't use this new version of Fragments).
  • Check out our Accelerator Program to get previous access to the upcoming components.

Once the release at the end of Q2 is made, Components will work natively with this new version of Fragments.

🧩 The Format

Fragments defines an open BIM format optimized for handling large datasets efficiently.

  • Binary and compact for performance

  • Free and open source

  • Supports geometries, properties, and relationships

The format is built with Google's FlatBuffers, an efficient cross-platform serialization library. This means you can create your own Fragments importer/exporter in any programming language. Just refer to the FlatBuffers documentation to get started.

📄 You can find the Fragments schema here. It defines what kind of data Fragments can store—anything the schema supports, you can include.

This library also includes a TypeScript/JavaScript importer/exporter, so you can get up and running fast. But feel free to build your own!

That said, the easiest way to generate Fragments is by using the built-in IfcImporter, described below.

🚀 The 3D Engine

Fragments comes with a high-performance 3D viewer built on top of Three.js. It’s designed to handle millions of elements in seconds, making it ideal for web-based BIM applications.

With it, you can:

  • Display large BIM models efficiently on any device

  • Highlight, filter, raycast, and snap elements

  • Retrieve properties and interact with the model

🔄 Importers and exporters

This library includes an IfcImporter that works both in the frontend and backend. It makes it simple to bring your IFC data into the Fragments ecosystem.

We're planning to release more importers/exporters to help integrate Fragments into a wide variety of BIM workflows.

Whether you're building a lightweight BIM viewer, a full-scale application, or just exploring the future of open BIM formats, Fragments gives you the tools to do it—fast, open, and free.

For more information and tutorials, check out our documentation.

FAQs

Package last updated on 01 May 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts