ArchiModellingTools¶
General architectural modelling utilities — area/length measurement, layer management, display mode control, isolation tools, and block creation.
Measurement¶
knAreainSF¶
Calculates the total area in square feet (SF) of selected geometry and copies the numeric result to the clipboard.
| Property | Detail |
|---|---|
| Input | Select curves, surfaces, polysurfaces, meshes, or extrusions (preselect supported) |
| Output | Prints total area (SF), valid/invalid counts; copies value to clipboard |
Note
Temporarily switches the document unit system to feet for calculation, then restores the original units.
knAreainSM¶
Calculates the total area in square metres (sq.m) of selected geometry and copies the value to the clipboard.
| Property | Detail |
|---|---|
| Input | Select curves, surfaces, polysurfaces, meshes, or extrusions |
| Output | Prints total area (sq.m), valid/invalid counts; copies value to clipboard |
knAddRoomDimsText¶
Measures a room's length × width by picking two pairs of points inside a layout detail, then places a formatted feet-and-inches annotation text at a chosen location.
| Property | Detail |
|---|---|
| Works in | Layout space with at least one detail view |
| Input | Detail view selection; pick length start/end; pick width start/end; place text |
| Output | Text annotation formatted as X'-Y" × X'-Y" |
Note
Accounts for the detail's PageToModelRatio. Remembers the last used detail via sc.sticky across runs.
Layer Management¶
knHideLayers¶
Hides all objects that share the same layer(s) as the current selection.
| Property | Detail |
|---|---|
| Input | Select one or more objects (preselect supported) |
| Output | All objects on the same layer(s) are hidden |
knIsolateLayers¶
Isolates the layers of selected objects — hides all objects that do not share a layer with the selection.
| Property | Detail |
|---|---|
| Input | Select one or more objects (preselect supported) |
| Output | Objects on all other layers are hidden |
knRandomColorstoLayers¶
Assigns a random RGB colour to each layer. Can operate on all layers or a selected subset.
| Property | Detail |
|---|---|
| Input | Option: All Layers or select specific layers |
| Output | Each layer receives a random colour |
knDeleteLayers¶
Deletes a named layer and all objects on it. Unlocks the layer first if needed, then purges it from the document.
| Property | Detail |
|---|---|
| Input | Type the layer name to delete |
| Output | All objects on matching layers deleted; layer purged |
Selection¶
knSelAllGroups¶
Selects all objects belonging to any named group in the document.
| Property | Detail |
|---|---|
| Input | None |
| Output | All grouped objects become selected |
knIsolateGroups¶
Selects all grouped objects, then runs Rhino's Isolate to hide everything else.
| Property | Detail |
|---|---|
| Input | None |
| Output | All grouped objects isolated; ungrouped objects hidden |
Display Modes¶
knSetObjectDisplayMode¶
Sets a per-object display mode override on selected objects. The user chooses from all available viewport display modes.
| Property | Detail |
|---|---|
| Input | Select objects; choose display mode from a list |
| Output | Selected objects render in the chosen mode in the active viewport |
knMatchObjectDisplayMode¶
Copies the per-object display mode override from a source object and applies it to all target objects.
| Property | Detail |
|---|---|
| Input | (1) Select target objects; (2) select source object to match |
| Output | Targets inherit the source's display mode override |
knRemoveDisplayModeOverrides¶
Removes any per-object display mode override from selected objects in the active viewport, reverting them to the default viewport display mode.
| Property | Detail |
|---|---|
| Input | Select objects |
| Output | Display mode overrides cleared for the active viewport |
knWireframeDisplay¶
Toggles selected objects between wireframe display override and their normal display mode. If an override already exists it is removed; otherwise a wireframe override is applied.
| Property | Detail |
|---|---|
| Input | Select objects |
| Output | Wireframe override applied — or existing override removed |
Blocks¶
knCreateBlock¶
Creates a new block definition from selected objects, using a three-point rectangle to define the block's local coordinate plane and origin.
| Property | Detail |
|---|---|
| Input | Pick 3 points for the plane; select objects; enter block name |
| Output | New block instance definition added to the document |
Annotations¶
knPlaceNumbersinSeq¶
Places sequentially numbered text labels at user-picked locations (1, 2, 3 …).
| Property | Detail |
|---|---|
| Input | Pick multiple locations in sequence |
| Output | Text objects numbered from 1 at each picked point, using the current dimension style |
Geometry¶
knPlanarizeSurface¶
Tests whether a surface is planar. If not, projects its border onto the surface's mid-normal plane and creates a new planar BREP.
| Property | Detail |
|---|---|
| Input | Select a surface |
| Output | If non-planar: new planar BREP added. If already planar: reports and exits. |
knaddContructionLine¶
Draws a very long construction line through two picked points (scaled 500× to simulate infinity). Line is drawn grey for reference use.
| Property | Detail |
|---|---|
| Input | Pick two points |
| Output | Grey construction line 500× the length between the two points |
Miscellaneous¶
knToggleGumballSnap¶
Toggles Rhino's Gumball Snappy mode on/off and prints the new state.
| Property | Detail |
|---|---|
| Input | None |
| Output | Flips SnappyGumballEnabled; prints "Gumball snap is ON/OFF" |
knImportWorksessionFiles¶
Imports all worksession reference files into the current document as regular geometry.
| Property | Detail |
|---|---|
| Input | Yes/No prompt to SaveAs first |
| Output | All worksession .3dm files imported into the active document |
knObjectColortoMaterial¶
Applies each object's display colour as its render material diffuse colour, and also sets the print colour to match.
| Property | Detail |
|---|---|
| Input | Select objects (preselect supported) |
| Output | Object materials updated to match display colours |
knGetDotPosition¶
Prints the world-space coordinates of a selected point dot to the Rhino command line.
| Property | Detail |
|---|---|
| Input | Select a point dot object |
| Output | Prints (x, y, z) to the console |
knWelcomeForm¶
Opens the 3XNHUB internal digital-platform welcome screen as a modeless Eto form.
| Property | Detail |
|---|---|
| Input | None |
| Output | Modeless Eto window with About/Inspiration dropdowns and file upload field |
Work in Progress¶
knLengthinF¶
Stub
Not yet implemented. Template command only.
knLengthinM¶
Partially implemented
Currently uses area properties rather than curve length. Intended to measure edge/curve length in metres.
Stubs (not yet implemented)¶
| Command | Status |
|---|---|
knChangeBlockName |
Stub — placeholder code only |
knCheckElevation |
Stub — placeholder code only |
knMovetoMidPt |
Incomplete — MoveObject call missing argument |
knParkingGenerator |
Stub — placeholder code only |