Skip to content
IFC-RS
Viewer Русский
Project Wiki en

API

Rust facade — implemented

Primary type: ifccore::IfcModel<'source>.

API Result
IfcModel::open(&[u8]) opens a model without copying the full buffer
entity(express_id) returns ID, IFC type, and byte range
entities_by_type(name) deterministic Express ID order
diagnostics() stable codes and half-open byte ranges
edit() starts an isolated transaction
Edit::set_attribute(...) replaces an attribute with a STEP token
Edit::commit() atomically publishes the overlay
write(&mut Write) writes a new IFC file

Stable error codes: EntityNotFound, InvalidEdit, and WriteFailed. Generate reference documentation with cargo doc -p ifccore --open.

WASM API — implemented

Exports cover open/streaming, query/search, tree/properties, geometry, edit/undo/redo, export/cancellation, diagnostics/performance, and ifc_close. The primary JSON contract is ifc-wasm.dto.v1; binary geometry is IFCG/2.

ifc_open(bytes) → handle → query/edit/export → ifc_close(handle)

A handle is invalid after close. The 0.2 package is single-threaded; WASM threads and SharedArrayBuffer are not part of the contract. See the normative WASM API.

Breaking signatures, DTO discriminators/error codes, or binary layouts require a new schema version and migration note.