Skip to content

UrbGEN generator

Nickname: UrbGEN generator
Location: UrbGEN > UrbGEN

UrbGEN generator Icon


Description

UrbGEN generator component

Inputs

Name Type Access Description
IIIIISITEandPLANNINGTARGET Generic Data item Site & Planning Targets group (Optional)
________ Generic Data item rhinoscriptsyntax geometry (Optional)
siteCrv Curve list Closed planar site boundary curve. All geometry is generated inside this outline. Must be closed, planar and lie on the WorldXY plane. (Optional)
centroids Point tree Candidate seed points for tower placement. Points outside the setback line are discarded. Ignored entirely when towerTypologyMode = 7 (Courtyard), which derives its layout from the site outline instead. (Optional)
setback Number list Setback distance (m) offset inward from the site boundary. Defines the buildable area; every footprint must sit fully inside it. If the offset fails, the full site boundary is used instead. (Optional)
FAR Number list Target Floor Area Ratio. Total GFA (podium + towers) divided by site area. Drives the number of floors assigned to each tower
4=400%
5=500% (Optional)
BCR Number list Target Building Coverage Ratio (0–1). Total ground footprint area divided by site area. Reached in two stages: tower growth first, then podium expansion.
0.3 = 30%
0.6 = 60% (Optional)
upperBCR Number list Converts to collection of floating point numbers (Optional)
________ Generic Data item rhinoscriptsyntax geometry (Optional)
IIIIIIIIIIIIIIIIIISIZINGandDENSITY Generic Data item Tower Sizing & Density group (Optional)
________ Generic Data item rhinoscriptsyntax geometry (Optional)
minWidth Number list Base width (m) of every tower slab, i.e. the short side of the spine rectangle. Also the fixed band width for Courtyard typology. Values below 2.0 m are clamped. (Optional)
towerSizeMode Integer list Footprint size strategy. 0 = Compact (small footprints, skewed low), 1 = Medium (mid range), 2 = Maximized (large footprints, skewed high), 3 = Random uniform. For Courtyard typology this instead controls break-point density and building length on the ring. (Optional)
minFootprintPerTower Number list Minimum allowed footprint area (m²) per tower. Candidates below this are rejected during placement. Minimum 20 m². (Optional)
maxFootprintPerTower Number list Maximum allowed footprint area (m²) per tower, including all attached arm modules. Caps spine length growth. Forced to be at least minFootprintPerTower + 30. (Optional)
maxLengthWidthRatio Number list Maximum slenderness of a tower: spine length ÷ width. Prevents excessively elongated slabs. Minimum 2.0. (Optional)
minTowerDistance Number list Minimum clear distance (m) between any two building footprints. Enforced during placement, growth, rotation and all move operations. (Optional)
towerBCRPriority Number list Share of the BCR target (0–1) to be carried by tower footprints before the podium is generated. Higher = taller/thicker towers and a thinner podium; lower = a larger podium skirt. (Optional)
towerGrowStep Number list Length increment (m) added to a tower's spine per growth attempt while converging on the tower BCR target. Smaller = finer convergence but slower. (Optional)
towerGrowIterations Integer list towerGrowIterations (Optional)
seed Integer list Random seed controlling point ordering, rotation angles, size sampling, podium noise and height distribution. Same seed = identical result. Taken modulo 10000. (Optional)
________ Generic Data item rhinoscriptsyntax geometry (Optional)
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIITYPOLOGY Generic Data item Building Typology group (Optional)
________ Generic Data item rhinoscriptsyntax geometry (Optional)
towerTypologyMode Integer list Building footprint shape. 0 = I (plain rectangle), 1 = L, 2 = T, 3 = H, 4 = C/U, 5 = Plus (+), 6 = Random per tower (picks 0–5), 7 = Courtyard (perimeter ring blocks; uses the site outline instead of centroids). (Optional)
armLengthRatio Number list Length of each attached arm module as a multiple of minWidth. Only affects typologies 1–5. Auto-tuned by ±30% if the tower BCR target is missed. Minimum 0.3. (Optional)
________ Generic Data item rhinoscriptsyntax geometry (Optional)
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIPODIUM Generic Data item Podium group (Optional)
________ Generic Data item rhinoscriptsyntax geometry (Optional)
podiumFloors Integer list Number of podium floors. Podium height = podiumFloors × floorHeight. Towers are extruded starting from the top of the podium. (Optional)
podiumMinOffset Number list Lower bound (m) for the podium offset search. The podium is the tower footprints offset outward by this distance, unioned, then clipped to the setback line. (Optional)
podiumMaxOffset Number list Upper bound (m) for the podium offset search. Additionally capped at 35% of √(site area). Forced to be at least podiumMinOffset + 0.5. (Optional)
floorHeight Number list Floor-to-floor height (m), used for both podium and tower floors. Converts floor counts into metric heights. (Optional)
________ Generic Data item rhinoscriptsyntax geometry (Optional)
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIROTATION Generic Data item Rotation group (Optional)
________ Generic Data item rhinoscriptsyntax geometry (Optional)
globalRotationMode Integer list Rotation strategy. 0 = per-tower random angle from a candidate set, 1 = uniform fixed angle for all towers (uses uniformRotationDeg), 2 or 3 = one randomly chosen angle from 0/45/90/135/180 applied to all towers. (Optional)
uniformRotationDeg Number list Rotation angle in degrees applied to every tower when globalRotationMode = 1. Ignored in all other modes. Clamped 0–180. (Optional)
________ Generic Data item rhinoscriptsyntax geometry (Optional)
IIIIIIIIIIIIIIIIIIIIIIIIIIIICOURTYARD Generic Data item Courtyard setting group (Optional)
________ Generic Data item rhinoscriptsyntax geometry (Optional)
courtyardCount Integer list Number of separate courtyard zones the site is split into. Each zone produces its own ring of perimeter buildings around an open central void. Minimum 1. (Optional)
courtyardBreakCount Integer list Base number of gaps cut into each courtyard ring. Adjusted by towerSizeMode: Compact adds gaps (more, shorter blocks), Maximized removes them (fewer, longer blocks). (Optional)
courtyardBreakWidth Number list Converts to collection of floating point numbers (Optional)
courtyardZoneGap Number list Clear distance (m) left between adjacent courtyard zones so separate rings never touch. Only applies when courtyardCount > 1. (Optional)
courtyardSplitAngle Number list Rotation (degrees) of the zone-splitting axis relative to the site's longer bounding-box axis. 0 = split strictly along that axis. Clamped −45 to +45. (Optional)
courtyardBreakShift Number list Distance (m) to shift break/cluster positions clockwise along the ring perimeter; wraps around. Used in Cluster layout and in the smooth-boundary fallback of Corner layout. (Optional)
courtyardLayoutMode Integer list Ring layout strategy. 0 = Corner: one building anchored at each polygon corner growing outward along both edges, gaps land mid-edge (courtyardBreakShift ignored). 1 = Cluster: all buildings grouped into one contiguous run separated by courtyardBreakWidth, shifted around the ring by courtyardBreakShift. (Optional)
________ Generic Data item rhinoscriptsyntax geometry (Optional)
IIIIIIIIHEIGHTandREGULATION Generic Data item rhinoscriptsyntax geometry (Optional)
________ Generic Data item rhinoscriptsyntax geometry (Optional)
heightVariation Number list Converts to collection of floating point numbers (Optional)
enforceHeightRegulation Boolean list Converts to collection of boolean values (Optional)
heightRegulationMode Integer list Converts to collection of integer numbers (Optional)
maxBuildingHeight Number list Converts to collection of floating point numbers (Optional)
minBuildingHeight Number list Converts to collection of floating point numbers (Optional)
________ Generic Data item rhinoscriptsyntax geometry (Optional)
IIIIIIIIIIIIIIIIIIIIIIIIIIPOSITIONING Generic Data item Post-Placement Positioning Group (Optional)
________ Generic Data item rhinoscriptsyntax geometry (Optional)
moveToBoundary Boolean list Push each tower outward along the direction from the site centroid through the tower, until it reaches the setback line or is blocked by another building. Radial spread; creates an open centre. Skipped for Courtyard typology. (Optional)
moveAllToSetback Boolean list Push every building along the shortest (perpendicular) direction to the nearest point on the setback line, rather than radially from the centre. Produces buildings hugging the site edges. Skipped for Courtyard typology. (Optional)
alignTowersToEdge Boolean list Rotate each building in place, centre unchanged, so it lines up with the nearest boundary edge. Applied both at initial placement and again after the move steps, so alignment reflects each tower's final position. Skipped for Courtyard typology, which already follows the boundary. (Optional)
edgeAlignBothOrientations Boolean list Fallback behaviour for edge alignment. True = if the long-edge-parallel rotation is blocked (leaves the site, overlaps, or breaks minTowerDistance), try the perpendicular orientation instead. False = only attempt the parallel orientation, otherwise keep the existing angle. Long-edge alignment is always attempted for every building before any short-edge fallback. (Optional)
moveTowerToPodiumEdge Boolean list After the podium is built, slide each tower inside its own podium footprint toward the podium edge nearest the setback line, without changing the podium shape. Result: the tower sits flush on the street side while the podium stays wider behind it. Requires podium offset > 0. (Optional)
________ Generic Data item rhinoscriptsyntax geometry (Optional)
Run Boolean item Converts to collection of boolean values (Optional)

