Aller au contenu
Cityweft
Ouvrir
Tous les articles
Blog

Advanced workflows with the Cityweft Rhino & Grasshopper plugin

16 décembre 20254 min de lecture

The Cityweft Rhino plugin is more than a one-click city model importer.

Combined with Grasshopper, it becomes a flexible system for defining site context, controlling geometry output, and building custom analytical workflows directly inside Rhino.

In this post, we’ll walk through a complete example file and show how the plugin components can be combined to create custom, parametric city-context workflows — from model setup and location selection to metadata-driven visualization.

Cityweft Grasshopper Plugin Script
Cityweft plugin file example

Cityweft Grasshopper Plugin Output: Geometry & Metadata
Example output from Grasshopper plugin, including metadata extraction

Each section below corresponds to a core part of the Grasshopper definition.

1. Model settings

Controlling what gets imported — and how

The Model Settings component defines how Cityweft generates geometry for your project. This is where you decide what kind of city model you want, before any data is downloaded.

Using this component, you can configure:

  1. Geometry types

Choose exactly which geometry layers to include:

  • Buildings

  • Surface

  • Barriers

  • Topography

  • Infrastructure

  1. Force flat surface

This setting controls how surfaces are created:

  • When enabled, surfaces are projected onto the topography

  • When disabled, surfaces are generated as a separate flat layer at Z = 0

This is particularly useful when switching between terrain-aware studies and clean, diagrammatic workflows.

  1. Default roof type

If roof information is missing in the source data, this parameter defines which roof type should be applied by default — ensuring consistent geometry even in incomplete datasets.

  1. Default levels & default level height

When building height or level data is unavailable, Cityweft fills in the gaps using:

  • Default number of levels

  • Default level height

This guarantees usable volumetric models across regions with varying data quality.

Output:The component outputs a consolidated Settings object, which is passed directly into downstream components.

Cityweft Grasshopper Plugin, Settings
Example of CW Settings component

2. Location settings

Defining your site — visually or parametrically

The CW Region Selector component defines where your city data comes from.

You have two ways to work:

  1. Map-based selection

By double-clicking the component, you open an interactive map view where you can draw the import boundary directly. This is ideal for:

  • Intuitive site selection

  • Irregular or custom boundaries

  • Quick exploratory work

Cityweft Grasshopper Plugin, Location
CW Region Selector with Map view

  1. Parametric selection

Alternatively, you can define the region using:

  • Latitude

  • Longitude

  • Radius

This approach is powerful when:

  • Driving location from other data

  • Iterating over multiple sites

  • Creating scripted or automated workflows

Cityweft Grasshopper Plugin, Location 2
CW Region Selector using Lat, Long Inputs

Outputs:

  • Location – the main region object, used as input in other components

  • Center – center point coordinates (latitude, longitude)

  • Area – calculated area of the region (km²)

  • Bounds – bounding box as text (south, west, north, east)

These outputs make the location reusable across analysis, labeling, and documentation workflows.

3. 3DM Downloader

From parameters to geometry — saved directly to disk

The 3DM Downloader component is where everything comes together.

Inputs:

  • Location (from the Region Selector)

  • Settings (from Model Settings)

  • API Key

  • Save Folder

  • File Name

Once configured, clicking the Download button triggers the process:

  • Cityweft generates the city model

  • The .3dm file is downloaded

  • The file is saved directly to the specified folder

Cityweft Grasshopper Plugin, 3DM Downloader
Example setup for CW 3DM Downloader

Outputs:

  • Status – current state of the download process

  • 3DM Path – file path where the model is saved

  • Layer Names – all generated Rhino layers

  • Geometry – the imported geometry

  • Colors – color information per object

This makes it easy to both:

  • Reference the saved file externally

  • Continue working with the geometry directly in Grasshopper

With a simple custom preview component, you can already view your model in the viewport:

Cityweft Grasshopper Plugin, Geometry Output
Preview of 3DM file generated from Grasshopper

4. Site information and OSM map

Contextual information beyond geometry

Cityweft isn’t limited to 3D geometry. Using the CW Region Address component, you can extract site metadata directly from the selected location.

CW Region Address outputs:

  • Address

  • Road

  • City

  • Country

  • Postal code

This is especially useful for:

  • Automated project naming

  • Title blocks

  • Report generation

  • Competition workflows

Cityweft Grasshopper Plugin, Location Information
Example setup of CWRegionAddress & CWBackgroundMap components

2D map download

The same component allows you to download a 2D map image of the selected area. The map is saved to the folder specified in the Dir input.

By connecting this output to CWBackgroundMap, the 2D map is displayed directly in the Rhino viewport — giving you a live reference layer beneath your 3D model.

Cityweft Grasshopper Plugin, OSM Map
2D Map output for selected area in Rhino Viewport

Cityweft Grasshopper Plugin, OSM Map with Buildings
2D Map output with Cityweft buildings in Rhino Viewport

5. Metadata workflows

Using Cityweft geometry as analytical input

While metadata extraction is not a standalone component in the plugin, Cityweft geometry is structured to work seamlessly with custom Grasshopper logic.

In this example file, we show two metadata-driven workflows:

Cityweft Grasshopper Plugin, Metadata example
Grasshopper script extracting model metadata: building heights as heatmap (top) and building names as labels (bottom)

Color buildings by height

By reading building height from the geometry, we:

  • Normalize values

  • Apply a color gradient

  • Automatically visualize height distribution across the site

This is useful for:

  • Urban scale analysis

  • Density studies

  • Early zoning exploration

Cityweft Grasshopper Plugin, Buildings heatmap
Model preview in Rhino viewport with buildings color coded by height

Label buildings by name

In a second example, we extract building names and:

  • Generate text tags

  • Place labels directly in the Rhino scene

This approach is ideal for:

  • Site analysis diagrams

  • Presentations

  • Stakeholder communication

Cityweft Grasshopper Plugin Output
Model preview in Rhino viewport with buildings color coded by height + building name labels

These examples demonstrate how Cityweft acts as a foundation for custom analytical systems — rather than a closed tool.

From data to parametric workflows

The Cityweft Rhino & Grasshopper plugin is designed to support more than fast imports. It enables architects and urban designers to build repeatable, adaptable, and data-driven workflows — directly inside the tools they already use.

From controlled geometry generation to advanced metadata visualization, Cityweft helps turn city context into an active design parameter.

Want to try yourself? You can get the Rhino & Grasshopper plugins as well as a sample Grasshopper script on Food4Rhino: https://www.food4rhino.com/en/app/cityweft