The Surface toolbar groups the controls for building, modifying, and repairing triangulated surface meshes — triangulation, mesh intersection, boolean operations (Solid CSG and Trimesh engines), extrude, contour, mesh repair, polygon clipping, and horizon slicing. It is one of the floating toolbars on the right side of the Kirra workspace.
The Surface toolbar with all controls labelled.
The Surface toolbar contains the following controls (left to right):
| Control | Type | Purpose |
|---|---|---|
| Triangulate | Dialog | Build a triangulated surface mesh from survey points or drawing data |
| Surface Intersection | Tool | Compute the intersection line(s) between two surface meshes |
| Solid Boolean | Dialog | Boolean union / intersect / subtract between closed solid volumes (Three.js CSG) |
| Trimesh Boolean | Dialog | Boolean operations directly between triangulated meshes (open-mesh capable, runs in a Web Worker) |
| Extrude KAD to Solid | Dialog | Sweep a closed KAD polygon vertically to build a 3D solid volume |
| Contour Surface | Dialog | Generate contour lines at regular elevation intervals |
| Clean Mesh | Dialog | Mesh diagnostics and repair — open edges, non-manifold, T-junctions, winding, normals, weld |
| Clip Surface | Dialog | Clip a surface or solid against a polygon (Single or Batch), keeping the inside or outside portion |
| Solid Horizon Slice | Dialog | Slice a closed solid into horizontal bands (a bench / horizon “egg-slicer”) |
Mesh booleans are difficult; make your meshes as clean and manifold as you can before running them. If one engine fails on a given input, the other may still succeed.
Builds a triangulated surface from visible inputs — KAD polygons / lines / points, or blast hole collars.

See Importing Surfaces for surface-loading workflows and Mesh Editing for cleanup after triangulation.
Computes the polyline where two surface meshes intersect and draws it as a KAD line entity. Useful for slope-vs-design intersections, pit-shell vs topography, and toe / crest line extraction.
[SCREENSHOT NEEDED: Intersection Line dialog or workflow]
Three.js CSG boolean operations on closed solid meshes. Three operations:
| Operation | Result |
|---|---|
| Union | A ∪ B — merged solid |
| Difference | A − B — A with B subtracted |
| Intersect | A ∩ B — only the overlap |
Note: The Solid Boolean (CSG) engine works best on closed, manifold solids. For open surfaces, use the Trimesh Boolean tool.
See Surface Boolean & CSG for the full reference.
Kirra’s mesh boolean engine, running in a Web Worker so it does not block the UI on large meshes. Unlike the Solid Boolean (CSG) path, Trimesh Boolean operates directly on triangulated meshes and can handle open surfaces, not only closed solids.
See Surface Boolean & CSG for the full reference.
Sweeps a closed KAD polygon up or down to a target elevation, producing a 3D solid mesh. Used for pit shells, bench solids, and design volumes.

See Extrude, Boolean, and Section Plane for the full reference.
Generates contour lines (constant-elevation polylines) at regular intervals across a surface mesh.
See Surface Contours for the full reference.
Opens the Clean Mesh / Mesh Edit dialog — repair self-intersections, fill holes, decimate, and interactively edit triangles and vertices.

See Mesh Editing for the full reference.
Clips a surface or solid against a clip polygon, keeping either the inside or the outside portion. The tool auto-detects whether the target is an open surface or a closed solid and caps the cut accordingly. It runs in Single mode (one target against one polygon) or Batch mode (apply the same clip across multiple targets).
[SCREENSHOT NEEDED: confirm filename — capture the Clip Surface or Solid dialog]
Open surfaces are clipped along the polygon boundary; closed solids are clipped and re-capped so the result stays a valid solid.
Slices a closed solid into horizontal bands at a chosen interval or band count, capping each band and saving it as its own named layer (for example, by RL range). Think of it as an egg-slicer for bench / horizon extraction.
[SCREENSHOT NEEDED: confirm filename — capture the Solid Slice dialog]
Requires a closed solid. Slice an open surface into a solid first (e.g. Extrude KAD to Solid, or close it in Clean Mesh) before slicing.
Mesh booleans are a very difficult space to work in — even after all this time they still don’t always play nicely. The two engines are complementary: sometimes one works better than the other. Make your meshes as nice, pretty, and manifold as possible and you will have better results.
In practice:
Try one, and if it fails, try the other engine on the same input before reaching for the mesh repair tool.
Note: Kirra’s earlier Original Surface Boolean engine was retired — its role is now covered by Trimesh Boolean. If you have older notes or screenshots referencing it, use Trimesh Boolean instead.