The Modify toolbar provides tools for transforming, editing, and manipulating blast holes and KAD entities. It is one of the seven floating toolbars available on the right side of the Kirra workspace.
The Modify toolbar contains the following tools:
| Tool | Type | Description |
|---|---|---|
| Assign Surface | Interactive | Set collar elevation from a loaded surface |
| Assign Grade/Toe | Dialog | Set grade or toe elevation from a surface with multiple assignment modes |
| Hole Bearing | Interactive | Change hole bearing by dragging |
| Move | Interactive | Move selected holes or KAD entities |
| Transform KAD | Dialog | Translate and rotate KAD entities by offset and bearing/pitch/roll |
| Offset KAD | Dialog | Offset lines and polygons inward or outward |
| Radii | Dialog | Create circular polygons around selected holes or KAD points |
| Router-Chamfer | Interactive | Create routed or chamfered edge transitions on selected geometry |
| Clip-KAD | Interactive | Clip selected KAD objects against a boundary polygon |
| Reorder KAD Points | Dialog | Change the start vertex and winding direction of lines/polygons |
| KAD Boolean | Dialog | 2D boolean operations (union, difference, intersection, XOR) on polygons |
| Join KAD Lines | Dialog | Join two lines end-to-end into a single entity |
| Split KAD Lines | Dialog | Split a line or polygon at one or more vertices |
| Extend Line to Boundary | Interactive | Extend the end of a line until it reaches a chosen boundary entity |
| Grade Line | Interactive | Set a constant slope (grade) along a selected line |
| Simplify RDP | Interactive | Reduce a line/polygon’s vertex count with the Ramer–Douglas–Peucker algorithm |
Sets the collar (start) elevation of selected blast holes by interpolating Z values from a loaded surface.

Sets grade or toe elevation from a loaded surface, with four assignment modes that control how related hole attributes are recalculated.

| Mode | Description | Recalculates |
|---|---|---|
| Assign GRADE (calc Toe from Subdrill) | GradeZ is set from the surface. ToeZ = GradeZ - Subdrill/cos(angle) | Length, ToeXYZ |
| Assign TOE (calc Grade from Subdrill) | ToeZ is set from the surface. GradeZ = ToeZ + Subdrill/cos(angle) | Length, GradeXYZ |
| Assign GRADE (keep Toe, calc Subdrill) | GradeZ is set from the surface. Toe stays in position. Subdrill = ToeZ - GradeZ (along hole) | Subdrill |
| Assign TOE (keep Grade, calc Subdrill) | ToeZ is set from the surface. Grade stays in position. Subdrill = ToeZ - GradeZ (along hole) | Subdrill |
Interactively changes the bearing of selected blast holes by dragging on the canvas.
Moves selected blast holes or KAD entities to a new position by dragging.
Translates and rotates selected KAD entities by specified offsets and angles.

| Parameter | Description |
|---|---|
| X Offset | Horizontal (Easting) displacement in metres |
| Y Offset | Vertical (Northing) displacement in metres |
| Z Offset | Elevation displacement in metres |
| Bearing | Rotation about the Z axis (degrees) |
| Pitch | Rotation about the X axis (degrees) |
| Roll | Rotation about the Y axis (degrees) |
Offsets KAD lines and polygons inward or outward by a specified distance, creating new parallel entities.

| Parameter | Description |
|---|---|
| Offset (m) | Distance to offset. Positive expands (outward for polygons, left for lines), negative contracts |
| Projection (°) | Slope angle for offset. 0° = horizontal, positive = up slope, negative = down slope |
| Number of Offsets | How many parallel offsets to create (1 or more) |
| Priority Mode | Distance Priority (total distance) or other modes |
| Offset Colour | Colour for the new offset entities [VERIFY: UI label spelling] |
| Handle Crossovers | Automatically resolve self-intersections in the offset result |
| Keep Elevations | Interpolate Z values from the original entity |
| Limit to Elevation | Constrain the offset to a fixed elevation |
Design → Offsets, named <source>_Offset_<distance>m_<uid> — for example
Crest_Offset_5m_p7q1. See Layer Organisation.
Creates circular polygons around selected blast holes or KAD points.

