Blue Whale
Urban-scale design tools — OpenStreetMap data import, terrain operations, road generation, 3D building extrusion, and land-use colour management.
OSM Import & Coordinates
Section titled “OSM Import & Coordinates”knOSMImport
Section titled “knOSMImport”The primary tool for bringing OpenStreetMap data into Rhino. It reads .osm files and automatically sorts geometry into organized layers based on their tags (buildings, roads, waterways, etc.).
| Icon | Property | Detail |
|---|---|---|
![]() | Input | Browse and select an .osm file |
| Output | 2D curve geometry categorized onto structured layers with metadata attached |
knOSMtransformtorigin
Section titled “knOSMtransformtorigin”Large-scale datasets often have very high coordinates which cause precision issues in Rhino’s display (shaking/jitter). This command moves the entire dataset to the document origin while storing the translation vector.
| Icon | Property | Detail |
|---|---|---|
![]() | Input | None; operates on all imported OSM geometry |
| Output | Moves geometry to (0,0,0); stores offset metadata for future georeferencing |
knOSMtransformtoworld
Section titled “knOSMtransformtoworld”The reverse of the origin transform. Moves geometry back to its original real-world coordinate system, necessary for exporting back to GIS or BIM software.
| Icon | Property | Detail |
|---|---|---|
![]() | Input | None |
| Output | Restores dataset to geographic coordinates using previously saved offset |
Terrain & Projection
Section titled “Terrain & Projection”knDropObjectstoTerrain
Section titled “knDropObjectstoTerrain”Quickly vertically aligns 2D or 3D objects to a terrain surface. Essential for placing building footprints or street furniture onto a site model.
| Icon | Property | Detail |
|---|---|---|
![]() | Input | Select objects to drop; select target mesh/surface terrain |
| Output | Objects moved vertically to touch the terrain surface |
knProjectSrftoTerrain
Section titled “knProjectSrftoTerrain”Drapes planar surfaces (like landscape zones or site plots) onto complex topography. Unlike standard projection, this preserves face continuity better for urban surfaces.
| Icon | Property | Detail |
|---|---|---|
![]() | Input | Select planar surfaces; select target mesh terrain |
| Output | Projected geometry conforming to topographic heights |
Roads & Site
Section titled “Roads & Site”knDrawRoad
Section titled “knDrawRoad”An interactive road drawing tool. As you pick points, it creates a road profile that is dynamically projected onto the ground surface.
| Icon | Property | Detail |
|---|---|---|
![]() | Input | Specify road width; pick path points |
| Output | 3D surface geometry representing the road lane |
knRoadfromCrv
Section titled “knRoadfromCrv”Generates 3D road surfaces using existing curves as centerlines. This is perfect for converting imported OSM road networks into 3D massing.
| Icon | Property | Detail |
|---|---|---|
![]() | Input | Select centerline curves; enter lane width |
| Output | 3D road surfaces with optional curb geometry |
Buildings & Data
Section titled “Buildings & Data”knOSM3d
Section titled “knOSM3d”Bulk extrusion of building footprints into 3D masses. It prioritizes building:levels and height tags from the OSM metadata to generate accurate city blocks.
| Icon | Property | Detail |
|---|---|---|
![]() | Input | Select building footprint curves (preselection supported) |
| Output | Closed polysurface massing on 3D building layers |
knMassFloorArea
Section titled “knMassFloorArea”Calculates the Gross Floor Area (GFA) for selected 3D masses. It multiplies footprint area by the number of levels found in the object’s metadata.
| Icon | Property | Detail |
|---|---|---|
![]() | Input | Select building masses |
| Output | Prints total GFA to command line; copies result to clipboard |
knCreateColorsforUses
Section titled “knCreateColorsforUses”Automates the aesthetic classification of the urban model. It assigns color palettes to layers based on standard land-use categories (Residential = Yellow, Commercial = Red, etc.).
| Icon | Property | Detail |
|---|---|---|
![]() | Input | None |
| Output | Layer colors updated across the document |
knShowPrograms
Section titled “knShowPrograms”Launches a modeless dashboard for managing urban programmatic data. Allows for real-time visualization of land-use splits.
| Icon | Property | Detail |
|---|---|---|
![]() | Input | None |
| Output | Dashboard interface for urban statistics |
Data Validation
Section titled “Data Validation”knCrossCheckAreas
Section titled “knCrossCheckAreas”Compares the geometric area of Rhino objects against the stored “area” attribute from the source dataset. Highlights discrepancies where the model geometry might be corrupted or outdated.
| Icon | Property | Detail |
|---|---|---|
![]() | Input | Select objects to validate |
| Output | Reports delta between geometric and attribute areas |
knCurveBooleanUnion
Section titled “knCurveBooleanUnion”A robust boolean union tool specifically for overlapping footprint curves. It is “tougher” than standard Rhino commands, handling the intersections and overlaps often found in raw OSM datasets.
| Icon | Property | Detail |
|---|---|---|
![]() | Input | Select multiple overlapping curves |
| Output | Single merged boundary curve |
Layer Reference
Section titled “Layer Reference”| Layer | Contents |
|---|---|
URBAN2D::buildings | 2D building footprint curves from OSM import |
URBAN2D::roads | 2D road curves from OSM import |
URBAN3D::buildings | 3D extruded building masses |
URBAN3D::* | Other 3D urban elements |
Default / others | All other OSM categories |
knDisplayConduit
Section titled “knDisplayConduit”Provides a dynamic, real-time screen-space overlay of object areas. Displays individual object area labels directly on the viewport, along with a running total area readout in the top-left corner.
| Icon | Property | Detail |
|---|---|---|
![]() | Input | Select objects or run command. |
| Output | Executes specified action. |













