Import and convert a 3D model
Projects → 3D model converts OBJ, GLB, glTF, Rhino .3dm and IFC into timber parts and a positioned
construction in Fitting. You can also save just the reference model.
Conversion runs on this device. Each timber should be a separate closed mesh object,
or a separate OBJ object/group of corner or surface points.
Prepare the file
Section titled “Prepare the file”Keep touching beams separate. Bake holes and joints into the actual surfaces and remove cutter objects. Name each timber. Straight rectangular stock is supported; curved, tapered and round stock stay visible as reference geometry. Faces written twice, as a SketchUp model passed through Blender often has them, are read once.
Blender: keep separate objects (Separate → By Loose Parts when needed), check
Metric units and dimensions, apply scale and bake modifiers. Export selected meshes as
glTF 2.0, preferably GLB. The exporter converts Blender’s Z-up coordinates to Y-up.
Enable Custom Properties when carrying a Boomkikker model through Blender: it exports
the metadata as glTF extras. Keep the metadata parent and the __zl_… object-name
suffixes. See the Blender glTF documentation.
Rhino: choose the .3dm itself. It is read in its own units with Rhino’s Z up, each
object’s name as the part name and its layer as the group. Meshes, polysurfaces,
extrusions and blocks become parts; hidden objects, objects on hidden layers, curves,
points and SubD objects are left out, and the setup lists what was. A polysurface is
read from the render mesh Rhino saves with it: if the setup says one has none, switch
Rhino to a shaded view and save again. Make each timber a closed polysurface (the
ShowEdges command shows naked edges), and keep touching timbers as separate objects.
The first Rhino file needs a connection, to load the reader.
IFC (Tekla Structures, Cadwork, Revit and others): choose the .ifc itself, IFC2X3 or
IFC4. Each beam, column, brace, plate, peg or other element with a 3D body becomes an
object, named after the element, grouped by its assembly (or else its IFC type) and carrying
its material. Its shape is worked out from what the file states: the section along its
length, with its end cuts, joinery, holes and openings cut out of it, so a part arrives with
the cuts it was drawn with. The file’s own unit is converted to mm and its Z up turned to Y
up. Coverings, such as Tekla’s surface treatments, are finishes and are left out, as is any
element whose shape the importer cannot read (a revolved or swept solid, a curved surface);
the setup lists what was.
You can still export an OBJ from Rhino: Export Selected → OBJ, choose Polygon mesh objects, export object names As OBJ objects, and enable Map Rhino Z to OBJ Y. Use a fine mesh tolerance around holes, and disable wrapped lines. Keep a companion metadata file for round trips because OBJ comments may be removed. See the Rhino OBJ documentation.
Other CAD programs should export closed polygon meshes with named parts.
STEP and .blend files need an OBJ, glTF or IFC export first.
Detect and review
Section titled “Detect and review”- Choose one
.obj,.glb,.gltf,.3dmor.ifc, or a ZIP. Include external.binbuffers and optional.zaaglijst.jsonmetadata in the same selection. Maximum total: 128 MB. - Check the exact model size. OBJ defaults to mm; glTF metres are converted to mm, and a Rhino or IFC file is converted from its own unit. An OBJ in which nothing is timber-sized as mm, but everything is at one other unit (usually metres), is rescaled once and the setup says so. Correct units, scale, up axis, rotation or position. Calibrate with a known distance.
- Choose Detect parts again after changing settings. You can cancel detection. Scale, axes, calibration and tolerances sit under Advanced settings.
- Choose the parts. Parts marked Ready match the model and are selected for you. Filter the list by Ready, Check, No match and Not timber, or by name. The box above the list selects or clears every part shown; shift-click ticks a range. Pegs, plates, steel shoes and other objects that cannot become a part stay in the list, unticked. A bore along the grain is read as a bore in the end, also when it starts in a recess, and a slot running out of an end as a slit in it.
- Select a part in the list or the 3D view to see why it got its status. The box at the top of the inspector says what was found and lets you include and confirm it. Correct names, groups, profiles, local axes, cuts and processings below it, and use Check corrected geometry to measure the updated difference.
- The bar at the bottom says what is still needed. Selected parts that do not match the model exactly wait for your OK: Show them lists them, Confirm accepts them all at once. A part with an error that stops the import is marked Blocks import and named in the bar; Show them lists those parts with their errors, and Leave out removes them from the selection. Errors the destination project already had do not block. Then Import adds the counted parts to the new or existing project, in one undo step. Save reference only keeps the model in the local library.
Precision controls
Section titled “Precision controls”| Control | Default |
|---|---|
| Vertex tolerance (within objects) | 0.01 mm |
| Surface tolerance | 0.5 mm |
| Angular tolerance | 0.5° |
| Stock-size rounding | Off |
Measurements retain full internal precision. Surface deviation samples both source and reconstruction surfaces; it is not a continuous certified error bound. A coarse hole mesh may exceed the tolerance even when its nominal diameter is correct.
The detector supports the six end-cut forms, and any convex end of several saw planes (a pyramid post top, a chamfered end, a hip or jack rafter cut) as independent end planes. It reads perpendicular round through/blind holes, including a peg hole through a tenon or across a mortise, rectangular laps, notches, pockets and mortises, lengthwise slots, full-width V-notch seats (birdsmouths), and rectangular tenons, also off centre in one direction, on an end cut at an angle, and with round or rounded corners. Mortises with round ends, and a housing with a deeper middle, read as what they are. A dovetail tail at a joist’s end and the socket it hangs in, square to the part, read as a dovetail tenon and a dovetail mortise; a brace’s tenon with its ends rounded, and a post foot recessed for its base plate, read too. Narrow enclosed pockets (length ≥ 8 × width) are labelled slots. Holes, rounded corners and dovetail ends drawn as polygons may differ from a true curve by their facet depth; such parts ask for review. Manufacturing intent may need correction. Lipped halvings, intersecting cuts, countersinks, angled bores and unusual shoulders can remain reference-only.
Parts that are not timber stock are named rather than reported as failures: round pegs, dowels and bars (with diameter and length), thin plates, squat blocks such as footings, small hardware, any part whose material or name in the model says steel or metal, and any part whose material says concrete or stone. They stay excluded unless you include them. Pegs and bars come in as fasteners on their own axis, drilled through the parts they pass and listed as hardware; turn off Bring pegs and rods in as fasteners to leave them out.
In the 3D view the selected part is blue, parts in the import are tan and parts left out are grey. Amber model surfaces show where no part matched. Select a processing in the part drawing to inspect its position.
Choose fitting behaviour
Section titled “Choose fitting behaviour”Preserve source keeps measured placement, cuts and machining. It is the default for mesh files. Imported members remain editable and participate in connection detection.
Automatic fitting recalculates connections for all included parts, including parts with existing machining. Review the changed lengths and cuts. In the part inspector, select imported operations that should be replaced; unchecked operations stay in place. Drill holes and markings are kept unless explicitly selected. You can accept reviewed changes per part or for all included parts. Changes to existing destination parts also need review.
In Fitting, select a member to switch the whole member, its start connection or its end connection. Select a joint point to switch all arriving ends together. Crossing controls appear in the member’s crossing section. Each switch shows the affected parts and lets you choose which imported operations to replace before applying one undoable change. Other ends and unrelated machining remain intact. Switching back to Preserve source restores the stored geometry for that connection, even without the reference file. Older imports capture their current geometry the first time you switch them.
Point-only OBJ files
Section titled “Point-only OBJ files”Put one straight rectangular timber in each OBJ o object or g group. The importer
accepts vertices and explicit p references, including negative references. Eight stock
corners or sufficiently complete surface samples establish size, orientation and position.
Point-derived parts require review and use automatic fitting. Missing faces do not prove
that holes or existing joints exist: detailed machining is not reconstructed from points.
Flat, incomplete and nonrectangular groups stay reference/review candidates.
Correct an unexpectedly small model
Section titled “Correct an unexpectedly small model”Check the displayed dimensions before importing. OBJ has no reliable unit declaration; GLB/glTF metres are already normalized to millimetres. For implausibly sized timber, the importer offers scale previews, including ×100. Choosing one reruns detection and clears earlier review acceptance. Only when nothing at all is timber-sized as read, and one factor clearly is, does a freshly chosen OBJ get that factor automatically. Use the scale field or known-distance calibration if no suggestion matches the real part.
Keep machining through an export
Section titled “Keep machining through an export”Use Export view → OBJ / GLB / glTF in Fitting or a part preview. Boomkikker embeds
metadata for the full part, including annotation-only processings. Select
Include companion metadata (ZIP) for an additional .zaaglijst.json alongside the
geometry. Upload the ZIP, or both files together, to recover it later.
Unchanged exports restore exact part semantics and placements. The review says Restored from metadata instead of Detected from geometry. Required machine provenance is retained. Plain drillings and supported square tenons appear in shared 3D geometry; processings that cannot be carved are flagged as annotations.
Keep stable object names through external tools. Changed surfaces, scaling, conflicting metadata and ambiguous matching require review. Uniquely verified rigid movement can be restored. Geometry-only detection cannot recover text or original machine settings. Keep the normal Boomkikker project file to preserve the original fitting graph as well.
Download examples
Section titled “Download examples”- Frame with touching beams and a rotated brace: OBJ, GLB, glTF.
- Machining and an unsupported tapered beam: OBJ, GLB, glTF.
- Joinery in metres with every face written twice: pyramid post top, chamfered end, rafter seat, offset tenon, peg hole across a mortise, a peg, a plate and a footing: OBJ, GLB, glTF.
- Boomkikker project, assembly with companion, standalone part.
- Runnable Blender script and Rhino script.
Troubleshooting
Section titled “Troubleshooting”- Wrong size or orientation: correct file units/up axis, then detect again. For a normal glTF export use Y-up and scale 1; metres have already been converted.
- One combined part: separate timber objects before export; do not weld touching beams.
- Missing resources: select the glTF’s local buffers too, or export GLB. Remote URLs and compressed geometry extensions are not loaded.
- Unexplained geometry: inspect the overlay, refine the source mesh or correct the detected part. Leave unsupported pieces excluded or save a reference only.
- A processing shown only as an outline: it was recognised, but the 3D model cannot cut it where it is, and the part names it. A birdsmouth that runs into an end cut is cut; one that runs into an end cut that points inward, like a V cut into the end, is not. Check the part, or move the processing clear of the end.
- Lost markings after CAD editing: reimport with the companion file and unchanged stable names. If geometry changed, review the newly inferred machining.