Outputs

Name Type Access Description
________ Generic Data item rhinoscriptsyntax geometry
TowerFootprints Curve item Ground footprint curve of each tower/block
TowerMasses Brep item 3D tower solids, extruded from the podium top level
PodiumFootprints Curve item Podium outlines after boolean union and clipping to the setback line
PodiumMasses Brep item 3D podium solids
UnionFootprint Curve item Alias of PodiumFootprints (total covered area)
BuildableSite Curve item Site boundary after applying setback
siteOriginal Curve item The original input site boundary
________ Generic Data item rhinoscriptsyntax geometry
TowerCentroids Point item Final centres after all move operations
TowerAngles Number item Final rotation angle (degrees) after the align step
TowerTypologies Integer item Typology code 0–7
TowerTypologyNames Text item Typology name: I / L / T / H / C / Plus / Courtyard
TowerLengthUsed Number item Actual spine length used per tower
TowerWidthUsed Number item Slab width (= clamped minWidth)
TowerSizeRatio Number item Length / width ratio per tower
NumTowers Integer item Final tower/block count
________ Generic Data item rhinoscriptsyntax geometry
ActualFAR Generic Data item rhinoscriptsyntax geometry
FAR_Error Generic Data item rhinoscriptsyntax geometry
ActualBCR Generic Data item rhinoscriptsyntax geometry
BCR_Error Generic Data item rhinoscriptsyntax geometry
TotalGFA Generic Data item rhinoscriptsyntax geometry
TowerGFA Generic Data item rhinoscriptsyntax geometry
PodiumGFA Generic Data item rhinoscriptsyntax geometry
TowerTotalArea Generic Data item Total ground area covered by towers
UnionArea Generic Data item Total covered area and its coverage ratio
UnionBCR Generic Data item Total covered area and its coverage ratio
TowerCoverageRatio Generic Data item Share of the target BCR area achieved
PodiumCoverageRatio Generic Data item Share of the target BCR area achieved
TowerAreaPercentOfSite Generic Data item Share of the site area covered
PodiumAreaPercentOfSite Generic Data item Share of the site area covered
________ Generic Data item rhinoscriptsyntax geometry
PodiumOffset Number item Converts to collection of floating point numbers
ActualPodiumOffset Number item Converts to collection of floating point numbers
PodiumThicknessAvg Number item Converts to collection of floating point numbers
PodiumAreaExpansionRatio Number item Converts to collection of floating point numbers
TowerToPodiumRatio Number item Converts to collection of floating point numbers
AdditionalPodiumArea Number item Converts to collection of floating point numbers
AdditionalPodiumRatio Number item Converts to collection of floating point numbers
AdditionalPodiumPercentOfSite Number item Converts to collection of floating point numbers
PodiumEfficiency Number item Converts to collection of floating point numbers
________ Generic Data item rhinoscriptsyntax geometry
Floors Integer item Converts to collection of integer numbers
TowerFloors Integer item Converts to collection of integer numbers
TotalFloors Integer item Converts to collection of integer numbers
Heights Number item Converts to collection of floating point numbers
TowerHeights Number item Converts to collection of floating point numbers
TotalBuildingHeights Number item Total height including the podium
ActualHeightVariation Number item Converts to collection of floating point numbers
HeightVariationError Number item Converts to collection of floating point numbers
HeightBins Generic Data item rhinoscriptsyntax geometry
HeightCounts Generic Data item rhinoscriptsyntax geometry
HeightVariationOutputs Generic Data item Full bundle: min/max/avg, StdDev, CV, Q1/Median/Q3/IQR, per-tower HeightDetails
________ Generic Data item rhinoscriptsyntax geometry
HeightRegulationEnforced Generic Data item rhinoscriptsyntax geometry
HeightRegulationMode Generic Data item rhinoscriptsyntax geometry
MaxAllowedHeight Generic Data item rhinoscriptsyntax geometry
MinAllowedHeight Generic Data item rhinoscriptsyntax geometry
HeightViolationsCount Generic Data item rhinoscriptsyntax geometry
HeightAdjustedCount Generic Data item rhinoscriptsyntax geometry
HeightViolations Generic Data item rhinoscriptsyntax geometry
________ Generic Data item rhinoscriptsyntax geometry
SeedUsed Generic Data item rhinoscriptsyntax geometry