Simple IFC import/export plugin for Rhino 8 (Windows) with Grasshopper components.
Uses xBIM to parse IFC2x3 and IFC4 files. Imported geometry comes in as meshes with full spatial-hierarchy layers, colors, and IFC metadata preserved as user strings.
- Go to the Releases page
- Download the latest
.zipfile - Extract to a permanent folder (e.g.
C:\Users\YourName\AppData\Roaming\McNeel\Rhinoceros\8.0\Plug-ins\RhinoIfc\) - In Rhino, run
_PlugInManager, click Install, and browse toRhinoIfc.rhp - Restart Rhino
Prerequisites:
- .NET Framework 4.8 targeting pack (included with Visual Studio 2022 .NET desktop workload)
- .NET SDK 6.0+ (for
dotnet build)
Steps:
git clone https://github.com/jacobblitzer/RhinoIfc.git
cd RhinoIfc
dotnet restore
dotnet build -c Release
Then load the plugin:
- Copy all files from
RhinoIfc\bin\Release\to a permanent folder - Rename
RhinoIfc.dlltoRhinoIfc.rhp - Drag
RhinoIfc.rhpinto the Rhino viewport, or use_PlugInManagerto install
Important: The xBIM native geometry engine DLLs (
Xbim.Geometry.Engine64.dll, etc.) must be in the same directory as the.rhp. The build copies them automatically.
If you have the Yak CLI on your PATH:
build.bat
This builds, stages all DLLs (including xBIM native engines), and runs yak build. Install the resulting .yak via _PackageManager in Rhino.
The Grasshopper plugin (GH_RhinoIfc.dll / .gha) is built alongside the Rhino plugin. To install:
- Copy
GH_RhinoIfc.dllfromGH_RhinoIfc\bin\Release\to your Grasshopper Libraries folder- Typically:
%APPDATA%\Grasshopper\Libraries\
- Typically:
- Rename to
GH_RhinoIfc.gha(optional but conventional) - Restart Rhino/Grasshopper
| Command | Description |
|---|---|
IfcImport |
Import a single IFC file as Rhino meshes with layers, colors, and metadata |
IfcImportMulti |
Import multiple IFC files at once with configurable grouping (see below) |
IfcExport |
Export Rhino objects to IFC4 or IFC2x3 with automatic class mapping from layer names |
Designed for multi-discipline workflows where architecture, structure, and MEP are delivered as separate IFC files. Select multiple files and choose a grouping mode:
-
ByFile (default) — Each file gets a color-coded parent layer. Spatial hierarchy nests underneath.
Arch (red) +-- Default Site :: Building A :: Ground Floor :: Wall +-- Default Site :: Building A :: Ground Floor :: Slab Struct (blue) +-- Default Site :: Building A :: Ground Floor :: Column -
ByGroup — Files share the same layer hierarchy. Each file's objects are placed in a named Rhino group so you can isolate disciplines with
SelGroup. -
Flat — All files merge into one shared layer hierarchy. No grouping. Identical layer paths reuse existing layers.
The entire multi-import is wrapped in a single undo record (Ctrl+Z undoes all files at once). A summary table is printed after import showing element counts and timing per file.
Name your Rhino layers to match IFC types:
| Layer name (case-insensitive) | IFC class |
|---|---|
| Wall, Walls | IfcWall |
| Slab, Slabs, Floor | IfcSlab |
| Column, Columns | IfcColumn |
| Beam, Beams | IfcBeam |
| Door, Doors | IfcDoor |
| Window, Windows | IfcWindow |
| Roof | IfcRoof |
| Stair, Stairs | IfcStair |
| Railing | IfcRailing |
| Furniture | IfcFurnishingElement |
| (anything else) | IfcBuildingElementProxy |
Nested layers work — Architecture :: Ground Floor :: Walls will match "Walls" as IfcWall.
Imported objects store IFC data as user strings:
IFC_GlobalId— unique IFC identifierIFC_Name— element nameIFC_Class— e.g. IfcWall, IfcSlabPsetName.PropertyName— all property set values
View with: select object, then Properties panel, Attribute User Text section.
- xBIM Essentials (CDDL license)
- xBIM Geometry (CDDL license)
- RhinoCommon (McNeel SDK)
MIT