thatopen-core-web-ifc

Parse IFC data and extract geometry via the web-ifc API.

17|1|Updated Mar 20, 2026
One-click install
npx skills add https://github.com/OpenAEC-Foundation/ThatOpen-Claude-Skill-Package --skill thatopen-core-web-ifc
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: thatopen-core-web-ifc
Source: https://github.com/OpenAEC-Foundation/ThatOpen-Claude-Skill-Package/tree/main/skills/source/thatopen-core/thatopen-core-web-ifc
Command: npx skills add https://github.com/OpenAEC-Foundation/ThatOpen-Claude-Skill-Package --skill thatopen-core-web-ifc

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Directly access the web-ifc engine to parse IFC data, query entities, and extract geometry from ThatOpen components, enabling fine-grained control over the parsing lifecycle and memory management.

Core Features & Use Cases

  • Direct low-level IFC access: SetWasmPath, Init, OpenModel, GetLine, GetFlatMesh, StreamAllMeshes, and property helpers.
  • Geometry and data extraction: retrieve vertex data, indices, and per-entity transforms with schema-aware type handling.
  • Model lifecycle and coordination: support multiple models, coordinate alignment, streaming workflows, and COORDINATE_TO_ORIGIN options.
  • Typical use cases include custom IFC viewers, analytics tools, and research pipelines that require deterministic parsing and precise geometry data.

Quick Start

Initialize the IfcAPI by setting the WASM path and calling Init, then load an IFC buffer with OpenModel and begin querying geometry and properties.

Frequently Asked Questions about thatopen-core-web-ifc

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I parse IFC files and extract geometry directly in the browser or Node.js?

To parse IFC files and extract geometry, initialize the web-ifc engine by setting the WASM path and calling Init, then use OpenModel to load the IFC buffer and query vertices, indices, and transforms with GetFlatMesh or StreamAllMeshes.

Can I load and coordinate multiple IFC models using web-ifc?

Yes, you can load and coordinate multiple IFC models using web-ifc by opening separate models with OpenModel and applying coordinate alignment options like COORDINATE_TO_ORIGIN for proper multi-model positioning.

What is the best way to stream large IFC geometry without running out of memory?

The best way to stream large IFC geometry is using the StreamAllMeshes function, which processes meshes iteratively to maintain fine-grained control over the parsing lifecycle and memory management during data extraction.

How do I query specific IFC entities and retrieve their properties with web-ifc?

You can query specific IFC entities and retrieve their properties by using GetLine to fetch individual entity data and the ifcApi.properties helper to access schema-aware type handling for detailed property extraction.

Does web-ifc require WASM setup before parsing IFC data in ThatOpen components?

Yes, web-ifc requires WASM setup before parsing IFC data in ThatOpen components; you must call SetWasmPath to locate the WASM binary and execute Init to initialize the engine prior to opening any model.

Why use direct web-ifc access instead of higher-level IFC parsing components?

Direct web-ifc access provides deterministic parsing and precise geometry data control, making it ideal for custom IFC viewers, analytics tools, and research pipelines that require fine-grained lifecycle and memory management.