Key Concepts

Creating a Development

A Lot is your subject site and is defined by referencing a closed polycurve. You may define multiple lots, or no lots at all. If no lots are defined, certain key metrics such as site coverage and FSR will not be calculated. 

A Mass is a building form. If can be defined by referencing a closed polycurve or brep. You may have multiple masses, including intersecting masses. Masses are Boolean unioned together to create a Building.

A Development is a summary of all Lots and Buildings and can be deconstructed to obtain all the necessary information of the associated Lots and Buildings.

Creating Context

Context is everything that is outside of your Development and are defined in one of three ways: 2D Context such as cadastre information, 3D Context such as contextual buildings or topography, and Planning which are 2D overlays.

Referencing Objects

MetricMonkey automatically references geometry based on its Rhino Layer. When a Card is activated, the corresponding layer is also activated. For example, using the Create Context Card will set the active Rhino layer to ‘MetricMonkey::Context’. 

To modify an existing object’s layer, select the object and then change it’s layer in Object Layer.

What are Attributes?

Attributes are global controls. They apply everywhere where the same Function appears. Using the Attributes Card, you can specify the floor-to-floor heights for Typical Levels as well as the Lift Overrun. If you have Atypical Levels, such as a ground floor lobby or plant room, you can override the typical floor-to-floor height values by specifying a Level and its floor-to-floor height.

What are Properties?

Properties are local controls. They apply only for a specific element. Properties can be assigned to either Lots or Masses. If two or more objects are selected which have different properties, ‘varies’ will be shown as the property value.

Save Settings

When a new Rhino file is created, MetricMonkey creates a *csv document to store all of the settings. This file is located in the same folder as the Rhino file and should remain there in order for MetricMonkey to be able to find it. If no setting file can be found, MetricMonkey will use the default settings it was shipped with.


The Location tab is the starting point for any MetricMonkey project. Define your project location, brief and set your design goals.

Set Project Location

Latitude and Longitude are angles measured in degrees from the earth’s center to a point on the earth’s surface. The Equator has a 0° latitude and divides the globe into Northern and Southern Hemispheres. The North Pole is 90° (90°N), while the South Pole is -90° (90° S). The Prime Meridian has a 0° longitude and divides the globe into Eastern and Western Hemispheres.


A Function is a use assigned to a Mass, such as Residential or Office. Create separate Functions as needed based on scheduling requirements. Use the Add Function button to add a new row to the table. Next, define its Name and target GFA (if applicable).

Use the radio button to set the Default Function. MetricMonkey uses the Default Function when creating new Masses.

Use the Delete button to delete a selected function. If a Function is deleted, all Masses assigned that Function will revert to the Default Function. The Default Function can not be deleted, and there must be at least one Function in the Project.

MetricMonkey UI Context


The Context tab provides all the tools you need to accurately import and georeference datasets.

Adding a Dataset

MetricMonkey provides a simplified import process for datasets already in our Database. This means that you don’t need to specify where the file is located or which attributes to import. This list is automatically populated once the Project Location has been set. 

Datasets are categorised into either Boundaries, Cadastre, Context Buildings, Planning, Roads or Topography. Planning datasets are further categorised into Land Zone (LNZ), Floor Space Ratio (FSR), Height Of Building (HOB), and Heritage (HER).

If you wish to import your own dataset, you can use the Add Local Dataset button. This will instantiate a new Dataset Card in the UI. Simply specify the File Path to load in the document. Next, specify which Attributes to import.

Set Grid Projection

A Grid Projection, is a flat, two-dimensional representation of the Earth’s surface. There are multiple Grid Projections used throughout the world, with each using a local Datum to minimise distortion. These are periodically updated to account for tectonic plate movement. Each Grid Projection has a unique identifier, know as a EPSG code.

Australia, for example, uses the Geocentric Datum of Australia 2020 (GDA2020) with the corresponding Map Grid of Australia 2020 (MGA2020) projection. This projection is divided into eight equal zones across Australia, each 6° of longitude in width. Sydney, for example, falls with MGA zone 56, which spans from 150° to 156° longitude. The grid projection of Sydney is therefore GDA2020 / MGA zone 56 (EPSG: 7856).