| Parameter | Description |
|---|---|
| Radius (m) | Circle radius. Positive expands, negative contracts |
| Circle Steps | Number of vertices in each circle (more steps = smoother) |
| Rotation Offset (°) | Rotate the circle. 0° = no rotation, +45° = clockwise, -45° = counter-clockwise |
| Starburst Offset (%) | 100% = circle, 50% = even points at half radius, 0% = star shape |
| Point Location | Which hole point to use: Start/Collar Location or other options |
| Line Width | Width of the polygon outline |
| Polygon Colour | Colour for the generated polygons [VERIFY: UI label spelling] |
| Union Circles | Combine overlapping circles into a single polygon |
Boundaries → Radii → Polygons, named <blast>_Radii_<radius>m_<uid> — for example
Blast01_Radii_300m_k3f9.
Blast01_Radii_300m_R45_S50_k3f9RadiiToeSelectionBoundaries → Radii folderSee Layer Organisation.
Creates routed (rounded) or chamfered (bevelled) edge transitions on selected KAD geometry — softening sharp corners on a polygon or line.
Clips selected KAD objects against a boundary polygon, keeping the portion inside (or outside) the boundary. The 2D drawing counterpart to the surface Clip Surface tool.
Changes the start vertex and winding direction of KAD line and polygon entities. Useful for controlling the direction of offset operations and ensuring consistent polygon winding.

Performs 2D boolean operations on KAD polygon entities. Supports Union, Intersection, Difference, and XOR operations.

| Parameter | Description |
|---|---|
| Subject (A) | The primary polygon (pick from canvas or dropdown) |
| Clip (B) | The clipping polygon (pick from canvas or dropdown) |
| Operation | Union (A + B), Intersect, Difference (A - B), or XOR |
| Output Colour | Colour for the result polygon [VERIFY: UI label spelling] |
| Line Width | Width of the result polygon outline |
| Sub-layer Name | Sub-layer under Analysis for the output (default Booleans) |
Analysis → Booleans, named <subject>_<Operation>_<uid> — for example
Poly01_Union_f5g7. Type a different Sub-layer Name to file it under
Analysis → <your name> instead. See Layer Organisation.
Joins two KAD lines end-to-end into a single entity.

| Parameter | Description |
|---|---|
| Line A | First line (pick from canvas) |
| Line B | Second line (pick from canvas) |
| Weld Tolerance | Maximum distance between endpoints to join (default: 0.01) |
| New Entity Name | Name for the joined entity (default: “Joined”) |
| Close as Poly | Close the result into a polygon |
| Delete Originals | Remove the original lines after joining |
Splits a KAD line or polygon at one or more selected vertices, creating separate entities from the pieces.

| Source Type | Split Points | Result |
|---|---|---|
| Line | N points | N+1 open lines |
| Polygon | N points (min 2) | N closed pieces or open lines |
Extends the end of a selected line until it reaches a chosen boundary entity (another line or a polygon edge), so two strings meet cleanly at an intersection.
Sets a constant slope (grade) along a selected line — each vertex’s elevation is placed on a straight gradient between the line’s ends, giving a uniform grade (useful for drains, batters, and haul-grade strings).
Reduces the vertex count of a line or polygon using the Ramer–Douglas–Peucker algorithm, removing points that don’t materially change the shape — handy for cleaning up dense survey strings or digitised boundaries.
Tune the simplification tolerance to trade fidelity against vertex count. [VERIFY: where the tolerance is set]
The following improvements were made to the Modify toolbar tools in recent updates:
Boundaries, Design, or Analysis with a sub-layer per tool, instead of dropping everything into the active drawing layer. See Layer OrganisationSource_Kind_parameter_uid — Blast01_Radii_300m_k3f9 instead of RAD-SRTk3f9Analysis rather than a top-level layer