How to Use Rhino and Grasshopper Integration with BricsCAD BIM
Quick answer: Rhinoceros3D (Rhino) is a NURBS 3D modeler from Robert McNeel & Associates, used to create, edit, analyze, document, render, animate, and translate curves, surfaces, solids, point clouds, and polygon meshes. Grasshopper is a visual programming environment running inside Rhino, tightly integrated with its modeling tools. Worth noting: like the DmPushPull and parallel-copy pages covered elsewhere in this hub, this source’s own page title reads “BricsCAD Lite & Pro” while filed under BricsCAD BIM.
This source is a large, multi-part visual tutorial series that leans heavily on downloadable starter files and specific Grasshopper canvas interactions. The setup, linking, and toolset sections below are covered thoroughly; the building tutorials are summarized at the workflow level, since following them precisely really requires having the actual starter files open in Grasshopper alongside the visual canvas itself.
Installing the Rhino/Grasshopper Connection
- Download Rhino from Rhino3D’s official download page. Trial license keys work for both current BricsCAD BIM and Rhino 7 or 8; keys for older Rhino versions won’t work with this integration since BricsCAD V21.
- Download the Grasshopper-BricsCAD Connection from the BricsCAD Application Catalog; the installer copies everything needed into the
Program Files\Bricsys\Grasshopper-BricsCAD Connectionfolder. It currently works with BricsCAD Pro, BIM, Mechanical, or Ultimate for creating geometry, but BIM-specific functionality (classification, spatial locations, profiles, properties, IFC export) needs a BIM or Ultimate license specifically. - Restart BricsCAD.
- Open and save a new drawing, then use the buttons in the new Grasshopper ribbon tab, or the Quad, to launch Grasshopper or Rhino.
Launching and Linking a Grasshopper File
To launch Grasshopper from BricsCAD:
- Open and save an empty BricsCAD file.
- Open Grasshopper via the button in the new Grasshopper tab (you can close the Rhino pop-up window, Rhino keeps running in the background).
- Choose New document for a blank script, or Open document… to open an existing one you made previously (any input geometry from another program needs to be internalized first, right-click it and choose Internalise data).
- The script’s geometry should appear in BricsCAD’s model space, shown in red. Keep the Grasshopper window open, closing it removes the preview.
To link a Grasshopper file to a different BricsCAD file: by default, a script links to whichever BricsCAD drawing was active when you launched Grasshopper. To link it elsewhere, make the target drawing current, then click the Link icon in the bar above the Grasshopper canvas.
Opening a Sample File
Sample files ship with the connection in the Program Files\Bricsys\Grasshopper-BricsCAD Connection folder.
- Open a sample
.dwgfile from that folder; you’ll get a read-only warning since it’s in a secured folder, click Yes to proceed (or copy the samples to your own folder first if you want to edit them). - In Grasshopper, choose File > Open Document, navigate back to that folder, and open the
.ghxfile matching the.dwg‘s name. - A red preview of the geometry appears in BricsCAD’s model space (keep the Grasshopper window open, and make sure it’s linked to the correct BricsCAD file if the preview doesn’t show).
- Adjust the input sliders to experiment.
- To convert the preview into real BricsCAD geometry, Shift-click every Bake Building Element component and click Bake, then OK on the confirmation dialog; the geometry becomes real BricsCAD geometry, complete with BIM data attached.
- Since sample files are read-only, save any changes to a new location rather than overwriting the originals.
Customizing and Uninstalling
The connection’s code is fully open-source, available on GitHub, letting you customize it by coding your own extensions.
To uninstall: open Add or Remove Programs in Windows, search for Grasshopper-BricsCAD connection, and click Uninstall.
Building a Simple Model: Workflow Overview
Octave’s documentation walks through building a small structure step by step, using a downloadable Starter files ZIP containing the intermediate and final .ghx/.dwg files for each stage. The overall workflow:
- Draw a box in Rhino and bake it into BricsCAD: draw a box with Rhino’s
BOXcommand (works the same as BricsCAD’s), reference it in Grasshopper with a Brep component, connect it to a BricsCAD Bake Geometry component, and bake it in. - Build a box in Grasshopper from a BricsCAD rectangle: draw a rectangle (or polyline, for irregular shapes) in BricsCAD, bring it into Grasshopper as a Curve component, turn it into a boundary surface, then extrude it to a height set by a number slider.
- Split the box into floors: using the provided starter code, divide the extrusion by slab height with a Contour component, offset the curves by wall thickness, split surfaces into walls, slabs, and roof, then bake each group as classified Building Elements, linking them to Buildings and Stories components so each element gets the correct spatial location and BIM Type (BimWall, BimSlab, BimRoof).
- Add a railing to the roof: select the roof’s top face, generate baselines and axes for supporting columns and beams, pull a real structural profile from BricsCAD’s profile library (Library Profile and Profile Info components), extrude the beams and columns along those axes using that profile, and bake them as classified BimColumn and BimBeam elements with the correct spatial location and profile assigned. Column corner connections can then be refined with L-Connect back in BricsCAD.
- Add information to the baked model: using Get Properties Names and Set Property Value components, set custom BIM properties (like a ColumnType or BeamType) on the newly baked and classified beams and columns directly from Grasshopper, changes reflect in BricsCAD’s Properties panel in real time.
Each stage’s starter, intermediate, and finished files (including baked results) are included in the downloadable Starter files ZIP referenced in Octave’s documentation for this article, following along with those files open is the most reliable way to reproduce this workflow exactly.
The BricsCAD Toolset in Grasshopper
| Component | Description |
|---|---|
| Plane | Represents a plane in BricsCAD |
| Point | Represents a point in BricsCAD |
| Curve | Represents a BricsCAD curve |
| Entity | Represents a BricsCAD entity |
| Edge | Represents a BricsCAD edge |
| Face | Represents a BricsCAD face |
| Vertex | Represents a BricsCAD vertex |
| Buildings | A name picker for every building in BricsCAD’s Spatial Locations |
| Stories | Returns all stories attached to the input building |
| Profile Names | A name picker for every profile in BricsCAD’s Profiles |
| Profile Sizes | Returns all sizes attached to the input profile |
| BIM Types | A type picker for every BIM Type available in BricsCAD |
| Property Categories | A category picker for every property category available in BricsCAD |
| Bake Geometry | Bakes Grasshopper geometry into BricsCAD without any BIM data; outputs a reference to the baked element |
| Bake Building Element | Bakes Grasshopper geometry into BricsCAD with BIM data attached; outputs a reference to the baked element |
| Elements on Spatial Location | Returns every building element in BricsCAD by default, or filtered by element type and/or spatial location with inputs |
| Library Profile | Returns a profile from the library by name and size |
| Profile Info | Returns a profile’s name, size, standard, and curves |
| Property Names | Returns the property names attached to a building element in a given category |
| Property Value | Returns a property’s value for a given building element, name, and category |
| Linear Solid Info | Returns axis, extrusion path, and profile curve information for a linear solid in the drawing |
| Set Property | Sets a building element’s property value by name, category, and value |
| IFC Export | Exports specified building elements to IFC |
| Link | Links the Grasshopper script to the open BricsCAD .dwg file |
| Bake | Bakes geometry from the selected Bake Geometry and Bake Building Element components |
Frequently Asked Questions
Does the Rhino/Grasshopper connection work with any BricsCAD license? It creates geometry with Pro, Mechanical, BIM, or Ultimate, but BIM-specific functionality like classification, spatial locations, profiles, and IFC export needs a BIM or Ultimate license.
What’s the difference between Bake Geometry and Bake Building Element? Bake Geometry creates plain BricsCAD geometry with no BIM data attached. Bake Building Element creates the same geometry but with BIM data (classification, spatial location, and so on) included.
Can I customize the connection myself? Yes, its code is fully open-source on GitHub, letting you extend it if you’re comfortable coding.
Why doesn’t my Grasshopper preview geometry show up in BricsCAD? Either the Grasshopper window got closed (which removes the preview), or the script is linked to the wrong BricsCAD file, use the Link icon above the canvas to connect it to the correct drawing.