Crop Size

Contextual datasets are cropped based on the Crop Size and the Project Location. The Northing and Easting shown on the grids indicate the Georeferenced coordinates, regardless of any Project Local repositioning.

Reposition Project

GIS datasets are always Georeferenced and are located a considerable distance away from the origin used in CAD/BIM software. Directly importing georeferenced geometry into Revit for example will cause an error, “Geometry in the file has extents greater than 20 miles (33km)”. To avoid this issue, we recommend specifying a Project Local coordinate system. This can be achieved by defining the Reposition Translation values. This merely repositions all datasets closer to the origin point (0,0,0).

Set Grid Convergence

True North is the direction along the earth’s surface towards the geographic North Pole. Grid North on the other hand, are straight and parallel. The angle between Grid North and True North is known as the Grid Convergence. It is important to specify the Grid Convergence value as GIS datasets are always orientated to Grid North, while for environmental analyses, True North is needed.

Grid Convergence varies depending on the location and can be positive or negative. In MetircMonkey, negative values indicate True North is to the West of Grid North, while positive values indicate True North to the East of Grid North. Sydney, for example, has a Latitude of -33.89° which means it is in the Southern Hemisphere, and a Longitude of 151.028° which means it is located to the West of the Central Meridian (153°) in MGA zone 56. This means that True North is West of Grid North, with an angle approximately -1°. Many government agencies publish Geodetic Calculators to assist in calculating the Grid Convergence.

Create Context Buildings

A Context Building is any building outside of your Lot. If a Contextual Building dataset is unable to be imported or incomplete, you can create your own. Simply use the 3D modelling tools.

Mask Context Buildings

When Contextual Building datasets are loaded into a project, they will generally include buildings on your Lot. These buildings, however, will often need to be Demolished to allow for new building work.

To avoid having to duplicate datasets, use the Mask Context Building controls to draw a Mask Region. Any Contextual Buildings located within this region will be hidden and ignored when running any analysis. MetricMonkey uses the Contextual Building’s centroid to determine containment.


Digital Elevation Models (DEM) imported as a Topography Mesh will often be too dense to use. This constraint is particularly a problem if the Topography is to be converted to a Revit Topography downstream. o solve this issue, MetricMonkey generates a simplified Topography Surface that is more straightforward and quicker to use.

The Mesh Sampling Distance is used to define the Topography Surface’s control points. For example, a value of 50m will create a new grid of points every 50m. These points are projected onto the original mesh and used as the surfaces control points. To verify the extent of the simplification, refer to the Maximum Deviation value.

To create Contours, define the Contour Interval value. Contours are calculated using the Topography Surface.

Using Site Finder

Once a cadastre dataset has been loaded into MetricMonkey, lots shown within the crop region can be filtered via minimum and maximum Lot Area. If the other relevant datasets have also be loaded, then additional filters will be available including Suburb, Land Zone, FSR, Height of Building and Heritage zones. If no maximum value is specified, it will be defined as infinite.


The Site tab allows you to define your Lot and its primary development controls, including Floor-Space-Ratio (FSR), Site Coverage and Setbacks. When applied together, the controls define the volume in which a permissible Building can occur.

Creating a Lot

A Lot is your subject site and is defined by a closed polycurve. Simply press the Select Lot button to define individual Lots from the cadastre datasets. The Lot will inherit the ID value as well as the FSR if available. (Refer to the dataset index for how the ID is generated based on the cadastral information.)

To amalgamate Lots, draw a closed polycurve. Cadastre Lots that intersect the region will be amalgamated. The amalgamated lot will inherit common properties if shared by all individual lots.

Alternatively, to create your own Lots, use the drawing tools. You may define multiple lots, or no lots at all. If no lots are defined, certain key metrics such as site coverage and FSR will be unavailable.

