Node graph
Every action in the 3D viewport becomes a node. The graph lets you change parameters later, wire in sliders and do parametric design. The idea is the same as Grasshopper, but there is no Bake: what you see in the 3D viewport is the result.
Opening the panel
- Press Ctrl+` or click "Graph" at the right of the toolbar.
- The panel sits at the bottom, like the terminal in VS Code. Its title bar has "maximize / restore" and "×".
- Drag the divider to resize. Dragging it very low collapses the panel. Double-click the divider to restore the default height.
- When closed, a handle stays at the bottom. Drag it up or double-click it to reopen.
- The open state and height are remembered on this computer.
Basics
- Add a node: type a name in the search box at the top of the panel, or click a category (Input, Curve, Solid, Transform, Analysis, Guide, Output) and pick from the list. You can also double-click an empty spot on the canvas to open the search box.
- Quick slider: type a number in the search box to create a slider.
0<5<10sets min, value and max at once. - Wire: drag from an output port to an input port. Ports are colored by type; mismatched types cannot connect.
- Edit parameters: directly on the node card, or in the properties panel in the left column.
- Inspect data: wire a "Panel" node to any output to see its value. "Statistics" shows counts and sums.
- Select and delete: click a node, drag a box, press Delete. Selection in the 3D viewport and in the graph is the same selection.
- Errors: nodes with errors are marked and the toolbar shows the error count. A node missing an input needs that port wired.
Groups, scribbles, notes and disable
- The graph toolbar has Group, Ungroup, Disable, Scribble and Note buttons. Shortcuts work only while the graph has focus (use ⌘ on Mac).
- Group Ctrl+G: wraps the selected nodes in a colored frame. Dragging the frame moves the nodes inside; double-click the title to rename; 6 colors. Ctrl+Shift+G ungroups and keeps the nodes.
- Scribble adds a line of large text on the canvas; Note adds a sticky note. Double-click to edit the text.
- Disable Ctrl+E: a disabled node does not compute and has no output; its card is marked "Disabled". Press again to enable. Pinned elements and the site and code nodes cannot be disabled.
- Groups, scribbles, notes and disabled state are stored in the design, so they are saved, synced to the cloud and shared. Each action is one undo step.
Input, text and geometry components
- Value List: one "name = value" per line; click "Edit items" on the card to change them. Modes are dropdown and checklist. Outputs the value, the name and the index.
- Button: outputs True while held and False when released. Creates no undo step.
- Graph Mapper: remaps numbers through a curve. Curves are Linear, Bezier (default), Sine and Parabola; drag the control points on the card.
- Text: Concatenate, Text Split, Text Join, Format (supports
{0},{1:F2},{0:N0},{0:P1}and similar). - Domains: Construct Domain, Deconstruct Domain, Remap Numbers (with no source domain wired, it uses the minimum and maximum of the numbers; can clamp).
- Ellipse: center, X and Y radius, rotation; outputs the curve, the two foci and the area.
- Voronoi, Delaunay, Convex Hull: take points. Voronoi can take a boundary curve; without one it uses an expanded bounding box. There is a point limit.
- Color by Value: colors solids by a number. Gradients are Spectrum (blue to red), Heat, Green to Red, Grayscale or a custom stop list; the range is automatic by default, or set your own limits.
Planes, facade subdivision, morphs and clusters
- Planes: Construct Plane, Deconstruct Plane, Plane Normal, Plane 3Pt, Plane Origin, Rotate Plane, Plane Offset and the Plane parameter; planes convert to and from the modeler's construction planes. Orient and the morphs transform points, curves, solids and surfaces alike.
- Facade subdivision: build a surface with Ruled Surface, Loft Surface, Extrude Surface or Plane Surface, split it with Divide Domain², then use Isotrim, Surface Frames, Quad or Triangle Panels, or Surface Box.
- Morphs: Twist, Bend, Taper, and Box Morph (fits an object into every twisted box). The axis is a line segment; meshes and curves are subdivided first so large faces can bend.
- Clusters: select nodes and press Cluster on the graph toolbar; outside links become the cluster's inputs and outputs (up to 8 each, defined by Cluster Input and Cluster Output nodes). Double-click a cluster to edit inside; the level bar at the top goes back to the main graph (Esc), and every change inside is undoable. Explode puts the inner nodes back on the graph.
- Cluster ⇄ component: select a cluster and press "Cluster⇄Comp" on the graph toolbar: the cluster's geometry outputs are connected to a component definition and one instance is placed (you can add more instances later, or convert to a family in the modeler); selecting a component node instead packs its definition chain into a cluster (sliders and values become cluster inputs, and all instances still share it). A cluster's "Instance parameters" are its inputs: duplicate the cluster and connect different inputs, and you have different instances of the same definition. See Modeler: Component ⇄ cluster.
- Path Mapper: remaps data tree paths with text masks, for example
{A;B}→{B;A};(i)binds the item index; targets can use integer expressions such as{A;(i/3)}. One mapping per line; branches that match no mask are dropped with a warning. - Data Dam: holds back upstream changes until you press Release ▶. Modes: Manual release, Auto (release after a delay), Open (pass through). Releasing leaves no undo step.
- MD Slider: drag a point in a square to set two numbers at once; outputs the point and X and Y. Arrow keys nudge, Shift for larger steps.
- Value List modes: Dropdown, Check list, Value Cycle (click for the next item, wrapping around) and Value Sequence (step with the arrows, stopping at the ends).
Cost, quantities and type info (analysis nodes)
- Cost summary: uses the Estimate quantity rules and the unit-price table you import (CSV) to give the total, cost by category (walls, floors, roofs, ceilings, rooms, doors, windows, stairs, structural columns, beams, structural slabs) and cost per element. The “Unit price multiplier” and “Opening deduction threshold” inputs can take sliders. Only your imported prices are used; no official or built-in prices are included. Without a price table the total is 0 and a hint is shown.
- Material takeoff: material areas and volumes from the layer build-ups (same as the Material Takeoff schedule). Filter by category and material keywords (separated by
|); outputs totals, per-material subtotals and per-element quantities. - Type info: connect Types to the BIM types node and give a type id; outputs total and core thickness, layer count, materials and thicknesses per layer, U-value and mass per area (simplified; when a material has no λ or density the output is empty and a warning is shown).
- Analysis nodes run after walls, doors, windows, floors and other elements are computed. While you drag they keep the last result and recompute on release. Their outputs are numbers you can use as optimizer goals or constraints, or wire “Elements” and the per-element values into Color by Value.
- Analysis results cannot feed walls, floors or other elements, levels, types or global parameters (that would be a feedback loop); such links are refused. To change sizes based on a result, read it and adjust by hand.
- EEWH massing estimate: before exterior walls exist, builds an assumed envelope from the automatic mass floors and runs the same EEWH energy estimate as the green building panel. The “Window-to-wall ratio” and “Overhang depth” inputs can take sliders or global parameters (ratio -1 = use the green building panel). Outputs the main indicator (Req for residential, ENVLOAD for air-conditioned, AWSG for schools and large spaces), its limit, indicator / limit (below 1 passes), Uar, Uaw, SF, pass/fail, and the floor, envelope, wall, roof and window areas and shape factor.
- EEWH envelope estimate: once walls, doors and windows are drawn, uses the model envelope and outputs the same indicators plus the actual window-to-wall ratio. With an overhang depth ≥ 0 every wall window uses one uniform overhang; -1 keeps the per-window settings of the model and panel. Both EEWH nodes take building category, county, climate zone and altitude from the green building panel and Project information (the category can also be set on the node); a hint appears when the design has no saved north or county.
- Daylight factor (preliminary): daylight factor on the work plane of every room under the CIE overcast sky. The “Glazing transmittance” and “Grid spacing” inputs can take sliders or global parameters; other settings come from the environment panel. Outputs the area-weighted mean DF, minimum DF, uniformity, % of area meeting the target, number of rooms, rooms meeting the target (count and share), worst room mean and whether all rooms meet the target. The node computes on the main thread with at most 5,000 points and 4 million samples (stricter than the panel).
- Natural ventilation (preliminary): effective ventilation opening ratio of every room (against the panel threshold preset, or a threshold set on the node), cross-ventilation path, wind- and buoyancy-driven airflow. The “Wind speed” and “Wind direction (from)” inputs can take sliders. Outputs rooms, rooms passing (count and share), minimum opening ratio, cross-ventilated rooms, minimum and mean air changes, total airflow, mean indoor air speed and whether all rooms pass.
- Thermal comfort (preliminary): PMV/PPD and adaptive comfort. Inputs: air temperature, mean radiant temperature, relative humidity, air speed, clothing, metabolic rate, outdoor monthly mean; unconnected inputs use the panel (the outdoor temperature uses the hottest filled month). Outputs PMV, PPD, operative temperature, |PMV| ≤ 0.5, comfort temperature, whether the wide/strict acceptability range is met and whether the outdoor temperature is within the model range.
- Structure summary: the Structure panel preliminary sizing and quantities — concrete m³, rebar kg, formwork m², slab area, longest beam span, longest slab short span, column/beam/slab counts, warnings, elements smaller than preliminary and “No warnings”. Recommended sizes are written back only with “Apply all preliminary sizes” in the Structure panel (one undo step); the node never resizes anything by itself.
- Frame analysis (preliminary): a linear-elastic frame analysis summary of the structural columns and beams — maximum storey drift ratio, whether it is within 0.005, maximum demand/capacity ratio, number of elements with D/C above 1, base shear, period, seismic weight, maximum displacement, maximum moment and axial force, and pass/fail. Loads and seismic coefficients come from the structure settings (see Frame analysis). This is a preliminary reference only — not a certified structural design; enlarged sizes are applied only with the button in the Structure panel, and the node never changes elements. With more than 1500 columns plus beams the node does not compute; use the Structure panel instead.
- Parking count check and Accessibility check: the same as the Parking and Accessibility tabs of Egress / Accessibility / Parking Checks; output required and provided numbers, failures per group and pass/fail, usable as optimizer constraints. Thresholds and rules are editable defaults, not a code ruling. Egress (travel distance, two directions) is a background calculation, not a node, and cannot be an optimizer goal.
- All costs and quantities are preliminary estimates, not a formal budget or quantity survey.
Code checks, area and regulation summaries (analysis nodes)
- Site, Rules, Envelope and Code checks are back in the node list under “Analysis” (the Site page in the left column stays off). These nodes in older designs show and compute as before.
- Linked 2D drawing: reads the curves, texts and block insertion points of the chosen layers of a 2D design in the same project (or a 2D design shared with you), the equivalent of Revit's linked CAD and AutoCAD's external references. In the properties panel pick the design and tick layers; the outputs are curves, closed curves, each curve's layer, texts and text positions, and insertion points and block names. Units are converted to metres; “Origin to drawing” uses the snapshot's lower-left corner as the origin (for large coordinates such as TWD97); “Elevation from text” gives curves and insertion points the elevation of the nearest numeric text (for example a contour label 12.5), and “Text search distance” limits the distance. Curves can feed the Property Line node's “Boundary curve” input (the first closed curve becomes the boundary vertices), the toposurface's “Contours”, “Survey points” and “Boundary” inputs, and any node that takes curves, such as walls and grids. The content is stored as a snapshot (inside the design); when the 2D drawing changes the properties panel says so, and only “Update” re-reads it (the cloud has its own button). Objects generated from 3D (imported views, fields) are not read, so 3D reading 2D while 2D imports views from 3D never loops. Limits: 5,000 curves, 50,000 vertices in total, 5,000 texts, 20,000 insertion points, 64 layers; during live collaboration a snapshot over 56 KB cannot be sent, so select fewer layers. AI cannot create this node.
- Property Line → Rules: the Property Line node has a new “Site” output (the property polygon plus the setback you enter for each edge). Connect it to the Site port of Rules to get the BCR area, FAR floor-area cap, effective height and buildable area. Every property-line edge is treated as a neighbour boundary; for road edges and Art. 164 planes use the Site node of older designs.
- Code checks (preliminary): connect an Envelope (with Art. 164 planes and setbacks) or just the Derived output of Rules (BCR, FAR and height only). Outputs: BCR use, FAR use, whether BCR / FAR / height pass, Legal (preliminary), mass floor area and top height — usable as optimizer goals or constraints, or with Color by Value. Several code checks in one evaluation share a single union of the masses; while you drag they keep the last result and recompute on release.
- Area scheme summary (preliminary): reads one area-plan scheme (by name, or the first scheme of the kind) and outputs the counted total, total of all types, building coverage (union of the level projections), ping and area per level. FAR and coverage schemes are compared with a limit (limit input → Rules node → user input of the regulation review report), giving the usage ratio and “Within limit”.
- Sales area summary (preliminary estimate): same as the Sales Area table — main, annex, canopy, common, parking, total sales area, common-area ratio and ping, plus the sales area and ratio per unit.
- Regulation review summary (preliminary): the main figures of the Regulation Review Report plus whether BCR / FAR / height pass, the overall result and the numbers of failing and undetermined items. Items that cannot be determined (missing limit or design value) do not count as passing.
- All of these are preliminary results from the conditions and area schemes you enter, not a review by the authority; their results cannot feed walls, floors or other elements.
Query, phase filter and schedule summary (analysis nodes)
- Query elements (preliminary) (Query): filters model elements by category (walls, doors, windows, floors, rooms, columns, beams… or all), level key, tag / layer and a project parameter (name = value; blank value = the parameter is filled in, case-insensitive). Outputs ids, names, types, categories, levels, parameter values, areas (walls = net area, the same quantity rules as schedules), volumes, plan outlines, BIM specs, and the element count with area and volume totals. Category, level and parameter value can also take inputs (for example the id from a level lookup). By default only the main model and primary design options are read; you can switch to all design options. The lists hold at most 5000 items (the element count is the full total). The Query node outputs no solids, so nothing is duplicated in 3D or in exports. It can also filter by usage, material, phase created and design option (each with its own input port): usage = a built-in name or code (inherited from the upstream geometry source), material = a material of the wall/floor type layers or the object material (case-insensitive, the bim: prefix is optional), phase created = phase id or name, design option = option id or name (main = main model; when set, the main-model-only restriction no longer applies); changing an element’s usage, material or phase recomputes only the query node.
- Phase filter (preliminary) (Phase filter): applies Revit’s phase + phase filter to elements: pick a phase (id or name; blank = the last one) and a filter (Show All, Show New, Show Previous + Demo…), and it outputs the visible element ids with their status (new, existing, demolished), the count per status, total area and volume, and the new volume. Connect the ids of a Query node to look at only those elements.
- Schedule summary (preliminary) (Schedule summary): the start, finish, total duration (calendar days), task count, critical task count, total cost (5D estimate) of the 4D schedule, and the cumulative cost and completion at the “status date”. The duration factor (for example 1.2) and the start date can take a slider or a global parameter; when not connected the 4D panel settings are used. It suits an optimizer objective or constraint (for example duration ≤ 540 days).
- When element properties, tags, names, design options or phases change, only the Query / Phase filter nodes that read those fields recompute; other nodes stay untouched. These three nodes are also analysis nodes: they keep the last result while dragging and recompute on release; results cannot be connected back to walls, levels, type tables or global parameters.
Sun hours (analysis node)
- Sun hours (preliminary): the same computation as the "Sun hours" tab of the 3D green panel (see Sun hours). Choose the day (winter solstice, March equinox, summer solstice or a custom YYYY-MM-DD), the analysis surface (site ground, neighbouring ground, upward faces, facades), grid spacing, margin / ring width, sampling interval and threshold. Outputs the minimum, mean and maximum sun hours, the share of cells below the threshold, the mean sunshine ratio, the shortest longest-continuous sunshine, the number of valid cells and the hours per cell.
- Inputs: latitude and longitude (empty = Project information; without either, the Taipei reference point with a warning), grid spacing and threshold (all can take sliders or global parameters), and a boundary (closed curve; without it the design's property line is used).
- Background computation: first shows "Computing sun hours…"; after a change it shows the previous result until the new one is ready. Each set of settings is computed once and shared with the 3D tab. Keeps the last result while dragging.
- Optimizer: the result is not immediate, so the optimizer blocks it like a script node (it cannot start when the fitness or a constraint depends on a Sun hours node).
- Physical computation only: the threshold is your own input and the node makes no sunlight-regulation determination. Results cannot feed walls, floors or other elements; the AI does not create this node.
EEWH score (analysis node)
- EEWH score (three indicators, preliminary): the same computation as the "EEWH score" tab of the 3D green building panel (see EEWH score). Outputs greenery RS2, site water retention RS3, daily energy RS4 (assessed items), the subtotal of the three and its maximum, TCO2 / TCO2c, λ / λc, EEV, whether the daily energy threshold passes, whether all three could be computed and the number of missing data items.
- Inputs: the node has no parameters; it uses the entries saved in the design from the panel, the building category and county of the green building panel, and the site from Project information and the Rules node. Missing data are listed in the node warnings.
- Only the Taiwan rule pack provides it: with other rule packs every output is empty and the node warns "Not provided by this rule pack". Preliminary, not an EEWH label review, no label grade. It is an analysis node: it keeps the last result while dragging, and results cannot feed walls, levels, type tables or global parameters.
Levels node: unequal storey heights and level lookup
- The Levels node has new inputs “Elevations” (zs) and “Level names”: connect a Series or list to build levels with unequal storey heights.
- Level k keeps the id of the existing k-th level, so walls and rooms do not lose their level when the count changes.
- Connecting a raw number list to a wall’s level input still works but shows a warning (ids follow list positions); connect the Levels node’s level table instead.
- New node “Level at” (LevelAt): elevation or name in; level id, name, elevation, level above and storey height out.
- New node “Level info” (LevelInfo): level count, ids, names, elevations, storey heights, typical storey height and level-table warnings.
Structural grid node: list inputs, intersection planes and grid coordinates
- The Structural grid node has new optional inputs: X/Y spacing lists (xs, ys; a connected Series or slider list replaces the parameter text, at most 60 spans each way, items of 5 cm or less are skipped with a warning), rotation (angle) and origin. Old files without these links are unchanged.
- New outputs: X/Y spacings, X labels (1, 2…), Y labels (A, B…) and intersection planes (one plane per intersection, X axis along the grid, ready for the target plane of Orient).
- Global parameters can drive each span (“X span 2→3” and so on) and the grid rotation: assign them in the structure settings section of the Global Parameters dialog. The saved spacing text stays the same; only that span changes when the model is computed.
- The legacy Grids (Grid) node is marked “Legacy” in the list. Select it and type
upgradegrid(upgradegrid all= every one) to upgrade it to a structural grid: equal spacing becomes “n*d”, origin / rotation / overhang carry over, and it stays the same node, so links from its lines and intersections and the intersection order are kept. A grid whose spacing is driven upstream, or with a single line in one direction, cannot be upgraded (the reason is shown). - The command line and point input accept grid coordinates:
B-2,A3,3-A;A3+1.2,0.5= offset from the intersection along the grid directions. Examples:line B-2 C-4,cplane origin A1. If the model has no such intersection the text is read as an ordinary coordinate. cplane grid A3: puts the construction plane origin at grid intersection A3 with its X axis along that grid system (rotated grids included).- “Convert to floors and auto-follow” in the Mass Floors section of the outliner turns mass floors without a floor element into real floors (like FF) that follow the mass: resize the mass and the floor boundaries change in the same edit (one Ctrl+Z); they do not follow while dragging, only when you release. If the face is lost the previous shape is kept with a warning. Off by default; “Stop all auto-follow” turns it off. The Floors node, the area schedule and auto mass floors share one set of sections, so their numbers agree.
Plane follow, reference planes, thickened surfaces and room curves
- A plane that follows a CPlane or a level: on the card of a Plane node, Follow can pick a named CPlane (saved with
cplane save) or a level. When that CPlane is overwritten or the level elevation changes, the plane and everything downstream follow live. Picking a level connects the level table of that building’s Levels node to the L input automatically. Offset along normal moves the followed plane further. If the followed CPlane is deleted, the node keeps its stored plane and shows a warning. - Publish as CPlane: click Publish as CPlane on the card and the toolbar CPlane menu gets a Graph-driven (read-only) group; picking it moves the viewport CPlane to this plane. The entry reads the computed result and is never written to the design’s named CPlane list, so it cannot trigger a recompute in return. Reference Plane nodes have the same option.
- Reference Plane: a project-level reference plane, a dashed line in plan and a vertical plane in 3D. Create one with
refplane x1,y1 x2,y2 nameor from the node list. When a plane is connected to input P (for example a Plane node that follows a CPlane), the graph places it. For dimensions and global parameters see Modeler › Global parameters. - Surface to Solid: thickens a Grasshopper surface along its normal into a solid that supports booleans, volumes and IFC or 3DM export. Ruled Surface, Loft Surface and Extrude Surface also gain a Thickness parameter and a Thickened (B) output; thickness 0 = surface only, so older files are unchanged. Thickened shells are components and are not counted as mass.
- Solid Face: picks faces of a mass: vertical faces, upward faces (slopes included) or all. Outputs the boundary curve (its winding is the outward normal), the normal, a plane on the face, a surface for four-sided faces and the area. Index −1 = all faces. The mass stays visible; it is not consumed.
- The Face input of curtain systems and roofs by face: connect the boundary from Solid Face (or any closed curve or Grasshopper surface) to Face and the face is driven live by the graph: when the mass changes, the curtain system or roof follows at once, without Update to Face. One face per curve; several faces of a curtain system form one layout, so schedules and IFC still read it. Elements created by face do not follow automatically by default; connect this input for the ones that should. Older elements without the link keep using Update to Face.
- Structural and architectural hosts driven by the graph: structural columns have a new Points input and beams a new Curves input: connect the intersections or lines of a structural grid (or any point or curve list) for one column per point and one beam per segment (polylines split at their vertices); changing the grid spacing moves them. When one node makes several, element ids are “node#number” and marks get -1, -2…; size and level stay on the node, and Apply recommended sizes in the Structure panel uses the largest recommendation among them. Re-running the automatic layout does not delete these graph-driven columns and beams. Connecting the Boundary curve of a ceiling (a list of closed curves = outer loop + holes), the Profile curve of a shaft (the first closed curve), the Path curve of a stair (two points = straight, more = multi-run along the path, up to 64 points) or the Profile curve of an extruded roof (a polyline drawn in a vertical plane: first to last point = reference line, point heights minus the reference level = profile) replaces the sketched boundary, path or profile. Older elements without a link are unchanged. Up to 500 columns or beams per node.
- Live walls by face (first step): Solid Face has new Base edge (E) and Face height (H) outputs: the bottom edge of each vertical face, directed so that the wall exterior faces out of the mass. Connect Base edge to a wall’s Location curve and set the location line to Finish Face: Exterior; the wall sits on the mass face with its body inside the mass and follows the mass at once. Wall height still comes from the base and top constraints. Limitation: when the number of faces changes (for example a new corner), walls are renumbered and doors or windows may move to another wall; to keep openings in place, use Wall by Face with Update to Face.
- The Curve input of room separation lines: connect Grasshopper or Rhino curves; polylines are split at corners and each segment becomes a separation line. When the curves change, room areas update live.
- Rooms of project: lists every room with its outline, name, number, area, level key and node id; it can list one level only, or enclosed rooms only. It is an analysis node, so its results cannot feed separation lines, walls or other elements.
- Results of analysis nodes cannot be connected to a reference plane, the Face input of a curtain system or a room separation line; such links are refused (they would create a feedback loop).
Merged geometry nodes and dimension references
Loft, sweep, revolve, ruled surface and extrude used to exist separately in SketchUp, Rhino and Grasshopper. The node list now shows only one of each. Old nodes (from old files, or created by the AI under old names) are calculated as before: type and parameters are unchanged, they are just not in the list. Type an old name in the search box (for example LoftSurface, Sweep1Srf) and you find the merged node.
| Merged node | Old nodes | How to get the same result |
|---|---|---|
| Loft (LoftSrf) | Loft (two curves), Loft (sections), Loft Surface (GH) | Set "Output" to Solid: when the sections are all horizontal closed curves, the same shape = prism (same as Extrude), tapering = loft segment by segment (point by point the same as the sections loft), and the regulatory area is exact; other sections go through the Rhino mesh. Set "Output" to Surface: a parametric surface (Srf output, connects to facade division and panels); thickness > 0 also outputs a thickened shell. |
| Ruled surface (RuledSrf) | Ruled Surface (GH) | "Output" = Surface gives the GH ruled surface. |
| Extrude | Extrude Surface (GH) | "Output" = Surface extrudes the curve into a parametric surface (open curves work too). New "Direction (D)" input: extrude along a vector; vertical = prism, slanted = mesh. |
| Sweep | Sweep1 surface | Without "Section" connected = SketchUp Follow Me (profile X = offset to the left of the path, Y = height, or a width × height rectangle); with "Section" connected = Rhino Sweep1 (a section in world coordinates is swept along the path). Sweep2 is a separate node. |
| Revolve (RevolveSrf) | Revolve (vertical axis) | The profile is drawn on an elevation and revolved around any axis; the new "Angle" input can take a slider. |
- The "Output" of a newly created Loft node defaults to Solid. Loft Surface nodes in old files have no such parameter and remain Rhino meshes, so their values do not change. The AI node catalog lists only the merged nodes; old names sent by the AI are still accepted.
- 3D dimension references: the "Dimension (3D)" node has two new inputs, "Start reference" and "End reference". When you measure on a vertex of a mass or curve with the SketchUp dimension tool, Rhino
dimor the tape measure with D, it connects to that node automatically. The reference records which vertex of that output it is (for example the top of point 2 of the outer outline of prism 0). When upstream changes, the dimension follows; if the vertex disappears, it keeps its last position and a warning appears on the node. Dimensions without a reference use their stored coordinates as before. - Global parameters created by the tape measure with G go into the "Measure" group. When you measure a vertical edge of an extrusion, a "Read Global Parameter" node is created and connected to the extrusion height. See Modeler.
Code nodes and AI skills
- Collapse to code: box-select a group of nodes and press "To code" on the graph toolbar. The group becomes one code node holding a readable program in a TypeScript subset (one
nodes.Rectangle(…)-style call per node). Wires coming in become its inputs; wires going out and geometry without downstream nodes become its outputs (up to 8 each). Results are identical to the original group, and one undo brings the nodes back. Supported for now: Number, Slider, Point, Vector, Series, Range, Remap, Expression, list nodes, Statistics, Line, Polyline, Rectangle, Polygon, Circle, Move, Rotate, Scale and Extrude; other nodes (BIM elements, booleans, meshes…) are listed as "cannot be converted to code yet" and stay as they are. - Edit the code: select a code node and edit its code and input/output names in the properties panel; it applies on blur or with Ctrl+Enter. Type annotations,
type,interfaceandasare supported;import,classandenumare not. Helpers such aspt(),circle(),extrude()andprint()are available. - Sandbox: the code runs in an isolated Web Worker with no network, no DOM and no access to your account or anything outside its own inputs. Each run is limited to 2 seconds and 8 MB of output; beyond that it stops and says why on the node. The card shows how long the node ran in the sandbox.
- Trust: when you open a design someone shared or that you imported, code nodes do not run by default, and the graph shows "This design contains code nodes. Click to trust and run them". Read the code in the properties panel first. Your choice is remembered on this computer per design and code; if the code changes, you are asked again.
- AI skills: press "AI skill" and describe a rule in one sentence, for example "from the 11th floor up, widen the corridor and mark fire compartments". The AI returns one code node (inputs, outputs and code); read it and press "Add and run". From then on it runs deterministically in your browser without calling the AI again. Only your description is sent to the AI, never your design; check any regulatory values against your local code.
- Skill library: save useful skills with "Save to library" (kept on this computer) and place them in other designs with one click; export and import JSON to share them. Imported skills also need "trust and run" after placing.
- Data trees, meshes and surfaces: group inputs can be data trees (computed per branch, paths kept). Moving, rotating or scaling mesh solids or surfaces, slanted extrusions, and the Extrude surface output and thickened shell are computed by the main program with the original nodes, so results match the group. Inside the code these results can only go on to Move, Rotate, Scale or list nodes, or out of the group. When Extrude produces an empty solid, the code node outputs an empty solid too, like the node.
- Expand back and revoke trust: a code node collapsed from a group whose code has not been edited by hand can be put back into its original nodes with "Expand to nodes" in the properties panel (one undo collapses it again); edited ones explain why they cannot. "Revoke trust" on the card stops that code from running in this design; you can also revoke any trusted code one by one under the home account menu → Settings → Trusted code nodes.
Grasshopper map
| Grasshopper | Here | Notes |
|---|---|---|
| Number Slider | Slider | Type a number in the search box. Has min, max, step and unit. |
| Panel | Panel | Shows any input value. |
| Series, Range, Remap | Series, Range, Remap | |
| List Item, Cull Pattern, Reverse, Shift List, Sub List, Split List | Same names | |
| Flatten, Graft, Partition, Merge | Same names | Data tree operations. |
| Expression | Expression | |
| Dispatch, Weave, Stream Filter, Stream Gate | Same names | |
| Sort List, Sort Points, Jitter, Random, Duplicate Data, Repeat Data | Same names | |
| Rectangle, Circle, Polygon, Line, Polyline, Arc | Same names | Shapes drawn in the 3D viewport are these nodes. |
| Offset, Fillet, Divide Curve, Explode, Evaluate Curve, Join, Extend, Split, Trim | Offset, Fillet, Divide, Explode, Evaluate curve, Join, Extend, Split, Trim | |
| Interpolate, Bezier | Same names | |
| Extrude | Extrude | The node the push/pull tool creates. "Output" = Surface gives the surface result of GH Extrude. |
| None (SketchUp push/pull on a face) | Push/pull on face | The node created when you draw a shape on a wall or other face and push or pull it: the closed profile is extruded along its normal by d; with a host, a positive d unions with it and a negative d cuts into it. See Drawing on faces. |
| Solid Union, Difference, Intersection | Solid boolean | One node with an operation setting. Commands union, subtract, intersect. |
| Loft, Ruled Surface, Sweep1, Sweep2, Pipe, Revolution, Network Surface | Loft, Ruled surface, Sweep, Sweep2, Pipe, Revolve, Network Surface | One node each for loft, ruled surface, sweep and revolve (see Merged geometry nodes). |
| Move, Rotate, Scale, Mirror, Orient | Move, Rotate, Scale, Scale (per axis), Mirror, Orient | Nodes created by the Move tool and friends. |
| Linear Array, Polar Array, Rectangular Array, Array along curve | Same names | |
| Area, Volume, Bounding Box, Distance, Closest Point, Deconstruct Brep | Same names | |
| Larger Than, Smaller Than, Equality, Minimum, Maximum, Mass Addition, Bounds | Same names | |
| Vector 2Pt, Amplitude, Unit Vector, Deconstruct Point | Same names | |
| Value List, Button, Graph Mapper | Value List, Button, Graph Mapper | See Input, text and geometry components. |
| Concatenate, Text Split, Text Join, Format | Concatenate, Text Split, Text Join, Format | |
| Construct Domain, Deconstruct Domain, Remap Numbers | Construct Domain, Deconstruct Domain, Remap Numbers | |
| Ellipse, Voronoi, Delaunay, Convex Hull | Ellipse, Voronoi, Delaunay, Convex Hull | |
| Gradient plus Custom Preview | Color by Value | One node does both. |
| Group, Scribble | Group, Scribble, Note | See Groups, scribbles, notes and disable. |
| Disable (Ctrl+E) | Disable | Same Ctrl+E. |
| Bake | Not needed | The 3D viewport is the result. You can select and push/pull there directly. |
| None | Freeze | Stores a node's output as a snapshot node detached from upstream, so you can push/pull it directly. Command freeze. |
| Cluster | Cluster | See Planes, facade subdivision, morphs and clusters. Components and instances are also available: select and press G; editing the definition updates every instance. |
| None | Publish, Linked design, Linked 2D drawing | Cross-design reference: publish in one design, link from another design in the same project; Linked 2D drawing reads the curves, texts and insertion points of a 2D design in the same project (see Linked 2D drawing). |
| Levels (no built-in) | Levels, Grids, Guide | Guide nodes. Levels drives the levels in plan mode. |
| Wall, Door, Window (no built-in) | Wall, Door, Window, Void / shaft, BIM types | Walls and openings drawn in plan mode. |
| Construct Plane, Deconstruct Plane, Plane Normal, Plane 3Pt, Plane Origin, Rotate Plane, Plane Offset | Plane components | See above. |
| Divide Domain², Isotrim, Surface Frames, Quad Panels, Triangle Panels, Surface Box | Facade subdivision | |
| Twist, Bend, Taper, Box Morph | Same | |
| Path Mapper, Data Dam, MD Slider | Same | |
| Value List (Value Cycle, Value Sequence) | Value List modes | |
| Script (C#, Python) | Script node | Coming soon Internal testing only for now. |
This map is maintained by hand. The node list below is generated from the source code.
Node list
| Category | Nodes (other language in small text) |
|---|---|
| Input | BIM types BIM 類型 Larger than 大於 Smaller than 小於 Equality 相等 Minimum 較小值 Maximum 較大值 Mass addition 總和(累加) Bounds 數值範圍 Random 亂數 Jitter 抖動(隨機打亂) Duplicate data 複製資料 Repeat data 重複資料 Sort list 排序清單 Sort points 點排序 Dispatch 分派 Weave 編織 Stream filter 串流選擇 Stream gate 串流閘門 Sub list 子清單 Split list 分割清單 Shortest list 最短清單 Longest list 最長清單 Deconstruct point 拆解點 Vector 2Pt 兩點向量 Amplitude 向量長度設定 Unit vector 單位向量 Value List 值清單 Button 按鈕 Graph Mapper 圖形映射 Concatenate 串接文字 Split Text 分割文字 Text Join 合併文字 Format 格式化文字 Construct Domain 建立定義域 Deconstruct Domain 拆解定義域 Remap Numbers (domains) 重新映射數值(定義域) Construct Domain² 建立二維定義域 Deconstruct Domain² 拆解二維定義域 Divide Domain² 分割二維定義域 Cluster Input 叢集輸入 Path Mapper 路徑對應 Data Dam 資料水壩 MD Slider 二維滑桿 Linked 2D drawing 連結 2D 圖 Collect 收集 Solid reference 實體參照 Number 數值 Slider 滑桿 Boolean 布林 Point 點 Vector 向量 Series 數列 List item 清單取項 Expression 算式 Range 等分區間 Remap 重新映射 Cull 篩選 Reverse 反轉清單 Flatten 攤平 Shift list 清單位移 Graft 分枝 Partition 分組 Merge 合併清單 |
| Curve | Interpolate 內插曲線 Bezier 貝茲曲線 Resample 重取樣 Ellipse 橢圓 Voronoi Voronoi 圖 Delaunay Delaunay 三角網 Convex Hull 凸包 Control-point curve 控制點曲線 Interpolated curve 內插點曲線 Curve fillet / chamfer 曲線圓角/斜角 Blend curve 混接曲線 Tween curves 漸變曲線 Sub-curve 子曲線 Offset curve 偏移曲線 Join curves 接合曲線 Section / Contour 剖面線/等高線 Project curve 投影曲線 Pull curve 拉回曲線 Duplicate edges 複製邊緣 Solid Face 實體的面 Imported curves 匯入曲線 Explode 炸開 Evaluate curve 曲線取點 Polygon 正多邊形 Line 線段 Polyline 多段線 Rectangle 矩形 Circle 圓 Arc 弧 Offset 偏移 Fillet 圓角 Planar boolean 平面布林 Divide 等分 Join 接合 Extend 延伸 Split 分割 Curve intersections 曲線交點 Trim 修剪 |
| Solid | Void / shaft opening 挑空/管道間 Wall 牆 Push/pull on face 面上推拉 Color by Value 依數值上色 Ruled Surface 直紋曲面 Loft Surface (GH) 放樣曲面(GH) Extrude Surface (GH) 擠出曲面(GH) Plane Surface 平面曲面 Isotrim 子曲面 Quad Panels 四邊形面板 Triangle Panels 三角形面板 Surface Box 曲面方盒 Loft 放樣 Sweep1 surface 單軌掃掠曲面 Revolve 迴轉 Cap 封口 Extract surface 抽離曲面 Edge surface 邊緣曲面 Patch 嵌面 Ruled surface 直紋曲面 Sphere 球體 Surface to Solid 曲面加厚 Outer Shell 外殼 Sweep2 雙軌掃掠 Network Surface 網狀曲面 Imported mesh 匯入網格 Extrude 拉伸 Solid boolean 實體布林 Height-plane slice 高度面裁切 Roof 屋頂 Loft (two curves) 放樣(兩條) Loft (sections) 多斷面放樣 Tapered extrude 錐縮拉伸 Freeze 固化 To mesh 轉成網格 Sweep 掃掠 Pipe 管 Revolve (vertical axis) 迴轉(鉛直軸) Shell 抽殼 Door 門 Window 窗 |
| Transform | Code 程式碼 Orient 平面對位 Twist 扭轉 Bend 彎曲 Taper 錐縮變形 Box Morph 方盒變形 Cluster 叢集 Linked design 連結設計 Transform 仿射變換 Rotate 3D 任意軸旋轉 Group members 群組成員 Move 移動 Rotate 旋轉 Scale 縮放 Scale (per axis) 分軸縮放 Mirror 鏡射 Component 元件 Instance 實例 Linear array 線性陣列 Polar array 環形陣列 Rectangular array 矩形陣列 Array along curve 沿曲線陣列 Orient 對位 Edit steps 編輯步驟 |
| Analysis | Area scheme summary (preliminary) 面積方案彙總(初步) Sales area summary (preliminary estimate) 銷售面積彙總(初步估算) Regulation review summary (preliminary) 法規檢討彙總(初步) Parking count check (preliminary) 停車數量檢核(初步) Accessibility check (preliminary) 無障礙檢核(初步) Cost summary (preliminary estimate) 成本摘要(初步估算) Material takeoff (preliminary estimate) 材料數量(初步估算) EEWH score (three indicators, preliminary) EEWH 評分(三項,初估) Daylight factor (preliminary) 採光係數(初步) Natural ventilation (preliminary) 自然通風(初步) Thermal comfort (preliminary) 熱舒適(初步) Distance 距離 Closest point 最近點 Curve closest point 曲線最近點 Area 面積與形心 Volume 體積與形心 Bounding box 外框盒 Deconstruct Brep 拆解實體 Surface Frames 曲面框架 Divide Surface 分割曲面 Evaluate Surface 曲面求值 EEWH massing estimate (preliminary) EEWH 量體估算(初步) EEWH envelope estimate (preliminary) EEWH 外殼簡算(初步) Level at 查樓層 Level info 樓層資訊 Rooms of project (preliminary) 專案的房間(初步) Query elements (preliminary) 查詢元素(初步) Phase filter (preliminary) 階段篩選(初步) 3D Object Sampler 物件取樣 Schedule summary (preliminary) 施工進度摘要(初步) Structure summary (preliminary estimate) 結構摘要(初步估算) Frame analysis (preliminary) 構架分析(初步) Sun hours (preliminary) 日照時數(初步) Type info 類型資訊 Panel 面板 Statistics 統計 Floors 樓板 Measure 量測 |
| Guide | Construct Plane 建立平面 Deconstruct Plane 拆解平面 Plane Normal 法向平面 Plane 3Pt 三點平面 Plane Origin 平面換原點 Rotate Plane 旋轉平面 Plane Offset 偏移平面 Plane 平面 Reference Plane 參考平面 Guide (3D) 導線(3D) Dimension (3D) 尺寸標註(3D) Text (3D) 文字(3D) Levels 樓層基準 Grids 柱格線 Guide 導線 |
| Output | Cluster Output 叢集輸出 Publish 發佈為元件 |
Nodes from the command line
The 3D page's command line creates nodes directly. A new node connects to the current selection, for example select a curve and type extrude 12. Type help for every command. The full table is in 3D modeling › Command line.
rect 0,0 10,8: a 10 × 8 rectangle at the origin.extrude 12: extrude the selected curve by 12.slider 50 0 100: a slider with value 50, range 0 to 100.example flared: load an example (a slider-driven radial flared column).