at3d
Industrial 3D/BIM engine for the browser
High-performance engine for BIM model and point cloud visualization in the browser. Handles 1,000,000+ objects and up to 2 billion laser scanning points. Integration via npm package, iframe, or REST API. Custom binary formats ATM and ATP1 with zstd/Brotli compression. Two C++ backends, Web Workers for non-blocking loading and rendering.
Why at3d
Performance without compromise
MergeGeom combines thousands of walls into a single draw call, IdenticalGeom uses InstancedMesh for repeated elements, RaycastBVH enables sub-millisecond object selection. Even million-object models run smoothly in a regular browser.
Custom binary formats
ATM v260616 for BIM models with zstd compression and ATP1 v2 for point clouds with Brotli/zstd. Conversion from IFC, LAS, LAZ, E57 via C++ backend with RabbitMQ task queue. Format optimized for streaming rendering.
Two C++ backends
core_backend — high-load read-only data serving (tree, geometry, properties). AT3DConverter — format conversion via queue with N workers. Frontend Web Workers: frustum culling, batch loading, tree parsing — zero UI blocking.
How It Looks

How It Works
Upload your model
IFC, LAS, LAZ, or E57 — conversion to optimized binary format happens automatically via the C++ converter.
Browser visualization
The model renders via WebGL/WebGPU with LOD for point clouds, geometry batching, and virtual scrolling for the model tree.
Work with data
Use tools: sections, measurements, element isolation, property inspection, ViewCube navigation, and FlyController.
Integrate into your product
Connect via npm package, iframe, or REST API. Standalone mode or Embedded with your own backend.
What at3d Can Do
Native IFC Parsing
Full IFC 2x3 and IFC4 support without third-party libraries. Conversion to custom binary ATM format with zstd compression. Model tree with virtual scrolling for millions of nodes.
Unlimited Point Clouds
Progressive loading of LAS, LAZ, E57 via Potree LOD. Conversion to ATP1 v2 format. TIN surfaces, volume calculations, 360° panoramas from E57.
Batching & Instancing
MergeGeom combines 1,000 walls into 1 draw call. IdenticalGeom uses InstancedMesh for repeated elements. Minimal GPU load even with millions of objects.
Clash Detection
C++ service for intersection checks between disciplines. Hard, soft, clearance clashes. Configurable presets with tolerances and IFC type exclusions.
Professional Tools
Sections, measurements, element isolation, ViewCube. FlyController and orbit navigation. EdgeSnap, BoxSelect, ElementDistance. Pinch zoom on mobile.
Flexible Integration
Monorepo of 3 packages: @atim/web3d-core, web3d-formats, web3d-vue. Standalone or Embedded modes. SaaS or on-premise via Docker + K8s. TLS 1.3, JWT, AES-256.
Who Is at3d For
Interested in at3d?
Contact us to discuss implementation or collaboration