Skip to content

goifc

Read IFC in Go. Parse the file, walk the semantics, tessellate the geometry, get the numbers — each one labelled with where it came from.

go get github.com/blox-eng/goifc

Get started API reference

What you get

  • Schemas — IFC2X3 and IFC4 core entities.
  • Elements — semantics, placements, units, materials, storeys.
  • Geometry — proxy meshes, bounding boxes, plane sections, GLB.
  • Quantities — authored (qto), or derived from the mesh (geometry). Openings are not netted out, so a derived volume is gross.

Where goifc's numbers are bounds rather than truth, it says so in the data — see quantities and provenance — and the edges it does not cover are written down in limitations.

Where to go next

  • Getting started

    Install, parse a file, and get elements with quantities out of it.

  • The pipeline

    Three stages — step, model, geometry — each usable on its own.

  • Sections and floor plans

    Cut the tessellated model with any plane and get closed 2D rings back.

  • The step package

    A schema-agnostic STEP/SPF parser that works on any STEP file, IFC or not.

API reference

Package documentation lives on pkg.go.dev, which is generated from the source and always matches the release you are importing:

ifc · step · model · geometry

This site covers the things godoc cannot: how the pieces fit together, what the numbers mean, and where the edges are.