| rhino_pointC | Add a single point to the document. |
| rhino_lineB | Add a line between two points. |
| rhino_polylineB | Add a polyline through the given points; optionally closed. |
| rhino_arcB | Add an arc by centre, radius, and sweep angle (in degrees). |
| rhino_circleA | Add a circle by centre and radius (optionally on a custom plane). |
| rhino_ellipseB | Add an ellipse on the world XY plane (rhino3dm builds it as a NURBS approximation). |
| rhino_rectangleB | Add a rectangle as a closed polyline on the XY plane. |
| rhino_polygonC | Add a regular polygon (inscribed or circumscribed) on the XY plane. |
| rhino_helixB | Add a helix sampled into a NURBS curve. |
| rhino_spiralC | Add a tapered spiral sampled into a NURBS curve. |
| rhino_nurbs_curveB | Add a NURBS curve from a control polygon. |
| rhino_interpolate_curveB | Add an interpolated NURBS curve passing through the given points. |
| rhino_rebuild_curveB | Rebuild an existing curve with a new point count and degree. |
| rhino_curve_lengthA | Return the curve's parametric domain and approximate length. |
| rhino_curve_point_atA | Evaluate position and tangent at a parameter on the curve. |
| rhino_curve_splitA | Split a curve at the given parameters; original is preserved. |
| rhino_boxC | Add a rectangular box (axis-aligned in standalone mode). |
| rhino_sphereC | |
| rhino_cylinderC | Add a cylinder; in standalone mode the axis must be world Z. |
| rhino_coneB | Add a cone primitive (bridge required for non-Z axes). |
| rhino_torusB | Add a torus primitive (mesh approximation in standalone mode). |
| rhino_boolean_unionB | Boolean-union the given Brep groups. Bridge required. |
| rhino_boolean_differenceA | Subtract b_ids from a_ids. Bridge required. |
| rhino_boolean_intersectionB | Intersect a_ids with b_ids. Bridge required. |
| rhino_shellC | Hollow a closed Brep, optionally leaving the listed faces open. |
| rhino_cap_holesB | Cap all open holes of a Brep. |
| rhino_plane_surfaceB | Add a finite plane (rectangular trim) on the given plane. |
| rhino_extrudeB | Linearly extrude a profile curve by distance along direction. |
| rhino_revolveC | Revolve a profile curve about an axis. |
| rhino_loftB | Loft a sequence of profile curves into a surface. |
| rhino_sweep1A | Sweep profiles along a single rail. |
| rhino_sweep2C | Sweep profiles along two rails. |
| rhino_network_surfaceB | Build a surface from a network of crossing curves. |
| rhino_patchC | Patch a region defined by boundary curves. |
| rhino_blend_surfaceB | Create a blend surface between two edges. |
| rhino_fillet_surfaceB | Create a constant-radius fillet between two surfaces. |
| rhino_offset_surfaceB | Offset a surface by distance along its normal. |
| rhino_mesh_boxC | Add a quad mesh box with the given subdivisions. |
| rhino_mesh_from_surfaceC | Mesh a surface (bridge only). |
| rhino_mesh_from_brepC | Mesh a Brep (bridge only). |
| rhino_weld_meshB | Weld coincident vertices in a mesh. |
| rhino_unweld_meshC | Unweld vertices to break mesh smoothing. |
| rhino_reduce_meshB | Reduce a mesh to a target face count. |
| rhino_mesh_boolean_unionC | |
| rhino_mesh_boolean_differenceB | Boolean-difference meshes (a - b). |
| rhino_moveC | Translate (or copy) the given objects by a vector. |
| rhino_rotateC | Rotate objects about an axis through a centre point. |
| rhino_scaleB | Scale objects non-uniformly about a centre. |
| rhino_mirrorB | Mirror objects across a plane (copies by default). |
| rhino_array_linearC | Array objects along a vector with constant spacing. |
| rhino_array_polarC | Array objects in a polar pattern. |
| rhino_array_rectangularC | Array objects in a 3D rectangular grid. |
| rhino_orientA | Orient objects from one plane to another (PlaneToPlane transform). |
| rhino_selection_bboxD | Return the union bounding box of all objects in the document. |
| rhino_flowC | Flow objects from one curve onto another (bridge only). |
| rhino_cage_editC | Deform objects with a control cage (bridge only). |
| rhino_place_gridA | Replicate a source object on a count_x x count_y grid with given spacing. Returns the new object IDs in row-major (x outer, y inner) order. The
source is preserved; when ``skip_origin`` is True the (0,0) cell is
left untouched and the source itself fills it.
|
| rhino_stack_floorsA | Replicate a source object N times along world +Z with constant spacing. Architectural shortcut for "stack this slab N floors high". The source
sits at level 0; copies populate levels 1 .. floor_count.
|
| rhino_scatterA | Scatter count copies of a source inside a 2-D AABB with optional Z-rotation jitter. The boundary is interpreted in world XY; Z is taken from
``boundary_min.z``. Use ``seed`` for deterministic output.
|
| rhino_replicate_along_curveB | Distribute copies of a source object along a curve at evenly-spaced parameters. With ``align_to_tangent`` (default), each copy is reoriented so that
the world-X direction maps to the curve tangent at its sample point.
``include_endpoints`` controls whether the first/last samples land on
the curve's start/end points.
|
| rhino_text_dotA | Add a small label that always faces the camera in Rhino. |
| rhino_textC | Add 3D text annotation. Bridge mode honours the active dim style; standalone uses text-dot fallback. |
| rhino_annotation_north_arrowA | Draw a north arrow centred on location. ``angle_deg`` rotates the arrow clockwise from world +Y so callers can
adapt to a site whose true north differs from grid north.
|
| rhino_annotation_scale_barA | Draw a divided scale bar with a label. Bar is drawn in document units; the label reports the represented
real-world distance based on ``scale_denominator``.
|
| rhino_annotation_revision_cloudA | Draw a revision cloud (bumpy polyline) around a region of interest with a revision label. |
| rhino_annotation_calloutC | Add a callout (leader + balloon or boxed label). |
| rhino_dimension_linearC | Add a linear dimension between two points. |
| rhino_dimension_alignedB | Add an aligned dimension between two points. |
| rhino_dimension_angularC | Add an angular dimension at a vertex. |
| rhino_leaderB | Add a multi-point leader (with optional text). |
| rhino_hatchC | Add a hatch over the given closed curves. |
| rhino_clipping_planeB | Add a clipping plane to all viewports. |
| rhino_annotation_dimension_styleC | Register a reusable dimension style (bridge only — Rhino DimStyle table). |
| rhino_layer_createB | Create a layer with optional colour and visibility. |
| rhino_layer_deleteA | Delete a layer by name (in standalone mode the layer is hidden + name-prefixed). |
| rhino_layer_set_colorB | Change a layer's display colour. |
| rhino_layer_set_materialA | Bind a render material to a layer so layer-source objects inherit it. Bridge-only: rhino3dm exposes ``material_index`` on the layer but the
in-document material table is read-only. Use ``rhino_material_create``
first to define the material.
|
| rhino_object_move_to_layerB | Reassign one or more objects to a different layer (creating it if absent). |
| rhino_object_selectB | Select objects by ID and/or attribute filters. Filter fields combine with AND semantics. ``object_ids`` short-circuits
the other filters when provided. Standalone mode marks matches with the
``rhino_mcp_selected`` user-string (since rhino3dm has no selection
state); bridge mode delegates to Rhino's native selection.
|
| rhino_object_deleteC | Delete the given objects from the document. |
| rhino_groupC | Group objects together under a (named) group. |
| rhino_material_createB | Create a material with diffuse colour, transparency, and glossiness. |
| rhino_material_assignB | Assign an existing material to one or more objects. |
| rhino_material_preset_listA | List physical-material presets bundled with rhino-mcp. Returns the full catalogue (or a single category subset) so the LLM
can pick a known-good name before calling ``rhino_material_preset_create``.
|
| rhino_material_preset_createA | Create a document material from a bundled physical preset. Standalone uses rhino3dm's basic Material (diffuse / transparency /
shine). Bridge mode also pushes the matching Rhino PBR render
content + IOR for photoreal output. |
| rhino_render_viewportB | Render the active viewport to an image file (bridge required). |
| rhino_environment_setA | Attach an HDRI/EXR environment used for lighting + background (bridge only). |
| rhino_openC | Open a .3dm file and bind it to a doc_id. |
| rhino_saveC | Write the document to disk. |
| rhino_export_objA | Export selected (or all) objects to a Wavefront OBJ file (mesh-only). |
| rhino_export_stlB | Export meshes to an ASCII STL file. |
| rhino_importC | Import an external file into the active document (bridge required for non-3DM). |
| rhino_export_stepA | Export to STEP (bridge required). |
| rhino_export_igesC | Export to IGES (bridge required). |
| rhino_export_dxfB | Export to DXF (bridge required). |
| rhino_screenshotA | Capture a viewport screenshot (bridge required). With ``as_base64=True`` the response includes ``image_base64`` so
the LLM can inspect the render inline. The PNG is also written to
``path`` regardless, for the user to save/share.
|
| rhino_viewport_previewA | Capture a viewport preview restricted to a selection or layer set. Spotlights ``selection_ids`` and/or objects on ``layers``; everything
else is either ghosted (default) or hidden during the capture and
restored afterwards. Useful for multi-step LLM verification flows
where only the recently added objects need to be visualised. Bridge
only.
|
| rhino_areaA | Compute the surface area of a mesh (Brep area requires bridge). |
| rhino_volumeA | Compute the volume of a closed mesh (Brep volume requires bridge). |
| rhino_bounding_boxB | Return the union bounding box of one or more objects. |
| rhino_distanceB | Euclidean distance between two points. |
| rhino_curvature_analysisA | Sample Gaussian/mean curvature of a surface (bridge required). |
| rhino_draft_angleC | Compute draft angles relative to the world Z axis (bridge required). |
| rhino_zebraC | Run zebra-stripe surface continuity analysis (bridge required). |
| rhino_sectionC | Slice the listed objects with a plane (bridge required). |
| rhino_contourC | Generate equally spaced section curves (bridge required). |
| rhino_probe_intersectionB | Cast a ray and report intersection points against Breps/Extrusions. Returns ``hits`` sorted by distance from the ray origin. Bridge-only —
rhino3dm has no ray-shoot primitive.
|
| rhino_list_objectsA | List objects in the document with optional layer/type filter. Returns up to ``limit`` objects starting at ``offset`` (after filters).
The response carries a ``pagination`` block — ``{total, offset, limit,
returned, has_more}`` — so the caller can iterate without guessing.
Async so concurrent ``rhino_*`` queries don't block FastMCP's event
loop while the bridge round-trip is in flight.
|
| rhino_object_infoA | Get detailed info about a single object (geometry type, layer, bbox, etc.). |
| rhino_document_summaryB | Get a high-level summary of the document (object counts, layers, etc.). |
| rhino_layer_listB | List all layers with their properties (color, visibility, object count). |
| rhino_get_user_textA | Read user text (key-value metadata) attached to an object. |
| rhino_set_user_textB | Attach a key-value user text entry to an object. |
| rhino_document_units_getB | Read the current document unit system. |
| rhino_document_units_setB | Set the document unit system, optionally scaling existing geometry. |
| rhino_tolerance_getA | Read absolute / angle / relative model tolerances. |
| rhino_tolerance_setA | Set absolute / angle / (optional) relative tolerances on the document. |
| rhino_origin_setA | Set the model base point. ``mode='reference'`` stores the point as metadata only — useful for
geo-referencing without disturbing existing geometry. ``mode='translate'``
shifts every object so the supplied point becomes the new (0,0,0).
|
| rhino_document_settingsA | Bundled units / tolerances / base point in one call. |
| rhino_validate_brepB | Validate a Brep — closed/solid/manifold, face/edge counts, log of issues. Standalone surfaces ``IsValid``/``IsSolid``/``IsManifold``/edge+face
counts and the rhino3dm validation log. Bridge mode adds a list of
naked-edge identifiers and lengths via RhinoCommon.
|
| rhino_report_mesh_healthB | Mesh health — closed, manifold, vertex/face counts, validity log. |
| rhino_curve_continuityB | Curve sanity — span count, closed flag, planarity, periodic, validity log. |
| rhino_check_naked_edgesA | Enumerate naked edges of a Brep with their lengths (bridge only). Standalone rhino3dm cannot enumerate naked edges. In bridge mode this
forwards to ``Rhino.Geometry.Brep.GetNakedEdges`` and returns
``[{edge_index, length}, ...]`` plus the gap count.
|
| rhino_drawing_sheet_createA | Create a sheet container — a rectangle on layer Sheets::<name> carrying user_text metadata. The rectangle's corners define the sheet bounds; user_text holds the
sheet name, paper size (mm), and scale denominator so subsequent
view-placement / title-block / export tools can re-derive it.
|
| rhino_drawing_view_placeA | Project objects to a 2-D view (Make2D) and place the result on a sheet (bridge only). |
| rhino_drawing_section_cutC | Cut a section through objects with a plane and place the trace on a sheet (bridge only). |
| rhino_drawing_title_block_addB | Add the bottom-right title block, north arrow, and scale bar to a sheet. |
| rhino_drawing_export_pdfC | Export a sheet to PDF (bridge only). |
| rhino_schedule_by_layerB | Aggregate objects per layer with optional filter and sublayer merging. Returns ``rows`` (one entry per layer) plus a ``totals`` block.
|
| rhino_schedule_by_user_textA | Aggregate objects grouping by user_text[group_key] value. Useful for BIM-style schedules: ``group_key='assembly_type'`` produces a
wall/window schedule, ``group_key='material'`` produces a material BOM.
|
| rhino_schedule_by_materialA | Aggregate objects grouped by assigned material name. Standalone treats ``MaterialIndex == -1`` (default material) as
'Default'. Bridge mode resolves each object's effective material via
Rhino's render content lookup.
|
| rhino_object_quantityB | Per-object measurement table — one row per object_id with the requested fields. |
| rhino_schedule_export_csvA | Write rows produced by any rhino_schedule_* tool to CSV. |
| rhino_block_defineA | Create a block definition from a list of objects. Standalone uses ``rhino3dm.InstanceDefinitionGeometry`` to register
the geometry under ``name``. Bridge mode mirrors that and additionally
replaces the source objects with a single instance at the base point
when ``replace_objects=True``.
|
| rhino_block_insertB | Insert a block instance at insertion_point with optional scale + rotation. Standalone constructs a ``rhino3dm.InstanceReferenceGeometry`` and
applies the transform to it. Bridge mode forwards to RhinoCommon's
``Doc.Objects.AddInstanceObject`` which honours the active layer
and links the instance to the definition.
|
| rhino_block_listB | List every block definition with a per-definition object + instance count. |
| rhino_block_explodeC | Explode a block instance into individual objects (bridge only). |
| rhino_block_redefineA | Replace a block definition's geometry, propagating to every instance (bridge only). |
| rhino_sun_positionB | Compute solar azimuth + altitude for a location/time. Pure calculation, no doc edits. |
| rhino_sun_pathB | Draw monthly sun-path polylines on a hemisphere of given radius around center_point. Standalone draws into the active rhino3dm document; bridge mode
forwards so the path is visible in Rhino's viewport.
|
| rhino_shadow_projectB | Project objects' bounding-box corners along sun_vector to the ground plane. Standalone produces a coarse 4-corner shadow polygon per object
(suitable for sketch-grade studies). Bridge mode emits accurate
wireframe-projection shadow polygons.
|
| rhino_direct_irradianceA | Direct Normal Irradiance (W/m^2) clear-sky estimate via Bird + Kasten-Young air mass. Includes Linke turbidity (1 = very clear, 7 = industrial haze) and
site altitude. Pure calculation — no doc edits. |
| rhino_daylight_factorA | BRE simplified daylight factor for a side-lit room. DF = (W * theta * tau * M) / (A_total * (1 - R^2)) (% as decimal).
For early-stage architectural studies; for radiance-grade accuracy
use ladybug-tools or DAYSIM.
|
| rhino_solar_exposure_estimateA | Estimate cumulative solar exposure (lit minutes / total minutes) on an object (bridge only). Bridge implementation samples the time range, casts a ray from the
target's centroid toward the sun at each step, and counts lit
samples (no obstruction along the ray). Returns a 0-1 ratio. |
| rhino_export_ifcA | Export the active document (or a subset) to IFC2x3 / IFC4 / IFC4x3 (bridge only). |
| rhino_import_ifcA | Import an IFC file, mapping each entity to a layer under target_layer_root (bridge only). |
| rhino_export_gbxmlB | Export thermal / structural BIM payload to gbXML (bridge only). |
| rhino_bim_metadata_setA | Tag objects with IFC entity + property-set metadata. Standalone writes ``Pset_RhinoMcp::<key>`` user_text on each object;
bridge mode does the same and additionally pushes into Rhino's IFC
property-set table so a subsequent IFC export carries them across.
|
| rhino_bim_pset_getA | Read PropertySet entries off an object. Bridge mode reads from the live RhinoCommon UserString table; standalone
mode reads from rhino3dm UserStrings on the saved 3dm document. The
result groups properties by PropertySet name (``psets`` field).
|
| rhino_bim_pset_setC | Persist a PropertySet block on an object. |
| rhino_bim_pset_deleteB | Remove every property under a named PropertySet from an object. |
| rhino_camera_setB | Position the active viewport's camera (location + target + lens length). |
| rhino_light_addB | Add a point / spot / directional / rectangular / linear light to the document. |
| rhino_render_setupB | Set render resolution / samples / engine / transparency on the active render context. |
| rhino_render_to_fileC | Execute the configured render and write the result to output_path. |
| rhino_turntable_renderC | Render a turntable sequence (camera orbits around target) to output_dir. |
| rhino_render_queue_submitA | Submit a frame sequence to the bridge render queue (bridge only). Returns a ``job_id`` immediately while frames are captured on a
background worker. Use ``rhino_render_queue_status`` to poll
progress and ``rhino_render_queue_cancel`` to interrupt. The v0.5
backend captures viewport frames (``_-ViewCaptureToFile``); true
photo-realistic engine integration is on the roadmap.
|
| rhino_render_queue_statusA | Inspect a queued render job's status, progress, and completed frames. |
| rhino_render_queue_cancelA | Cancel a running or queued render job. |
| rhino_render_queue_listA | List recent render jobs and their progress. |
| rhino_skin_from_sectionsA | Generate a skin (loft-equivalent) through ordered section curves. - Standalone: chains ``CreateRuledSurface`` between adjacent section
pairs and returns the list of surface IDs; the caller can join them
downstream if needed.
- Bridge: emits a single Brep loft via ``Brep.CreateFromLoft``.
|
| rhino_section_at_axisA | Slice a surface (or Brep / mesh in bridge) into count section curves. Standalone supports ``axis='u'`` and ``axis='v'`` (surface isocurves).
World-axis slicing (``axis='x'/'y'/'z'``) requires bridge mode.
|
| rhino_axis_ribsA | Generate two orthogonal sets of section ribs (waffle-style fabrication, bridge only). |
| rhino_uv_grid_panelsA | Sample a surface on a regular UxV grid and emit it as panels. ``output='mesh'`` writes a single quad mesh (one face per panel) to
the doc; ``'curves'`` writes count_u+count_v isocurves; ``'corners'``
only returns the (count_u+1) x (count_v+1) sample points without
writing geometry.
|
| rhino_panel_planarityA | Per-panel planarity report on a UxV grid sampled from a surface. Each cell's planarity error = distance of the 4th corner from the
plane fitted through the first three. Cells whose error > tolerance
are flagged. The returned ``stats`` block summarises max / mean /
non-planar count for high-level reporting.
|
| rhino_panel_curvature_classifyB | Classify each UxV panel by curvature class (planar / single_* / synclastic / anticlastic). Standalone uses a 4-corner normal heuristic (no full Gaussian K).
Bridge mode reports true Gaussian + mean curvature per cell.
|
| rhino_surface_normal_atA | Evaluate the surface unit normal at a normalised (u, v). ``u`` and ``v`` are 0..1 ratios over the surface's domain; the
actual parameters are computed internally so the LLM doesn't need
to know the domain bounds.
|
| rhino_surface_developable_scoreA | Estimate how far a surface deviates from being developable. Samples a (sample_u+1) x (sample_v+1) grid of normals; for each
interior 2x2 block computes the maximum angle (in radians) between
adjacent normals. Reports max / mean / RMS over the whole sheet
plus a 0..1 normalised score (0 = perfectly developable,
1 = π/2 normal swing within a single cell).
A truly developable surface (cone, cylinder, plane) returns ~0;
a sphere section returns a positive value proportional to the
spanned solid angle.
|
| rhino_surface_curvature_atB | Evaluate true Gaussian / mean / principal curvatures at (u, v) (bridge only). |
| rhino_attractor_displace_pointsA | Displace each input point along the vector to an attractor with a falloff. Positive ``strength`` pulls toward the attractor; negative pushes
away. The attractor is either a fixed point (``attractor_point``)
or a curve (``attractor_curve_id``); for curves each point's
attractor is the closest sample on the curve.
Returns the *new* point IDs (the originals are deleted; this is a
form-finding move, not a duplicating one).
|
| rhino_smooth_polylineA | Apply Laplacian smoothing to a polyline (or NURBS curve via its control points). Each iteration replaces every interior point P_i with
``(1 - factor) * P_i + factor * (P_{i-1} + P_{i+1}) / 2``.
With ``pin_endpoints=True`` the first and last points are held.
Returns the new curve's object_id (the input is replaced).
|
| rhino_search_rhinoscript_functionsA | Search RhinoScript functions by keyword or description. Use this BEFORE writing any RhinoScript Python code to find correct
function names and signatures. Returns matching functions sorted by
relevance.
Example queries: "loft surface", "boolean union", "rotate object",
"create curve", "extrude".
|
| rhino_get_rhinoscript_docsA | Get comprehensive RhinoScript documentation for a topic. CRITICAL: You MUST call this tool before using rhino_execute_python.
Returns full signatures, parameter descriptions, return values, and
optional code examples for the most relevant functions.
|
| rhino_list_rhinoscript_modulesA | List all available RhinoScript modules with function counts. Use this to discover what areas of the API are available when you
are not sure which module contains the functions you need. |
| rhino_get_module_functionsA | Get all functions in a specific RhinoScript module with signatures. Use rhino_list_rhinoscript_modules() first to see available modules,
then call this to browse a module's full API.
|
| rhino_bridge_list_instancesA | Enumerate live Rhino bridge endpoints discovered via announcement files. Returns one row per running Rhino on this host. Each row carries
``pid``, ``host``, ``port``, ``doc_path``, ``doc_title``, version, and
an ``alive`` flag derived from a cheap TCP probe.
|
| rhino_bridge_select_instanceA | Switch the next bridge call to target a specific Rhino session. Exactly one selector among ``pid``, ``port``, ``doc_path_contains``,
and ``index`` should be set. The active bridge client is closed; the
next tool call goes through lazy promotion against the new endpoint.
|
| rhino_execute_pythonA | Execute RhinoScript Python code in a live Rhino session. CRITICAL — BEFORE USING THIS TOOL:
1. Call rhino_get_rhinoscript_docs(topic) to find correct signatures.
2. Read the documentation carefully — note exact parameter types.
3. Write code using ONLY the documented signatures.
4. Call this tool with the code.
Code requirements:
- Import rhinoscriptsyntax: ``import rhinoscriptsyntax as rs``
- Use ``print()`` to return output/results to the caller.
- Handle ``None`` returns from functions that might fail.
Changes are wrapped in an undo record and will be reverted on failure.
Returns ``success``, ``output`` (print capture), and ``message``
(error details on failure).
|
| rhino_execute_csharpA | Execute RhinoCommon C# code in a live Rhino session using Roslyn. SAFETY: This tool runs arbitrary code with full RhinoCommon access.
It is gated behind ``RHINO_MCP_ALLOW_CSHARP=1`` so it cannot fire
accidentally. Set the env var only in trusted sessions.
Globals available to the script:
- ``doc``: the active ``RhinoDoc``
- ``output``: a ``StringBuilder`` — call ``output.AppendLine("...")``
to return text to the caller.
Pre-imported namespaces: System, System.Collections.Generic,
System.Linq, System.Text, Rhino, Rhino.Geometry, Rhino.DocObjects,
Rhino.Commands. Pass ``references`` to load extra assemblies (e.g.
``Grasshopper``).
Example — create a sphere::
var sphere = new Sphere(Point3d.Origin, 5.0);
doc.Objects.AddBrep(sphere.ToBrep());
doc.Views.Redraw();
output.AppendLine("Created sphere");
Changes are wrapped in an undo record. ``timeout_s`` caps total
execution time (default 30s); on timeout the call returns
``success: false`` and the script is best-effort cancelled.
|
| rhino_undoA | Undo the last operation(s) in the Rhino document. Each step reverses one undo record. Changes made by MCP tools
are grouped into undo records automatically. |
| rhino_redoC | Redo the last undone operation(s) in the Rhino document. |
| rhino_batch_modifyA | Modify many objects in a single call. Each spec can include any combination of: translation, rotation,
scale, colour, layer, visibility, and name. All changes are wrapped
in one undo record — ``rhino_undo(steps=1)`` reverts the entire batch.
When ``apply_to_all`` is ``True``, the modifications from the first
spec are applied to every object in the document.
|
| rhino_batch_callA | Dispatch multiple bridge methods in a single round-trip. IMPORTANT: ``steps[].method`` is a **bridge dispatcher route**, not
an MCP tool name. The MCP tool ``rhino_layer_create`` maps to the
dispatcher route ``rhino.layer.create``; ``rhino_document_summary``
maps to ``rhino.query.document_summary`` (NOT ``rhino.document.summary``).
Standalone-only tools (``rhino_set_user_text`` etc. that have no
``bridge_call`` path) cannot be batched. A wrong route name returns
an ``error`` row with ``HandlerError``; the batch aborts when
``on_error='stop'``.
Measured impact (v0.6.x, localhost): direct sequential layer.create
~580ms/op vs batched ~340ms/op — N x ~240ms saved per batch (the
MCP↔bridge round-trip cost paid once instead of N times). Effective
for any workflow that issues >5 bridge calls back-to-back.
Returns ``{summary: {total, ok, failed, on_error}, results: [...]}``
where each ``results`` entry has ``index``, ``method``, ``status``
(``"ok"`` | ``"error"``), and either ``result`` or ``error``.
|
| rhino_bendC | Bend objects along an axis through a specified point. |
| rhino_twistC | Twist objects around an axis by a specified angle. |
| rhino_taperC | Taper objects along an axis with start/end radii. |
| rhino_flow_along_curveC | Reposition objects from a base curve onto a target curve. |
| rhino_rebuild_surfaceC | Rebuild a surface with new point counts and degrees in U/V. |
| rhino_surface_from_pointsB | Create a NURBS surface from a 2D grid of control points. |
| rhino_unrollA | Unroll a developable surface or polysurface flat. |
| rhino_surface_closest_pointA | Find the UV parameters and 3D point closest to a test point on a surface. |
| rhino_evaluate_surfaceA | Evaluate a surface at UV parameters to get 3D point, normal, and tangents. |
| rhino_create_subdB | Create a SubD object from an existing mesh. |
| rhino_subd_to_nurbsC | Convert a SubD object to a NURBS polysurface (Brep). |
| rhino_match_surfaceC | Adjust a surface edge to match the continuity of a target surface. |
| rhino_blend_surface_edgesB | Create a blend surface connecting two surface edges with continuity control. |
| rhino_merge_surfacesC | Merge multiple surfaces into a single surface. |
| rhino_dup_edgeC | Extract edge curves from a Brep (all or specific indices). |
| rhino_dup_borderC | Extract border curves from a surface or mesh. |
| rhino_isocurveB | Extract an isocurve from a surface at a specific U or V parameter. |
| rhino_make2dC | Generate a 2D drawing projection of 3D objects. |
| rhino_get_control_pointsA | Get all control points (and weights) of a NURBS curve or surface. |
| rhino_set_control_pointsC | Replace control points of a NURBS curve or surface. |
| rhino_panelize_surfaceC | Subdivide a surface into panels (quad, triangle, or diamond). |
| rhino_create_uv_gridB | Create a point grid on a surface at even UV intervals. |
| rhino_panel_framesC | Generate oriented frames (planes) at panel centres for construction. |
| rhino_view_setC | Activate a saved named view. |
| rhino_zoom_extentA | Zoom the active view to the extent of selected (or all) objects. |
| rhino_named_view_saveB | Save the current camera as a named view. |
| rhino_display_mode_setA | Switch the active viewport's display mode. |
| rhino_turntableC | Render a turntable animation to output_path (PNG sequence or GIF). |
| rhino_zoom_objectA | Zoom the active viewport to fit the given object ids exactly. |
| rhino_zoom_layerA | Zoom the active viewport to fit every object on layer. |
| rhino_viewport_imageA | Save the current viewport pixels to a PNG file. Lightweight alternative to ``rhino_render_to_file`` — no render engine
is invoked, just a viewport bitmap dump. Use 0 for ``width``/``height``
to inherit the on-screen viewport size.
|
| gh_add_componentB | Drop a Grasshopper component onto the active canvas. |
| gh_connect_componentsB | Create a wire from one component output to another component input. |
| gh_connect_manyA | Add multiple wires in a single round-trip. Returns a per-row ``results`` array so partial failures are visible
(each row carries ``status`` and, on error, ``error``).
|
| gh_delete_componentB | Remove a component from the canvas. |
| gh_component_listA | List components currently on the active canvas (optionally filtered). |
| gh_cluster_createB | Group components into a named cluster. |
| gh_cluster_expandC | Expand a cluster back into its constituent components. |
| gh_plugin_listA | Enumerate Grasshopper plugin libraries currently loaded. Returns one entry per ``GH_AssemblyInfo`` library: id, name, author,
version, description, and the on-disk path. Useful for the LLM to
discover whether the user has LunchBox / Ladybug / Kangaroo etc.
installed before attempting to drop in a custom component.
|
| gh_components_searchA | Search the Grasshopper component catalog (built-in + plugin-supplied). Returns ``rows`` of ``{guid, name, nickname, category, subcategory,
description, plugin}`` and a ``summary`` block with match counts.
Use this to find the GUID needed by ``gh_add_component`` before
dropping a component on the canvas.
|
| gh_get_parameterB | Read the current value of a component parameter. |
| gh_set_parameterC | Push a value into a component parameter. |
| gh_set_sliderC | Set a Number Slider component to a numeric value. |
| gh_set_panelB | Set the text contents of a Panel component. |
| gh_set_toggleB | Set a Boolean Toggle component to true or false. |
| gh_place_sliderA | Create a Number Slider on the canvas with bounds and initial value. Returns the new ``component_id`` so subsequent ``gh_connect_components``
or ``gh_set_slider`` calls can target it.
|
| gh_open_fileC | Open a Grasshopper definition. |
| gh_save_fileA | Save the active Grasshopper definition. |
| gh_new_canvasB | Create a fresh empty Grasshopper canvas. |
| gh_runC | Run the current solution. |
| gh_resetA | Reset the canvas (clear cached solution). |
| gh_preview_toggleA | Toggle preview on/off for a list of components (or all). |
| gh_bake_to_rhinoB | Bake the output of one or more components into the active Rhino document. |
| gh_data_tree_getB | Read a component output as a DataTree (list of branches). |
| gh_data_tree_setC | Push a DataTree into a component input. |
| gh_data_tree_get_batchA | Read multiple component outputs in a single bridge round-trip. |
| gh_data_tree_set_batchA | Apply many DataTree assignments at once with a single GH solve. With ``defer_solve=True`` (default) the GH document is paused while
the assignments are applied and recomputed exactly once at the end —
critical for parameter sweeps where N independent ``set`` calls
would otherwise trigger N solver runs.
|
| gh_template_listA | List bundled Grasshopper templates with their parameter contracts. ``available=False`` means the .gh binary has not been shipped yet —
the contract is described in the manifest but loading it will fail
until the binary is placed alongside the manifest.
|
| gh_load_templateC | Open a bundled template on the canvas and return its template_id + parameter map. |
| gh_bind_template_parameterA | Set a single named parameter on a loaded template (slider / panel / toggle). |
| gh_run_templateC | Force a fresh solution and (optionally) bake the declared outputs. |
| rhino_launchB | Launch Rhino and wait for it to become ready.
Args:
controller: RhinoController instance.
wait_seconds: Seconds to wait for Rhino to start (default 12).
Returns:
Dict with launch result.
|
| rhino_named_viewsB | Manage named views: list, save, restore, or delete.
Args:
controller: RhinoController instance.
action: One of 'list', 'save', 'restore', 'delete'.
view_name: Name of the view (required for save/restore/delete).
Returns:
Dict with command result or list of named views.
|
| rhino_cmd_redoC | Redo one or more operations.
Args:
controller: RhinoController instance.
steps: Number of redo steps (default 1).
Returns:
Dict with the result of the last redo command.
|
| rhino_set_cplaneC | Set the construction plane origin for the specified viewport.
Args:
controller: RhinoController instance.
view: Viewport name (Perspective, Top, Front, Right, etc.).
origin_x: X coordinate of the new CPlane origin.
origin_y: Y coordinate of the new CPlane origin.
origin_z: Z coordinate of the new CPlane origin.
Returns:
Dict with command result.
|
| rhino_set_gridB | Configure viewport grid settings.
Args:
controller: RhinoController instance.
grid_snap: Snap spacing size (default 1.0).
minor_gridlines: Number of minor grid lines (default 10).
major_gridlines: Number of major grid lines per minor (default 10).
Returns:
Dict with command result.
|
| rhino_set_osnapB | Set active object snap modes.
Args:
controller: RhinoController instance.
modes: List of osnap mode names to enable, e.g.
['End', 'Mid', 'Cen', 'Int', 'Near', 'Point'].
Pass an empty list to disable all.
Defaults to ['End', 'Mid', 'Cen', 'Int', 'Near'].
Returns:
Dict with command result.
|
| rhino_set_snapA | Enable or disable grid snap and set snap spacing.
Args:
controller: RhinoController instance.
enabled: True to enable snap, False to disable.
snap_size: The snap grid size (default 1.0).
Returns:
Dict with command result.
|
| rhino_set_unitsB | Set the document unit system.
Args:
controller: RhinoController instance.
unit_system: One of Millimeters, Meters, Centimeters, Inches, Feet, etc.
Returns:
Dict with command result.
|
| rhino_statusC | Return the current Rhino connection status plus the default files directory.
Args:
controller: RhinoController instance.
Returns:
Dict containing status info and rhino_files_dir.
|
| rhino_system_infoB | Retrieve Rhino system information.
Args:
controller: RhinoController instance.
Returns:
Dict with system info output.
|
| rhino_cmd_undoC | Undo one or more operations.
Args:
controller: RhinoController instance.
steps: Number of undo steps (default 1).
Returns:
Dict with the result of the last undo command.
|
| rhino_document_propertiesC | Open the Document Properties dialog.
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_exportA | Select all geometry and export to a file.
The export format is inferred from the file extension; ``export_type``
is used as the extension if ``file_name`` has none.
Args:
controller: RhinoController instance.
file_name: Output filename (e.g. 'model.stl') or full path.
folder: Optional folder override.
export_type: File extension / format if not included in file_name
(default 'stl').
Returns:
Dict with command result.
|
| rhino_cmd_importC | Import geometry from an external file into the current document.
Args:
controller: RhinoController instance.
file_path: Absolute path to the file to import.
Returns:
Dict with command result.
|
| rhino_list_saved_filesB | List all files in the default RhinoFiles directory (D:/RhinoFiles).
Args:
controller: RhinoController instance.
Returns:
Dict with 'files' key containing list of file info dicts,
and 'directory' key with the scanned path.
|
| rhino_new_documentB | Create a new Rhino document, optionally from a template.
Args:
controller: RhinoController instance.
template: Path to a .3dm template file. If empty, opens a blank document.
Returns:
Dict with command result.
|
| rhino_open_fileC | Open an existing Rhino file.
Args:
controller: RhinoController instance.
file_path: Absolute path to the .3dm file to open.
Returns:
Dict with command result.
|
| rhino_purgeB | Purge unused document objects to reduce file size.
Args:
controller: RhinoController instance.
purge_unused_layers: Remove layers with no geometry (default True).
purge_unused_blocks: Remove unreferenced block definitions (default True).
purge_unused_materials: Remove unreferenced materials (default True).
Returns:
Dict with command result.
|
| rhino_revertC | Revert the current document to its last saved state.
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_cmd_saveB | Save the current document to its existing file path.
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_save_asA | Save the current document under a new name/location.
If ``file_name`` is not an absolute path it is resolved relative to
D:/RhinoFiles (or ``folder`` if provided).
Args:
controller: RhinoController instance.
file_name: Desired filename (e.g. 'mymodel.3dm') or full path.
folder: Optional folder override.
Returns:
Dict with command result.
|
| rhino_save_copyA | Save a copy of the current document without changing the active file path.
Args:
controller: RhinoController instance.
file_name: Desired filename or full path for the copy.
folder: Optional folder override.
Returns:
Dict with command result.
|
| rhino_cmd_boxA | Create a box (rectangular cuboid) in Rhino.
The box is defined by its bottom-left-front corner (x, y, z) and its
opposite corner derived from length/width, then extruded to *height*.
Args:
controller: RhinoController instance.
x, y, z: World-space origin of the box base corner.
length: Size along the X axis.
width: Size along the Y axis.
height: Extrusion height along the Z axis.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_coneA | Create a cone in Rhino.
Args:
controller: RhinoController instance.
x, y, z: Center of the base circle.
radius: Base radius.
height: Height of the cone (apex above base).
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_cylinderB | Create a closed cylinder in Rhino.
Args:
controller: RhinoController instance.
x, y, z: Center of the base circle.
radius: Base radius.
height: Height of the cylinder.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_ellipsoidA | Create an ellipsoid in Rhino.
Rhino prompts: center -> end of first axis -> end of second axis ->
end of third axis. We supply the three semi-axis end-points along
the world X, Y, Z directions respectively.
Args:
controller: RhinoController instance.
x, y, z: Center of the ellipsoid.
rx: Semi-axis length along X.
ry: Semi-axis length along Y.
rz: Semi-axis length along Z.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_paraboloidA | Create a paraboloid surface in Rhino using the Paraboloid command.
Rhino prompts: focus/apex point -> radius at base -> height.
Args:
controller: RhinoController instance.
x, y, z: Apex (tip) of the paraboloid.
radius: Radius of the open base circle.
height: Height from apex to base.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_pipe_from_curveA | Create a pipe solid around a previously created (or selected) curve.
The function first runs *curve_select_cmd* to select the rail curve,
then runs the Pipe command with the given radius and cap style.
Args:
controller: RhinoController instance.
curve_select_cmd: Rhino command used to select the curve before
piping (default: '_SelLast' selects the most
recently created object).
radius: Pipe outer radius.
cap: If True, caps the pipe ends (solid); otherwise
leaves them open.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_plane_surfaceB | Create a flat rectangular NURBS surface in Rhino.
Args:
controller: RhinoController instance.
x, y, z: First corner of the surface.
length: Size along the X axis.
width: Size along the Y axis.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_pyramidB | Create a regular pyramid in Rhino.
Args:
controller: RhinoController instance.
x, y, z: Center of the base polygon.
sides: Number of sides for the base polygon (>= 3).
radius: Circumradius of the base polygon.
height: Height of the pyramid apex above the base.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_sphereC | Create a sphere in Rhino.
Args:
controller: RhinoController instance.
x, y, z: World-space center point.
radius: Sphere radius.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_torusB | Create a torus in Rhino.
Args:
controller: RhinoController instance.
x, y, z: World-space center of the torus.
major_radius: Distance from the torus center to the tube center.
minor_radius: Radius of the tube cross-section.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_truncated_coneA | Create a truncated cone (frustum) in Rhino using the TruncatedCone command.
Rhino prompts: base center -> base radius -> height -> top radius.
Args:
controller: RhinoController instance.
x, y, z: Center of the base circle.
bottom_radius: Radius of the base (larger) circle.
top_radius: Radius of the top (smaller) circle.
height: Height between the two circles.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_tubeB | Create a hollow cylindrical tube in Rhino.
Args:
controller: RhinoController instance.
x, y, z: Center of the base annulus.
outer_radius: Outer radius of the tube.
thickness: Wall thickness (inner_radius = outer_radius - thickness).
height: Height of the tube.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_arcA | Draw an arc by center, radius, and angular span.
Rhino's Arc command (center mode) prompts:
center -> radius -> start angle -> end angle.
Args:
controller: RhinoController instance.
cx, cy, cz: Center of the arc circle.
radius: Arc radius.
start_angle: Starting angle in degrees (measured from +X axis).
end_angle: Ending angle in degrees.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_circleB | Draw a circle by center and radius.
Args:
controller: RhinoController instance.
cx, cy, cz: World-space center of the circle.
radius: Circle radius.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_ellipseB | Draw an ellipse by center, X semi-axis, and Y semi-axis.
Args:
controller: RhinoController instance.
cx, cy, cz: Center of the ellipse.
rx: Semi-axis radius along X.
ry: Semi-axis radius along Y.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_extend_curveC | Extend the selected curve by a fixed length from one or both ends.
The curve must be pre-selected before calling this function.
Args:
controller: RhinoController instance.
length: Extension length.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_fair_curveA | Fair (smooth) the selected curve using Rhino's FairCrv command.
The curve must be pre-selected before calling this function.
Args:
controller: RhinoController instance.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_freeform_curveA | Create a control-point (freeform) NURBS spline.
The curve is defined by its control polygon; it does NOT pass through
interior points (only through the first and last control point when the
degree allows).
Args:
controller: RhinoController instance.
points: Control polygon vertices as (x, y, z) tuples.
degree: Polynomial degree (default 3 = cubic B-spline).
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_helixA | Create a cylindrical helix curve in Rhino.
This is a special case of rhino_spiral where start_radius == end_radius.
Args:
controller: RhinoController instance.
x, y, z: Base point (axis start).
pitch: Vertical distance per full turn.
turns: Number of full turns.
radius: Constant radius of the helix.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_interpcrvC | Create an interpolated NURBS curve that passes through all given points.
Args:
controller: RhinoController instance.
points: Ordered list of (x, y, z) tuples (>= 2).
degree: Polynomial degree of the resulting curve (default 3 = cubic).
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_lineC | Draw a straight line between two world-space points.
Args:
controller: RhinoController instance.
x1, y1, z1: Start point.
x2, y2, z2: End point.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_offset_curveA | Offset the currently selected curve by a specified distance.
The curve must be pre-selected before calling this function.
Args:
controller: RhinoController instance.
distance: Perpendicular offset distance.
through_point: Optional 'x,y,z' string to offset through a point
instead of using *distance*.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_polygonA | Draw a regular polygon by center and circumradius.
Args:
controller: RhinoController instance.
cx, cy, cz: Center of the polygon.
sides: Number of sides (>= 3).
radius: Circumradius (vertex distance from center).
inscribed: If True, polygon is inscribed in a circle of *radius*;
if False, polygon is circumscribed around that circle.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_polylineC | Draw an open polyline through a list of 3-D points.
Args:
controller: RhinoController instance.
points: Ordered list of (x, y, z) tuples (>= 2 required).
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_rebuild_curveB | Rebuild the selected curve with a specified number of control points and degree.
The curve must be pre-selected before calling this function.
Args:
controller: RhinoController instance.
point_count: Target number of control points.
degree: Target polynomial degree.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_rectangleC | Draw a planar rectangle defined by two corner points.
Args:
controller: RhinoController instance.
x, y, z: First corner of the rectangle.
width: Size along the X axis.
height: Size along the Y axis.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_spiralA | Create a spiral (conical helix) curve in Rhino.
Rhino Spiral prompts: axis start -> axis end -> start radius -> end radius.
We place the axis start at (x, y, z) and axis end at (x, y, z + pitch*turns).
Args:
controller: RhinoController instance.
x, y, z: Base point (axis start).
pitch: Vertical distance per turn.
turns: Number of full turns.
start_radius: Radius at the base of the spiral.
end_radius: Radius at the top of the spiral.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_blend_srfA | Create a blend surface between two surface edges.
Pre-select the two naked edges before calling.
Args:
controller: RhinoController instance.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_edge_srfA | Build a surface from 2, 3, or 4 edge/curve inputs.
Pre-select the bounding edges (2-4) before calling.
Args:
controller: RhinoController instance.
num_edges: Number of edge curves (2, 3, or 4).
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_loftA | Loft through a set of profile curves.
The curves are first selected using *curve_selection*, then the Loft
command is run with the requested style.
Args:
controller: RhinoController instance.
curve_selection: Rhino command to select the profile curves
(default '_SelLast').
style: Loft style keyword: Normal | Loose | Tight |
Straight | Developable | Uniform.
closed: If True, adds '_Closed=_Yes' to create a
closed (periodic) loft.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_match_srfB | Match the edge of one surface to another for G0/G1/G2 continuity.
Pre-select the edge to adjust before calling.
Args:
controller: RhinoController instance.
continuity: Continuity type: 'Position', 'Tangency', or 'Curvature'.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_network_srfA | Build a surface through a network of intersecting curves.
Pre-select the network curves before calling.
Args:
controller: RhinoController instance.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_offset_srfA | Offset a surface by a specified distance, optionally creating a solid.
Pre-select the surface before calling.
Args:
controller: RhinoController instance.
distance: Offset distance (positive = outward along normals).
solid: If True, caps the sides to create a closed solid.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_patchB | Fit a patch surface to the selected curves or point objects.
Args:
controller: RhinoController instance.
u_spans: Number of surface spans in the U direction.
v_spans: Number of surface spans in the V direction.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_planar_srfA | Fill planar closed curves with a planar surface.
Pre-select the boundary curves before calling.
Args:
controller: RhinoController instance.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_rail_revolveA | Rail-revolve: revolve a profile along a rail path curve.
Pre-select the profile curve and rail curve before calling.
Args:
controller: RhinoController instance.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_revolveA | Revolve the selected profile curve around the World Z axis.
The profile curve and axis start/end points must be pre-selected or
implied by the current selection. The axis is assumed to run along
the world Z axis through the origin (0,0,0) -> (0,0,1).
Args:
controller: RhinoController instance.
angle: Total revolution angle in degrees (360 = full solid).
start_angle: Starting angle in degrees (0 = +X direction).
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_shrink_trimmed_srfA | Shrink the underlying surface to its trim boundary.
Pre-select the trimmed surface before calling.
Args:
controller: RhinoController instance.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_srf_from_3_4_ptsB | Create a surface from 3 or 4 corner points.
Args:
controller: RhinoController instance.
pts: List of 3 or 4 points; each element is an (x, y, z) tuple
or a 'x,y,z' string.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_sweep1B | Sweep a profile curve along a single rail curve.
Typical workflow:
1. Select the rail curve with *rail_select*.
2. Select the profile curve(s) with *profile_select*.
3. Run Sweep1 and accept defaults.
Args:
controller: RhinoController instance.
rail_select: Rhino command to select the rail curve.
profile_select: Rhino command to select the profile curve(s).
closed: If True, produces a closed sweep.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_sweep2A | Sweep a profile along two rail curves.
Pre-select the two rail curves and at least one profile curve before
calling this function.
Args:
controller: RhinoController instance.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_tween_surfacesA | Generate tween (morphed intermediate) surfaces between two surfaces.
Pre-select the two source surfaces before calling.
Args:
controller: RhinoController instance.
count: Number of intermediate tween surfaces to generate.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_variable_blend_srfA | Create a variable-radius blend surface between two surface edges.
Pre-select the two naked edges before calling.
Args:
controller: RhinoController instance.
Returns:
Dict with 'status' and 'command' keys.
|
| rhino_cmd_boolean_differenceC | Boolean difference: subtract selected cutters from base objects.
Args:
controller: RhinoController instance.
delete_input: Delete input cutter objects after the operation.
|
| rhino_cmd_boolean_intersectionC | Boolean intersection of selected closed polysurfaces / solids.
Args:
controller: RhinoController instance.
|
| rhino_boolean_splitC | Boolean split: split objects with cutting surfaces / polysurfaces.
Args:
controller: RhinoController instance.
|
| rhino_cmd_boolean_unionC | Boolean union of selected closed polysurfaces / solids.
Args:
controller: RhinoController instance.
|
| rhino_cap_planar_holesA | Cap planar holes in open polysurfaces to create closed solids.
Args:
controller: RhinoController instance.
|
| rhino_close_holeB | Close (cap) a planar hole in an open polysurface or mesh.
Args:
controller: RhinoController instance.
|
| rhino_explodeB | Explode selected polysurfaces, blocks, or groups into component parts.
Args:
controller: RhinoController instance.
|
| rhino_extrude_curveB | Extrude selected curve(s) to create a solid or surface.
Args:
controller: RhinoController instance.
distance: Extrusion distance.
both_sides: Extrude in both directions symmetrically.
solid: Create a closed solid (cap ends).
delete_input: Delete the input curve after extrusion.
|
| rhino_extrude_surfaceB | Extrude selected surface(s) by a given distance.
Args:
controller: RhinoController instance.
distance: Extrusion distance.
both_sides: Extrude in both directions symmetrically.
solid: Create a closed solid.
|
| rhino_joinB | Join selected surfaces, curves, or polysurfaces into a single object.
Args:
controller: RhinoController instance.
|
| rhino_merge_all_facesB | Merge all coplanar adjacent faces in selected polysurfaces.
Args:
controller: RhinoController instance.
|
| rhino_multi_pipeA | Create a multi-pipe from selected curves.
Args:
controller: RhinoController instance.
radius: Pipe radius at each curve.
|
| rhino_push_pullB | Push or pull a selected sub-face of a solid by a given distance.
Args:
controller: RhinoController instance.
distance: Push/pull distance (positive = outward, negative = inward).
|
| rhino_ribC | Create a rib feature on a solid from selected curves.
Args:
controller: RhinoController instance.
width: Rib width.
thickness: Rib thickness.
|
| rhino_cmd_shellB | Shell selected solid, removing one or more faces and offsetting the rest.
Args:
controller: RhinoController instance.
thickness: Shell wall thickness.
|
| rhino_slabC | Create a slab (extruded planar surface with thickness) from curves.
Args:
controller: RhinoController instance.
thickness: Slab thickness.
|
| rhino_solid_pt_onB | Enable solid point editing for selected polysurfaces.
Args:
controller: RhinoController instance.
|
| rhino_wire_cutB | Cut a solid with a wire (curve) extruded through the object.
Args:
controller: RhinoController instance.
depth: Cut depth (extrusion distance of the wire).
|
| rhino_align_mesh_verticesB | Align mesh vertices that are within the given tolerance of each other.
Args:
controller: RhinoController instance.
tolerance: Distance tolerance for vertex alignment.
|
| rhino_flip_mesh_normalsB | Flip the normals of selected mesh faces.
Args:
controller: RhinoController instance.
|
| rhino_cmd_mesh_boolean_differenceC | Boolean difference of selected closed meshes.
Args:
controller: RhinoController instance.
|
| rhino_mesh_boolean_intersectionB | Boolean intersection of selected closed meshes.
Args:
controller: RhinoController instance.
|
| rhino_cmd_mesh_boolean_unionC | Boolean union of selected closed meshes.
Args:
controller: RhinoController instance.
|
| rhino_mesh_from_nurbsA | Convert selected NURBS surfaces / polysurfaces to a render mesh.
Args:
controller: RhinoController instance.
max_angle: Maximum angle between mesh normals (degrees).
max_aspect: Maximum aspect ratio of mesh faces (0 = ignore).
max_distance: Maximum distance from mesh edge to surface.
max_edge: Maximum mesh edge length (0 = ignore).
min_edge: Minimum mesh edge length.
min_initial_grid: Minimum initial grid quads per surface.
refine: Refine the mesh for better quality.
jagged_seams: Allow jagged seams between surfaces.
|
| rhino_mesh_repairB | Launch the MeshRepair wizard for selected meshes.
Args:
controller: RhinoController instance.
|
| rhino_mesh_splitB | Split a mesh with another mesh or surface.
Args:
controller: RhinoController instance.
|
| rhino_mesh_to_nurbsB | Convert selected mesh objects to NURBS surfaces.
Args:
controller: RhinoController instance.
|
| rhino_mesh_trimC | Trim a mesh with a cutting curve or surface.
Args:
controller: RhinoController instance.
|
| rhino_offset_meshB | Offset selected mesh faces by a given distance.
Args:
controller: RhinoController instance.
distance: Offset distance (along face normals).
|
| rhino_quad_remeshB | Remesh selected objects into a uniform quad mesh.
Args:
controller: RhinoController instance.
target_quad_count: Target number of quad faces.
adaptive_size: Adaptive size percentage (0–100).
detect_hard_edges: Preserve hard edges during remeshing.
|
| rhino_quadrangulate_meshC | Convert triangular faces in selected meshes to quads where possible.
Args:
controller: RhinoController instance.
|
| rhino_rebuild_meshC | Rebuild selected meshes to clean up topology.
Args:
controller: RhinoController instance.
|
| rhino_cmd_reduce_meshB | Reduce the polygon count of selected meshes.
Args:
controller: RhinoController instance.
polygon_percentage: Target polygon count as a percentage of original.
allow_distortion: Allow some geometric distortion to achieve target count.
|
| rhino_shrink_wrapC | Shrink-wrap selected geometry into a watertight mesh.
Args:
controller: RhinoController instance.
resolution: Target voxel resolution for the wrap.
|
| rhino_triangulate_meshA | Convert all quad faces in selected meshes to triangles.
Args:
controller: RhinoController instance.
|
| rhino_unify_mesh_normalsB | Unify the normals of selected mesh faces to all point outward.
Args:
controller: RhinoController instance.
|
| rhino_cmd_unweld_meshB | Unweld mesh vertices where the edge angle exceeds the tolerance.
Args:
controller: RhinoController instance.
angle: Minimum angle (degrees) to unweld at.
|
| rhino_cmd_weld_meshB | Weld mesh vertices within the given angle tolerance.
Args:
controller: RhinoController instance.
angle_tolerance: Maximum angle (degrees) between faces to weld vertices.
|
| rhino_offset_subdB | Offset a SubD object by a given distance, optionally creating a solid.
Args:
controller: RhinoController instance.
distance: Offset distance.
solid: Create a solid (closed) offset.
|
| rhino_remove_creaseA | Remove the crease from selected SubD edges (smooth them).
Args:
controller: RhinoController instance.
|
| rhino_repair_subdB | Repair selected SubD objects to fix topology issues.
Args:
controller: RhinoController instance.
|
| rhino_subd_boxA | Create a SubD box primitive.
Args:
controller: RhinoController instance.
x: X coordinate of base corner.
y: Y coordinate of base corner.
z: Z coordinate of base corner.
length: Box length along X.
width: Box width along Y.
height: Box height along Z.
face_x: Number of faces along X.
face_y: Number of faces along Y.
face_z: Number of faces along Z.
|
| rhino_subd_coneB | Create a SubD cone primitive.
Args:
controller: RhinoController instance.
x: X coordinate of base center.
y: Y coordinate of base center.
z: Z coordinate of base center.
radius: Cone base radius.
height: Cone height.
|
| rhino_subd_creaseA | Add a crease to selected SubD edges, making them sharp.
Args:
controller: RhinoController instance.
|
| rhino_subd_cylinderA | Create a SubD cylinder primitive.
Args:
controller: RhinoController instance.
x: X coordinate of base center.
y: Y coordinate of base center.
z: Z coordinate of base center.
radius: Cylinder radius.
height: Cylinder height.
|
| rhino_subd_display_toggleB | Toggle SubD display between smooth and box (control polygon) modes.
Args:
controller: RhinoController instance.
|
| rhino_subd_expand_edgesB | Expand selected SubD edges outward by a given distance.
Args:
controller: RhinoController instance.
distance: Expansion distance.
|
| rhino_subd_loftA | Create a SubD loft surface through selected curves.
Args:
controller: RhinoController instance.
closed: Create a closed (periodic) loft.
|
| rhino_subd_planeB | Create a SubD plane primitive.
Args:
controller: RhinoController instance.
x: X coordinate of start corner.
y: Y coordinate of start corner.
z: Z coordinate of start corner.
length: Plane length along U.
width: Plane width along V.
count_u: Number of faces along U.
count_v: Number of faces along V.
|
| rhino_subd_sphereB | Create a SubD sphere primitive.
Args:
controller: RhinoController instance.
x: X coordinate of center.
y: Y coordinate of center.
z: Z coordinate of center.
radius: Sphere radius.
subdivisions: Number of subdivision levels.
|
| rhino_subd_sweep1B | Create a SubD sweep along one rail curve.
Args:
controller: RhinoController instance.
|
| rhino_subd_sweep2B | Create a SubD sweep along two rail curves.
Args:
controller: RhinoController instance.
|
| rhino_subd_torusA | Create a SubD torus primitive.
Args:
controller: RhinoController instance.
x: X coordinate of center.
y: Y coordinate of center.
z: Z coordinate of center.
major_radius: Torus major (outer) radius.
minor_radius: Torus minor (tube) radius.
|
| rhino_subdivideC | Subdivide selected SubD objects a given number of times.
Args:
controller: RhinoController instance.
count: Number of subdivision iterations.
|
| rhino_to_nurbsB | Convert selected SubD objects to NURBS surfaces.
Args:
controller: RhinoController instance.
|
| rhino_to_subdB | Convert selected NURBS or mesh objects to SubD.
Args:
controller: RhinoController instance.
method: Conversion method (e.g., 'FromNURBS', 'FromMesh').
|
| rhino_alignC | Align selected objects in a given direction.
Valid directions: Left, Right, Top, Bottom, Vertical, Horizontal,
Center, Middle.
Args:
controller: RhinoController instance.
direction: Alignment direction keyword.
Returns:
Dict with command result.
|
| rhino_cmd_array_linearC | Create a rectangular/linear array of selected objects.
Args:
controller: RhinoController instance.
count_x: Number of items in X direction.
count_y: Number of items in Y direction.
count_z: Number of items in Z direction.
spacing_x: Spacing between items in X.
spacing_y: Spacing between items in Y.
spacing_z: Spacing between items in Z.
Returns:
Dict with command result.
|
| rhino_array_on_curveB | Array selected objects along a curve.
The curve must be selected after the objects (interactive).
Args:
controller: RhinoController instance.
count: Number of copies along the curve.
Returns:
Dict with command result.
|
| rhino_cmd_array_polarB | Create a polar array of selected objects around a center point.
Args:
controller: RhinoController instance.
count: Total number of items (including original).
angle: Total angle to fill in degrees.
cx: X coordinate of the array center.
cy: Y coordinate of the array center.
cz: Z coordinate of the array center.
Returns:
Dict with command result.
|
| rhino_cmd_bendB | Apply a bend deformation to selected objects.
Args:
controller: RhinoController instance.
angle: Bend angle in degrees.
symmetric: If True, bend is symmetric about the midpoint.
Returns:
Dict with command result.
|
| rhino_distributeA | Distribute selected objects evenly along a direction.
Uses rhinoscriptsyntax to compute bounding-box centres and re-space them.
Args:
controller: RhinoController instance.
direction: 'Horizontal' (X), 'Vertical' (Y), or 'Depth' (Z).
Returns:
Dict with command result.
|
| rhino_cmd_flow_along_curveA | Flow (morph) selected objects along a curve.
Requires an existing base curve and a target curve to be selected
interactively.
Args:
controller: RhinoController instance.
preserve_structure: If True, the original NURBS structure is preserved.
Returns:
Dict with command result.
|
| rhino_cmd_mirrorB | Mirror selected objects about a named world plane.
Supported planes: 'WorldXY', 'WorldYZ', 'WorldXZ'.
Args:
controller: RhinoController instance.
plane: Mirror plane identifier.
Returns:
Dict with command result.
|
| rhino_cmd_moveB | Move selected objects by a displacement vector (dx, dy, dz).
Uses a Python script via rhinoscriptsyntax so that the displacement can be
applied programmatically to every currently-selected object.
Args:
controller: RhinoController instance.
dx: Displacement along X axis.
dy: Displacement along Y axis.
dz: Displacement along Z axis.
Returns:
Dict with command result.
|
| rhino_orient_3ptB | Orient selected objects using three reference points (interactive).
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_orient_on_crvC | Orient selected objects along a curve (interactive).
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_orient_on_srfB | Orient selected objects on a surface (interactive).
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_project_to_cplaneA | Project selected objects onto the active construction plane.
Original objects are not kept.
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_cmd_rotateA | Rotate selected objects around a center point in the active construction plane.
For a true 3-D axis rotation use :func:`rhino_rotate_3d` instead.
Args:
controller: RhinoController instance.
cx: X coordinate of the rotation center.
cy: Y coordinate of the rotation center.
cz: Z coordinate of the rotation center (ignored for planar rotate).
angle: Rotation angle in degrees.
axis: Axis hint ('x', 'y', 'z') – kept for API symmetry; planar Rotate
always rotates about the CPlane normal.
Returns:
Dict with command result.
|
| rhino_rotate_3dC | Rotate selected objects around an arbitrary 3-D axis.
Args:
controller: RhinoController instance.
axis_start: Start point of the rotation axis.
axis_end: End point of the rotation axis.
angle: Rotation angle in degrees.
Returns:
Dict with command result.
|
| rhino_cmd_scaleB | Uniformly scale selected objects about a center point.
Args:
controller: RhinoController instance.
cx: X coordinate of the scale origin.
cy: Y coordinate of the scale origin.
cz: Z coordinate of the scale origin.
factor: Scale factor (>1 enlarges, <1 shrinks).
Returns:
Dict with command result.
|
| rhino_scale_1dB | Scale selected objects in one direction (1-D scale).
The user must pick the origin and scale direction interactively.
Args:
controller: RhinoController instance.
factor: Scale factor.
Returns:
Dict with command result.
|
| rhino_scale_2dC | Scale selected objects in two directions simultaneously (2-D scale).
Args:
controller: RhinoController instance.
factor: Scale factor applied to both directions.
Returns:
Dict with command result.
|
| rhino_scale_nuA | Scale selected objects non-uniformly along X, Y, Z.
Args:
controller: RhinoController instance.
x_factor: Scale factor in X.
y_factor: Scale factor in Y.
z_factor: Scale factor in Z.
Returns:
Dict with command result.
|
| rhino_cmd_taperB | Apply a taper deformation to selected objects.
The taper axis and extent are picked interactively after the command starts.
Args:
controller: RhinoController instance.
angle: Taper angle in degrees.
Returns:
Dict with command result.
|
| rhino_cmd_twistC | Apply a twist deformation to selected objects.
The twist axis is picked interactively.
Args:
controller: RhinoController instance.
angle: Total twist angle in degrees.
Returns:
Dict with command result.
|
| rhino_chamfer_edgesB | Chamfer the selected edges of a polysurface or solid.
Args:
controller: RhinoController instance.
distance: Chamfer distance.
Returns:
Dict with command result.
|
| rhino_chamfer_surfaceB | Create a chamfer surface between two selected surfaces.
Args:
controller: RhinoController instance.
distance: Chamfer distance.
Returns:
Dict with command result.
|
| rhino_extend_surfaceB | Extend a surface edge by a specified distance.
The edge to extend is selected interactively.
Args:
controller: RhinoController instance.
distance: Extension distance.
Returns:
Dict with command result.
|
| rhino_fillet_edgesB | Fillet the selected edges of a polysurface or solid.
Args:
controller: RhinoController instance.
radius: Fillet radius.
Returns:
Dict with command result.
|
| rhino_cmd_fillet_surfaceC | Create a fillet surface between two selected surfaces.
Args:
controller: RhinoController instance.
radius: Fillet radius.
Returns:
Dict with command result.
|
| rhino_flipA | Flip the normal direction of selected surfaces.
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_merge_all_coplanar_facesA | Merge all coplanar faces of selected polysurfaces into single faces.
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_merge_edgeB | Merge selected adjacent edges of a surface.
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_modify_offset_curveC | Offset a selected curve by a given distance.
Args:
controller: RhinoController instance.
distance: Offset distance.
both_sides: If True, offset to both sides of the curve.
cap: If True, add end caps (for open curves with BothSides=Yes).
Returns:
Dict with command result.
|
| rhino_cmd_offset_surfaceB | Offset a selected surface or polysurface.
Args:
controller: RhinoController instance.
distance: Offset distance.
solid: If True, create a solid (shelled) offset.
Returns:
Dict with command result.
|
| rhino_rebuildC | Rebuild selected curves or surfaces with specified point count and degree.
Args:
controller: RhinoController instance.
point_count: Number of control points.
degree: NURBS degree.
Returns:
Dict with command result.
|
| rhino_rebuild_uvC | Rebuild a surface in U and V directions independently.
Args:
controller: RhinoController instance.
u_count: Control-point count in U direction.
v_count: Control-point count in V direction.
Returns:
Dict with command result.
|
| rhino_refit_trimB | Refit the trim curves of selected surfaces.
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_reparameterizeB | Reparameterize selected curves or surfaces to natural parameterization.
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_seamB | Adjust the seam location of a closed surface (interactive).
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_smoothA | Smooth selected objects by averaging control-point positions.
Args:
controller: RhinoController instance.
strength: Smoothing strength (0–1).
iterations: Number of smoothing passes.
Returns:
Dict with command result.
|
| rhino_splitC | Split selected objects with cutting objects (interactive).
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_stitchC | Stitch selected surface edges together within a tolerance.
Args:
controller: RhinoController instance.
tolerance: Stitching tolerance.
Returns:
Dict with command result.
|
| rhino_trimB | Trim objects using selected cutting objects (interactive).
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_unjoin_edgeB | Un-join selected edges from a polysurface.
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_untrimA | Remove trim boundaries from selected surfaces.
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_variable_filletA | Create a variable-radius fillet surface between two surfaces.
The start/end radii are passed as option overrides; edge selection
is performed interactively.
Args:
controller: RhinoController instance.
start_radius: Fillet radius at the start of the edge.
end_radius: Fillet radius at the end of the edge.
Returns:
Dict with command result.
|
| rhino_angleB | Measure the angle between two lines (interactive).
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_cmd_areaB | Calculate the area of selected closed curves, hatches, or surfaces.
Args:
controller: RhinoController instance.
Returns:
Dict with command result containing area information.
|
| rhino_area_centroidA | Calculate the area centroid (centre of mass) of selected surfaces.
Args:
controller: RhinoController instance.
Returns:
Dict with command result containing centroid coordinates.
|
| rhino_cmd_bounding_boxA | Return the world-axis-aligned bounding box of selected objects.
Uses rhinoscriptsyntax so that the result can be parsed programmatically.
Args:
controller: RhinoController instance.
Returns:
Dict with command result containing bounding-box corner points.
|
| rhino_check_bad_objectsA | Check selected objects for validity and report solid status.
Uses rhinoscriptsyntax to inspect each selected object and report
whether it is valid/solid or has issues.
Args:
controller: RhinoController instance.
Returns:
Dict with command result containing validity report.
|
| rhino_cmd_contourA | Create contour curves on selected surfaces or meshes.
The contour base point and direction are picked interactively.
Args:
controller: RhinoController instance.
spacing: Distance between contour planes.
Returns:
Dict with command result.
|
| rhino_cmd_curvature_analysisB | Display curvature analysis on selected surfaces.
Valid styles: Gaussian, Mean, MinRadius, MaxRadius.
Args:
controller: RhinoController instance.
style: Type of curvature analysis to display.
Returns:
Dict with command result.
|
| rhino_curvature_graphB | Display a curvature graph on selected curves.
Args:
controller: RhinoController instance.
density: Number of hair samples along the curve.
scale: Scale of the curvature hairs.
Returns:
Dict with command result.
|
| rhino_cmd_distanceB | Measure the distance between two points.
If pt1/pt2 are provided they should be formatted as "x,y,z" strings.
Otherwise the command runs interactively.
Args:
controller: RhinoController instance.
pt1: Optional first point as "x,y,z".
pt2: Optional second point as "x,y,z".
Returns:
Dict with command result.
|
| rhino_draft_angle_analysisC | Display draft-angle analysis on selected surfaces.
Args:
controller: RhinoController instance.
draft_angle: Reference draft angle in degrees.
Returns:
Dict with command result.
|
| rhino_lengthB | Measure the length of selected curves.
Args:
controller: RhinoController instance.
Returns:
Dict with command result containing curve length.
|
| rhino_point_deviationA | Analyse the deviation between point clouds and a reference surface.
Objects must be selected before calling; the command runs interactively.
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_radiusA | Measure the radius of a selected arc or circle (interactive).
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_cmd_sectionA | Create a cross-section curve through selected surfaces at a plane.
The plane origin and normal are set interactively in Rhino.
Args:
controller: RhinoController instance.
plane: Named plane hint ('WorldXY', 'WorldYZ', 'WorldXZ').
Returns:
Dict with command result.
|
| rhino_show_dirB | Show the normal and/or curve direction of selected objects.
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_show_edgesB | Highlight edges of selected surfaces by type.
Valid modes: Naked, Non-manifold, All.
Args:
controller: RhinoController instance.
mode: Edge type to display.
Returns:
Dict with command result.
|
| rhino_silhouetteA | Extract silhouette curves from selected surfaces or meshes.
Args:
controller: RhinoController instance.
Returns:
Dict with command result.
|
| rhino_thickness_analysisA | Display a thickness analysis on selected closed polysurfaces.
Args:
controller: RhinoController instance.
max_thickness: Maximum thickness value for the colour scale.
Returns:
Dict with command result.
|
| rhino_cmd_volumeB | Calculate the volume of selected closed polysurfaces or meshes.
Args:
controller: RhinoController instance.
Returns:
Dict with command result containing volume information.
|
| rhino_volume_centroidA | Calculate the volume centroid of selected closed solids.
Args:
controller: RhinoController instance.
Returns:
Dict with command result containing centroid coordinates.
|
| rhino_whatB | Display detailed properties of selected objects.
Args:
controller: RhinoController instance.
Returns:
Dict with command result containing object information.
|
| rhino_zebra_analysisC | Display zebra stripe analysis on selected surfaces.
Args:
controller: RhinoController instance.
stripe_direction: 'Horizontal' or 'Vertical'.
stripe_size: Size of the zebra stripes.
Returns:
Dict with command result.
|
| rhino_delete_selectedA | Delete the currently selected objects. |
| rhino_group_selectedA | Group the currently selected objects.
Args:
name: Optional name for the group. If None, Rhino auto-assigns a name.
|
| rhino_hide_selectedA | Hide currently selected objects. |
| rhino_lock_selectedA | Lock currently selected objects so they cannot be selected or modified. |
| rhino_sel_allA | Select all objects in the document. |
| rhino_sel_bad_objectsB | Select geometrically invalid (bad) objects. |
| rhino_sel_by_colorA | Select objects by display color.
Args:
color_rgb: Comma-separated RGB string, e.g. '255,0,0' for red.
|
| rhino_sel_by_nameB | Select objects by their name attribute. |
| rhino_sel_by_typeA | Select objects by type.
Supported types:
'curve', 'surface', 'mesh', 'subd', 'point', 'polysurface',
'all_curves', 'line', 'polyline', 'arc', 'circle', 'ellipse',
'solid', 'extrusion', 'annotation', 'block', 'light', 'hatch'
|
| rhino_sel_chainA | Select a chain of connected curves from the current selection seed. |
| rhino_sel_connectedA | Select all objects connected to the currently selected object. |
| rhino_sel_duplicatesB | Select duplicate objects. |
| rhino_sel_invertA | Invert the current selection using rhinoscriptsyntax. |
| rhino_sel_lastA | Re-select the previously selected set of objects. |
| rhino_sel_layerC | Select all objects on a specific layer. |
| rhino_sel_noneA | |
| rhino_sel_small_objectsB | Select objects smaller than the given tolerance.
Args:
tolerance: Maximum bounding box size threshold.
|
| rhino_show_selectedC | |
| rhino_ungroupA | Ungroup selected groups, releasing individual objects. |
| rhino_unlock_allA | Unlock all locked objects in the document. |
| rhino_layer_colorB | Set a layer's display color.
Args:
name: Layer name.
r, g, b: RGB color components (0-255).
|
| rhino_layer_countA | Return the total number of layers in the document. |
| rhino_cmd_layer_createB | Create a new layer.
Args:
name: Layer name (supports :: for sub-layers, e.g. 'Parent::Child').
color_rgb: Optional comma-separated RGB string, e.g. '255,0,0'.
parent: Optional parent layer name.
|
| rhino_cmd_layer_deleteB | Delete a layer and all its objects.
Args:
name: Name of the layer to delete.
|
| rhino_layer_get_currentA | Return the name of the current (active) layer. |
| rhino_layer_isolateA | Isolate a layer by hiding all other layers.
Args:
name: Layer to keep visible.
|
| rhino_cmd_layer_listA | Return a list of all layer names in the document. |
| rhino_layer_lockB | Lock or unlock a layer.
Args:
name: Layer name.
locked: True to lock, False to unlock.
|
| rhino_layer_purge_unusedA | Delete all layers that contain no objects and have no sub-layers. |
| rhino_layer_renameC | Rename an existing layer.
Args:
old_name: Current layer name.
new_name: New layer name.
|
| rhino_layer_set_currentC | Set the active (current) layer.
Args:
name: Name of the layer to make current.
|
| rhino_layer_unisolateA | Show all layers (undo isolation). |
| rhino_layer_visibleA | Show or hide a layer.
Args:
name: Layer name.
visible: True to show, False to hide.
|
| rhino_move_objects_to_layerA | Move currently selected objects to the specified layer.
Args:
layer_name: Target layer name.
|
| rhino_1viewA | Maximize the active viewport to fill the entire viewport area. |
| rhino_3viewA | Switch to the three-viewport layout. |
| rhino_4viewA | Switch to the standard four-viewport layout (Top, Front, Right, Perspective). |
| rhino_display_show_edgesB | Toggle display of surface/mesh edges.
Args:
show: True to show edges, False to hide.
|
| rhino_panC | Pan the active viewport.
Args:
dx: Horizontal pan amount.
dy: Vertical pan amount.
|
| rhino_perspective_angleA | Set the perspective viewport camera lens angle.
Args:
angle: Lens angle in degrees (e.g. 45, 60).
|
| rhino_set_background_colorA | Set the viewport background color via a Python script.
Args:
r, g, b: RGB color components (0-255).
|
| rhino_set_display_modeA | Set the active viewport display mode.
Args:
mode: One of Wireframe, Shaded, Rendered, Ghosted, Raytraced,
ArtisticRendering, Pen, Technical.
|
| rhino_set_viewB | Set the active viewport to a standard view.
Args:
view_name: One of Top, Front, Right, Perspective, Back, Left, Bottom, Isometric.
viewport: Optional viewport name to target.
|
| rhino_show_endpointsB | Toggle display of curve endpoints.
Args:
show: True to show endpoints, False to hide.
|
| rhino_toggle_gridA | Toggle the viewport construction grid on/off. |
| rhino_cmd_turntableB | Animate the viewport in turntable rotation.
Args:
frames: Number of animation frames.
pause: Pause duration between frames in seconds.
|
| rhino_view_capture_to_clipboardA | Capture the active viewport to the clipboard.
Args:
width: Image width in pixels.
height: Image height in pixels.
|
| rhino_view_capture_to_fileA | Capture the active viewport to a PNG file.
Args:
file_name: Output filename (saved to D:/RhinoFiles/).
width: Image width in pixels.
height: Image height in pixels.
|
| rhino_zoom_extentsA | Zoom to the extents of all geometry.
Args:
all_viewports: If True, zoom all viewports; otherwise only the active one.
|
| rhino_zoom_selectedA | Zoom to fit the currently selected objects. |
| rhino_zoom_windowA | Enter zoom-window mode (user draws a rectangle to zoom into). |
| rhino_add_clipping_planeD | Enter clipping plane creation mode. |
| rhino_add_dimension_angularB | Enter angular dimension placement mode. |
| rhino_add_dimension_linearB | Enter linear dimension placement mode. |
| rhino_add_dimension_ordinateC | Enter ordinate dimension placement mode. |
| rhino_add_dimension_radialB | Enter radial (radius) dimension placement mode. |
| rhino_add_dotC | Add a small text dot annotation at a 3D location.
Args:
text: Dot label text.
x, y, z: Location coordinates.
|
| rhino_add_hatchB | Add a hatch fill to a selected closed curve.
Args:
hatch_pattern: Hatch pattern name (e.g. 'Solid', 'Grid', 'Dots').
scale: Pattern scale factor.
|
| rhino_add_leaderB | Enter leader annotation placement mode. |
| rhino_add_textB | Add a 3D text annotation object at a specific location.
Args:
text: The text string to display.
x, y, z: Insertion point coordinates.
height: Text height in model units.
font: Font face name.
|
| rhino_add_text_objectC | Add a text object via Rhino command.
Args:
text: Text string.
x, y, z: Insertion point.
height: Text height.
|
| rhino_dimension_styleB | Open the Annotation Styles (dimension style) manager. |
| rhino_add_objects_to_blockA | Add currently selected objects to an existing block definition.
Args:
name: Block definition name to add objects into.
|
| rhino_block_instance_countC | Return the number of instances of a specific block definition.
Args:
name: Block definition name.
|
| rhino_block_managerB | Open the Block Manager dialog. |
| rhino_create_blockB | Create a block definition from currently selected objects.
Args:
name: Name for the new block definition.
base_x, base_y, base_z: Base insertion point coordinates.
|
| rhino_explode_blockB | Explode selected block instances into their constituent geometry. |
| rhino_insert_blockB | Insert a block instance into the document.
Args:
name: Block definition name to insert.
x, y, z: Insertion point.
scale: Uniform scale factor.
rotation: Rotation angle in degrees.
|
| rhino_list_blocksA | Return a list of all block definition names in the document. |
| rhino_replace_blockC | Replace selected block instances with a different block definition.
Args:
new_name: Name of the replacement block definition.
|