ArchiLayouts¶
Layout-space tools for managing details, dimensions, annotations, and projected views in Rhino.
Commands¶
knAddDetailNameBlock¶
Adds a standardised name/scale annotation block to selected layout detail views. For each detail, a linked text group is placed showing the view name, drawing scale, and a numbered circle — all grouped together.
| Property | Detail |
|---|---|
| Works in | Layout space only |
| Input | Select one or more detail view objects |
| Output | Grouped text (name + scale), numbered circle, and connecting line at the bottom-left corner of each detail |
Note
Auto-detects unit system (mm vs inches) for text height.
knEditDetailName¶
Prompts the user to rename selected layout detail views via a string input dialog.
| Property | Detail |
|---|---|
| Works in | Layout space only |
| Input | Select one or more detail view objects |
| Output | Updates the Name attribute on each selected detail |
SelByLayer¶
Selects all objects that share the same layer(s) as the current selection. Supports an optional Hidden mode to select objects on hidden layers by temporarily swapping visibility.
| Property | Detail |
|---|---|
| Input | Select one or more objects; optionally choose Hidden |
| Output | All objects on the same layer(s) become selected |
align_details¶
Aligns one layout detail view to another by matching camera positions — so orthographic projections line up correctly (e.g. Front ↔ Top, Front ↔ Right).
| Property | Detail |
|---|---|
| Works in | Layout space only (parallel projections) |
| Input | (1) Select detail to change; (2) select detail to match |
| Output | Detail shifted horizontally or vertically to align projections |
| Supports | Top↔Front, Front↔Right/Left, Top↔Bottom, Back↔Right/Left |
Note
Scales the child detail to match the parent's PageToModelRatio.
align_dims¶
Aligns selected linear dimensions (horizontal or vertical) to a common baseline point.
| Property | Detail |
|---|---|
| Works in | Top view (World XY) only |
| Input | Select dimensions; pick a basepoint |
| Output | Dimension offset lines share the same baseline coordinate |
annotation_balloon¶
Adds a numbered call-out balloon (circle + leader line) to annotate a block instance. The balloon number matches the block's position in the document's instance-definition list.
| Property | Detail |
|---|---|
| Input | Select a block instance; draw a leader polyline; set balloon size |
| Output | Grouped annotation (circle, number text, leader, filled dot endpoint) on the annotation layer |
| Options | Toggle top-level blocks only vs. all nested blocks |
organize_annotations¶
Sorts all annotation objects onto dedicated layers — dimensions → dim, text/leaders → annotation. Creates layers (black) if they don't exist.
| Property | Detail |
|---|---|
| Input | None — operates on all annotations in the document |
| Output | All dimension objects re-layered to dim; text and leaders to annotation |
organize_details¶
Moves all layout detail view objects onto a details layer (aquamarine). Creates the layer if it doesn't exist.
| Property | Detail |
|---|---|
| Input | None |
| Output | All layout detail objects re-layered to details |
create_projected_detail¶
Creates a new projected orthographic detail view adjacent to a selected existing detail. The user picks a direction (left/right/up/down) and the script creates a correctly-oriented new detail view at that position.
| Property | Detail |
|---|---|
| Works in | Layout space (parallel projections only) |
| Input | Select source detail; pick direction point |
| Output | New orthographic detail view placed adjacent to source |
| Supports | Top→Front/Back, Front→Left/Right, Right/Left→Front/Back, etc. |
Note
Temporarily disables OSnaps during placement for cleaner positioning.
Work in Progress¶
knPlaceTitleBlockinLayouts¶
Work in Progress
Script is incomplete — iterates page views but the InstanceDefinitions.Find() call is unfinished. Not ready for production use.