Lot Properties

Once a Lot has been created, you can define certain properties of your site. Site Coverage is the proportion of a site area covered by buildings. Floor Space Ratio (FSR) is a method of calculating building density by defining by the amount of Gross Floor Area (GFA) built as a multiple of the lot area. FSR is also known as a Plot Ratio or Floor Area Ratio. ID is the unique lot identifier for scheduling purposes.

Lot Schedules

The Lot Schedule is automatically populated when Lots and Buildings are created. The ID, FSR Allowed and Coverage Allowed values can be modified directly within the schedule. Other metrics, such as FSR Actual and Coverage Actual, are read-only and calculated once a Building has been created.

Set Site Setbacks

Setbacks determine the closest alignment of the Building relative to the Lot boundary. Urban areas may require no setback with the Building aligned to the boundary. Suburban area however, may require greater street setbacks to accommodate front gardens.

To define a Setback, draw a closed polycurve. Setbacks are categorised based on their location: Street Setbacks helps define the proportion and scale of the street corridor, Side and Rear Setbacks define the amenity between adjacent lots. Additional setbacks may be required based on Building Separation.

MetricMonkey uses the Cadastre dataset to determine which boundary is the ‘Front‘. If the Lot is a corner lot, both frontages will be considered the ‘Front’.

Create Pads

Pads modify the Topography by creating a flat surface. To define a Pad, draw a closed polycurve. If the polycurve is not planar, the bottom-most point will be used to ‘planarize’ it. Pads may overlap one another. Their z-position determines if Fill is added, or Cut removed from the topography. To minimise costs, the amount of Fill and Cut should cancel each other.

Generate Car Parking

To define a Parking Zone, draw a closed polycurve. Next, define the Access Point by placing a point on the parking zone boundary. Multiple access points may be defined, but they must be located within 1m of the boundary to be associated. The width of the access point is controlled via Entry Width.

Parking Bays are automatically populated and orientated relative to either the longest edge of the parking zone or the longest edge of the parking zone with an access point. The individual Parking Bay size is controlled via Bay Width and Bay Length and spaced via the Aisle Width.

Create Roads

To create a new Road, such as for a subdivision or masterplan, draw a curve and define its Road Width and Road Fillet property values. If an existing road network has been supplied (via Import 2D context), MetricMonkey will snap to the existing intersection/end point.

Place Trees

Trees can significantly improve amenity and local microclimate. Trees can be placed by defining their location point. If the location point is within a Topography, the point’s height (z-value) will be automatically adjusted to intersect the Topography Surface.

The trees’ size is controlled via the Trunk Radius, Trunk Height, Foliage Radius, and Foliage Height.

Create Open Space

Open Space provides an opportunity for landscaping and enhanced amenity. To define Open Space, draw a closed polycurve. Spaces are categorised based on ownership: Public such as parks or plazas, Private such as ground floor terraces or gardens, or Communal such as courtyards.

Create Deep Soil Zones

Deep Soil Zones allow for the development of healthy root systems for mature trees. To define a Deep Soil Zone, draw a closed polycurve which represents the soil within a Lot that is unimpeded by Buildings above and below ground.

MetricMonkey UI Design


The Design tab allows you to create Buildings and calculate key metrics such as Gross Building Area (GBA) and Gross Floor Area (GFA). Create mixed-use developments by applying functions to individual building masses and then calculate the function distribution.

Mass Properties

Once a Mass has been created, you can define certain properties of that mass.

The overall volume can either be controlled via maximum Height or number of Storeys. Depending on the method used, ‘Primary’ will be shown in the label with the other property shown as a reporting value. Refer to Defining Max Height and Defining Max Storeys for more information.

Hierarchy controls the order of precedence in which intersecting masses are Boolean unioned. Efficiency is the ratio to be applied to calculate the GFA from the building floorplates, which represent the GBA. Function is the building use to be assigned. Building ID is read only and a unique identifier for scheduling purposes.

Defining Max Height

When Height is the primary property (A), the Mass is extruded to the exact height. The upper most floor-to-floor height varies but is never less than the floor-to-floor height specified in the Attributes table.

Defining Max Storeys

When Storeys is the primary property (A), the Mass is extruded using the exact floor-to-floor heights as specified in the Attributes table.

Function Attributes

The Function Attributes Card is contextual and will display the Function of the active selection. The title of the card is automatically renamed based on the Function’s name.

The Floor Thickness will extrude the floor and surfaces downwards. Whereas the Roof Build-up will extrude the roof surface upwards. The total roof thickness is, therefore, the Floor Thickness plus the Roof Build-up.

The Floor-to-Floor Heights table shows two values by default: Typical and Lift Overrun. These rows can not be deleted. To define their value, click in the table and enter the desired value. If you don’t require a Lift Overrun, set the Floor-to-Floor Height to 0.

Atypical Levels are any levels which are different from the Typical Floor-to-Floor Height, such as a ground floor lobby or plant room. To create an Atypical level, press the Plus button to create a new grid row, then define the Level as an integer (whole number) and its floor-to-floor height. Rows will be automatically sorted based on the level position (lowest to highest). To delete an atypical level, press the Minus button.

To Delete a Function, press the Trash button. Any Mass assigned the Function, will revert to the Default Function defined in the Brief Card.

Building Schedule

The Building Schedule is automatically populated when Buildings are created. Rows are automatically sorted based on the ID value. The ID is the only value that can be modified directly within the schedule. All other metrics, such as GBA, GFA, Floor Area, Height and Max RL, are read-only and calculated once a Building has been created.

Function Distribution

The Function Distribution bar graph is automatically populated when a Function is assigned to a Mass. Any Function which exists in the Settings but is yet to be assigned to a Mass is excluded. In other words, if the Function has zero area, it is not shown. Functions are sorted alphabetically and show both the Ratio and GFA.

Residential Apartment Schedule

The Residential Apartment Schedule enables you to calculate mathematically how many apartments are possible. Press the Plus button to create a new row in the schedule. Rows are sorted alphabetically based on the Type value.

The Type (text), Area (number) and Ratio (number) fields can all be modified directly within the schedule. The sum of the ratio values should add up to 100%. If not, an error will be displayed in the Snack bar.

The Quantity column is read-only and calculated based on the GFA of the Reference Function. By default, the reference function is set to ‘Residential Apartments’.

To create a function-specific schedule, press the Add Schedule button. This will create instantiate a new Function Schedule Card.

MetricMonkey UI Analysis


The Analysis tab allows you to evaluate your design and its relationship to its context. It is an integral part of the design process, providing a feedback loop to improve designs. Where solar vectors are needed, MetricMonkey uses the Solar Position Algorithm (SPA), widely regarded as the most accurate.

Solar Access Analysis

Solar Access is the ability for an element to receive direct sunlight without obstruction from other impediments. It is calculated using the position of the sun for a given Analysis Period. To run the Solar Access analysis, enable the compute toggle. 

The Start Date and End Date is typically based on the Winter Solstice as this represents the worst-case scenario. The Winter Solstice is either the 21st June or 21st December depending on the Project Location.

The Start Time and End Time will vary based on local requirements but typically range from 9 am to 3 pm. If Daylight Savings Time (DST) is enabled, an additional hour is added to the start and end time when calculating the sun position. DST will apply to the entire analysis period so ensure that the analysis period does not span over both DST and non-DST dates.

Time Step is the intervals the analysis will be calculated. For example, a 15 min Time Step with a Start Time of 9:00 am will run the analysis at 9:00 am, 9:15 am, 9:30 am, etc. 

Reference Function determines which masses should be analysed, for example, ‘Residential Apartments’. To run the analysis on all Masses, set the reference function to ‘All’.

Geometry to Analyse provides several options on the element to be assessed: Envelope (Roof + Façade), Façade, or Floors.

Grid Resolution is the average sampling size of the geometry to be analysed. For example, a 0.5m resolution will divide the analysis surface into 0.5 x0.5m zones, with the centroid used for the analysis.

Compliance Threshold is the minimum Solar Access the analysis geometry must receive to comply.

Shadow Analysis

Shadows are critical in determining which parts of a Development receives sun. They can also be used to evaluate the amount of additional overshadowing your Development has on neighbouring properties. To run the Shadow analysis, enable the compute toggle.

Once enabled, a new Directional Light is created based on the Date and Time. The Azimuth and Altitude are automatically set based on the Project Location. If Daylight Savings Time (DST) is enabled, an additional hour is added to the Time when calculating the sun position. All other lights, including Rhino’s Sun, are turned off, and the ‘MetricMonkey_Shadows’ Display Mode is enabled for all views.

2D Isovist View Analysis

A 2D Isovist is the quickest and easiest method to run a view analysis. Given a Source Point, it shows the area visible on a horizontal plane through 360 degrees. The extent of the 2D isovist is based on the maximum bounding box of the Building and Context.

Heatmap View Analysis

A Heatmap view analysis is best for identifying which Target Points are visible from the Building. Geometry to Analyse provides several options on the element to be assessed: Envelope (Roof + Façade), Façade, or Floors. The geometry is subdivided based on the Grid Resolution. For example, a 0.5m resolution will divide the analysis surface into 0.5 x0.5m zones, with the centroid used for the analysis. The geometry is then colour-coded based on the number of Target Points that are visible (0-100%).

Sky View Factor Analysis

Sky View Factor (SVF) is the extent of sky observed above a point as a proportion of the total possible sky hemisphere above the point. SVF is a reasonable indicator of daylight levels in a street, particularly in built-up areas such as cities.

SVF is measured as a percentage where 0% denotes no sky visible, and 100% denotes that the sky is completely visible to the horizon in all directions. High SVFs are associated with brighter, more pleasant streets. Conversely, low SVFs are associated with dark, often unpleasant spaces.

MetricMonkey uses the Reinhart (2001) algorithm for the sky hemisphere subdivision, which has a resolution approximately four times that of the Tregenza (1987) sky model.

Figure-Ground Analysis

The Figure-Ground diagram, also known as Nolli diagrams, illustrates the relationship between built (figure) and unbuilt space (ground). In provides a powerful way to explore built form patterns and the continuity of open space. In MetricMonkey, the analysis is a geometric calculation and does not take into consideration if the building is public or private.

Ensure that Context Buildings have been imported or referenced into the project. Next, enable the compute toggle to run the analysis. Results are shown in 2D as solid poché. If no Context Buildings are found, a warning will be displayed in the Snack bar.

Three Analysis Methods are possible.

Site Plan will return the building footprint as visible from an aerial view. Topography is excluded from the analysis.

Horizontal Plane will use a horizontal (XY) cut plane. The z-position of the cut plane is defined by the Height value. If Topography has been imported or referenced into the project, it will be considered in the analysis.

Above Topography will use the topography as the cut ‘plane’. The Topography is moved up (z-axis) based on the Height value. If no Topography is found, a warning will be displayed in the Snack bar.


The Layers tab allows you to visualise your design by providing granular control over each element type.


When a MetricMonkey command is activated, the corresponding Rhino layer is also activated. However, to manually define the active layer, select the desired Rhino layer from Active Layer.

To quicky define Layer visibility, use Layer State. This setting will override all layer visibility settings for both Rhino Layers and the MetricMonkey Previews.

Clipping Plane

A Clipping Plane can use used to create sectional views by temporarily hiding geometry behind the plane. Its orientation – XY, XZ, or YZ – is defined via the Plane Orientation. While its location is controlled via the Plane Location, relative to the Bounding Box of the model.

Development Preview

Context Preview

Analysis Preview


Copyright © 2023 Parametric Monkey. MetricMonkey is a registered trademark of Parametric Monkey Pty Ltd.


Your message is on its way. Someone from our team will be in touch soon.