Skip to content

MCP

Tools

RhinoArtisan MCP exposes the same automation surface that powers Flow Studio scripts — design, editing, analysis, manufacturing, pricing and reporting. Your assistant picks up new tools automatically: connect once, and every release makes it more capable.

Read-only tools are separated from tools that modify the document, so assistants can explore your design safely before they act. Anything they create lands in your document as a normal, undoable Artisan operation — parametric, grouped and layered exactly as if you had used the panel yourself.

All dimensions are millimetres. Omitting a dimensional argument (or passing 0) keeps the tool’s default — the same defaults you have saved in RhinoArtisan.

Gems

ToolWhat it does
get_gem_optionsReturns the valid values for the shape and material arguments of add_gem. (read-only)
list_gemsLists every Artisan gem in the active Rhino document with its id, shape, material, carat weight, size in mm and position. (read-only)
add_gemCreates a gem in the active Rhino document using RhinoArtisan (same pipeline as QuickGems: proportions derived from carat weight, material and layer applied).
edit_gemEdits an existing gem in place: material, carat weight, explicit size in mm, uniform scale, rotation around its own axis, translation, or flip upside down.
check_gem_collisionsFinds pairs of gems that touch or overlap. (read-only)

Parametric objects (query / edit / delete)

ToolWhat it does
list_objectsLists the parametric Artisan objects in the document (shanks, halos, bezels, baskets, pegheads, clusters, micro-settings, gems-on-curve rows, channels, cutters…) with their ids and parameters. (read-only)
get_selectionLists what the user has selected in Rhino right now: Artisan gems (with shape, material, carats, size), parametric Artisan objects (kind and id), and any other object (Rhino type, name, layer, and the parametric group it belongs to). (read-only)
describe_object_parametersThe contract of edit_object for one parametric object (object_id) or one type (type: BEZEL, BASKET, GRADUATED, CLASSIC…): current values, every snake_case key its setters accept with the value type, and its sections (support, cutters, air_gaps, prong, upper_rail, top_profile, gems…) with their own keys — generated from the live SDK, so it is exact. (read-only)
select_objectsSelects objects in the Rhino document so the user sees them highlighted, or to feed tools that read the selection.
edit_objectEdits a parametric Artisan object in place (it regenerates with the same id).
delete_objectsDeletes objects by id: gems, parametric Artisan objects (the whole group) or plain Rhino geometry. (destructive)

Shanks and ring bodies

ToolWhat it does
create_ringCreates a classic comfort-fit ring shank (band), optionally with a row of gems around the top.
create_cathedralCreates a cathedral shank: a band whose arms rise toward the setting — the classic body under halo and solitaire designs.
create_eternityCreates an eternity ring (a band with gems all around) at the document’s finger size.
create_toi_et_moiCreates a Toi et Moi ring top: two independent stones straddling the top of the finger size, one leaning to each side (classic combinations mix shapes, e.g. pear + round).
create_three_stonesCreates a Three Stones (trilogy) ring top: one center stone plus two symmetric side stones placed around the finger size.
create_ring_curveCreates the editable ring rail curve that curve shanks and gems-on-curve build on. kind: CLOSED (full circle at the finger size), OPEN (circle with a gap, for open/adjustable rings), BYPASS (crossed ends) or SHAPE (circle blended with a top shape).
create_graduatedCreates a graduated shank: a band whose section grows toward the centre stone, carrying a run of stones that shrink toward the finger (the ArtisanGraduated tool).
create_bypassCreates a bypass shank: a band whose two arms cross past each other instead of meeting (the ArtisanBypass tool), optionally with a stone run along the arms.
create_signet_ringCreates a signet ring: a flat face carried on a band (the ArtisanSignetRing tool).
create_split_shankCreates a split shank: a band that opens into two arms toward the setting (the ArtisanSplitShank tool).
create_advanced_cathedralCreates an advanced cathedral shank: the station-based cathedral body with a fully parametric arm and bridge, plus an optional stone run (the ArtisanAdvancedCathedralShank tool).

Settings around gems

ToolWhat it does
add_prong_settingCreates a peghead (prong head) around an existing gem, as a parametric child of it.
add_bezel_settingCreates a bezel around an existing gem, as a parametric child of it.
add_basket_settingCreates a basket setting under existing gems (one basket per gem).
create_haloBuilds a halo of small stones around an existing gem (halo-friendly shapes: ROUND, CUSHION, EMERALD, OVAL, RADIANT, ASSCHER, PEAR).
create_cuttersBuilds one cutter per gem: the cutting/drilling solid used to open the gem seat in the metal (subtract it with boolean_operation).
create_microsettingBuilds the micro-setting for a run of small gems: cutters, V-cutters, optional channel and row prongs (the pavé infrastructure).
create_clusterBuilds a cluster (a ring of small stones with prongs hugging the mother gem, illusion-style).
create_hidden_haloBuilds a hidden halo (the stone ring tucked under the setting, visible from the side).
create_tulipBuilds a tulip setting (prongs blooming from a stem under the gem). prong_count 4 or 6; height is a vertical scale factor (default 1.7), not mm.
create_martiniBuilds a martini setting (the V-shaped basket for studs).
create_trellis_settingBuilds a trellis setting (interwoven curved prongs).
create_cabochonCreates a cabochon (a domed, unfaceted stone) at the given point — it makes its own stone, no mother gem needed.
create_pearlCreates a pearl (with optional calotte cap and wire post — the stud-earring infrastructure).
add_advanced_bezelCreates an advanced bezel around an existing gem (the bezel with per-point profile control; this facade exposes the main dimensions).
add_advanced_basketCreates an advanced basket under existing gems (one per gem): individually modeled prongs (ROUND, DOUBLE, TRIPLE, CLAW, OFFSET or CUSTOM with a profile) and configurable rails. 0/omitted keeps the tool default: 4 diagona…
gem_toolsUtility operations over gems. operation: CENTERS (read-only: each gem’s center), ADD_CENTER_POINTS (point object per center), CENTER_BETWEEN_GEMS (shared-prong circles between adjacent gems), CURVE_FROM_GEMS (curve through the centers, in list order), EXTRACT_GEM_CURVES (girdle curves), OFFSET_GEM_CURVES (outward girdle offsets at distance mm, history-linked), COPY_BY_GEMS (copy object_ids onto every target gem plane; scale No/2D/3D), COLOR_BY_SIZE (display color per stone size), ROTATE_GEMS (rotate each gem angle_degrees around its own axis), ADD_TAGS (measure/carat/material text on each gem), RECOVER_GEMS (rebuild Artisan gems from imported meshes).
create_trilogyDresses a Three Stones set (center + 2 side gems) with one of the trilogy settings. style: BEZEL_SET (three bezels), EAST_WEST (three advanced baskets with shape-aware prong layouts), HALO (three halos of small stones, side halos fused into the center one), INDIVIDUAL (a tulip on the center and a single-rail basket on the sides, each slot switchable to TULIP / MARTINI / ADVANCED_BASKET) or TRELLIS (crossed prongs over the center stone plus under-girdle rails, down to the ring curve).

Gems along geometry

ToolWhat it does
gems_on_curveDistributes a row of identical gems along an existing curve (use create_ring_curve or any Rhino curve id).
create_channelBuilds a metal channel with a run of gems inside, following an existing curve.
pave_surfaceAutomatic pavé: fills the given surfaces/breps/meshes with diamonds (and optional prongs and cutters), sized and packed automatically.
list_elementsLists the saved ELEMENTS (the named presets the panels store: a bezel called “Chunky”, a basket called “Client A”…). (read-only)
gems_on_networkFills a network of intersecting curves with stones, sized so they meet at the nodes — for lattice and filigree patterns.
pave_automaticThe automatic (relaxed) pavé: fills surfaces by relaxing a spring network over the mesh, which lets it MIX SEVERAL STONE SIZES and follow an irregular boundary — the difference from pave_surface, which packs one size in a regular grid.
gems_on_two_curvesFills the strip between two curves with round gems whose diameter adapts to the local width (tapering rows, graduated shanks, halos between two offsets).
gems_on_curve_advancedDistributes a PATTERN of gems along a curve: several groups run one after another, each with its own quantity, shape, rotation and a size graduating from sizes[i] to sizes2[i] mm (e.g. sizes [2.0, 1.5], quantities [1, 6], sizes2 [2.0, 1.0] = one 2 mm stone followed by six stones going 1.5 -> 1.0).
gems_from_circlesConverts circle curves into ROUND gems of the same diameter, each placed on its circle’s plane (typical after drawing or arraying circles as a stone layout).
tapered_baguettesPlaces tapered baguette gems spanning straight between two rail curves: each point in points is one gem, its wide (top) edge on the rail closest to the point and its length following the span to the other rail.
pave_along_surfaceLays rows of round diamonds along the isocurves of a surface (Pave UV): each point in points yields one row along the isocurve through it, in direction U (default) or V.
add_gem_by_sizeAdds a single gem sized by its dimensions in millimetres instead of carats (use add_gem when the brief gives a carat weight). size_x is the width (diameter for ROUND); size_y (length) and size_z (depth) 0 = the shape’s standard proportions.
find_gems_by_sizeReturns the ids of every gem in the document whose width (size_x) matches one of the reference gems (0.001 mm tolerance) — e.g. ‘all the 1.5 mm stones’. gem_ids empty = the selected gems. (read-only)

Booleans

ToolWhat it does
boolean_operationArtisan’s parametric-aware booleans: UNION merges target_ids (+cutter_ids when given); DIFFERENCE, INTERSECTION and SPLIT apply cutter_ids to target_ids. (destructive)

Components and decoration

ToolWhat it does
create_bailCreates a bail (the pendant hanger loop) as an editable smart component.
text_on_curveCreates text along an existing curve and returns the ids of the added objects. height = letter height in mm (default 1.5); thickness = extrusion depth in mm, 0 = flat curves only; horizontal_align LEFT|CENTER|RIGHT|JUSTI…
create_componentCreates a smart component: BANGLE (rigid bracelet; options width 50, height 30, aperture 10, closed), BEAD (options width 10, height 10, hole_diameter 3), CHARM (options width 8, height 6, thickness 2.8), LINK (chain link; options width 9, height 6, diameter 3, twist_angle 90), NAMED_PENDANT (needs text; options height 5, thickness 0.4, font), HINGE (needs brep_id + point; DESTRUCTIVE: replaces the solid with the hinged parts; options diameter 0.7, cut_diameter 4, thickness 1, number_of_males 1, opening_angle 10), MILGRAIN (beaded edge; needs curve_id; options diameter 0.8, overlapping 0.1), ROPE (needs curve_id; options diameter 1.6, width 3, threads 3, turns 5), VORONOI (pattern inside a closed curve; needs curve_id; options points 100, thickness, height, both_sides), HONEYCOMB (needs curve_id; options diameter 6, thickness 0.8, height), TEXTURE3D (image-driven relief; needs surface_id; options texture_path, u 1, v 1, height 0.6, rotation), CHAIN (repeat objects along a curve; needs object_ids + curve_id; options copies).
vectorize_imageConverts a raster image file into vector curves in the document (threshold-based tracing).

Relief

ToolWhat it does
create_reliefOne-shot relief bake (auto-fitted workbench): IMAGE from a grayscale heightmap (image_path, optional region_curve_ids to clip), CURVES from closed curves (curve_ids, with a profile), GEOMETRY from meshes/breps projected top-down (object_ids).
relief_operationsThe relief project’s layered operation stack (same project the Relief panel edits). action ADD appends an operation: type PROFILE|EXTRUDE|IMAGE|TEXTURE|GEOMETRY with its inputs (curve_ids / image_path / texture_name / object_ids), or SCULPT|SMOOTH (the brush strokes, headless: a polyline of points with radius and height/strength), plus options (height, profile, feather, combine ADD|SUBTRACT|ZMAX|ZMIN|ABSOLUTE|MULTIPLY, name…). (destructive)
relief_projectThe relief project itself. action SETUP creates/reconfigures it (world_width, world_height, resolution, solid, cap_distance, delete_base — keeps the operation stack); INFO and PROFILES are read-only; BAKE recomputes at f…

Accessories extra

ToolWhat it does
user_elementsLIST returns the named user elements in the document (the Outliner’s user elements); CREATE tags the given objects as a new named element (object_ids + name).

Document

ToolWhat it does
describe_documentReturns a human-readable summary of the active document: design type and subtype, finger size, metals, gems and the parametric elements it contains. (read-only)
get_document_settingsReturns the document’s computation mode, the metals configured for the Metal 01/02/03 layers, the finger size, the valid finger size regions and the valid metal names. (read-only)
set_document_settingsChanges document settings: the metal of a metal layer, the finger (ring) size, or the computation mode (Render = smooth display quality, Manufacturing = production-accurate geometry; switching regenerates every parametri…
regenerate_objectsRegenerates the document’s parametric objects, like the Outliner’s Refresh button: by default only the ones pending regeneration (e.g. children whose mother gem or curve moved); force=true regenerates EVERYTHING (long on heavy documents).

File lifecycle

ToolWhat it does
open_documentOpens a 3dm file, replacing the active document (like File > Open, but never prompting: it fails if the current document has unsaved changes unless discard_changes is true). (destructive)
save_documentSaves the active document.
new_documentCreates a new document, replacing the active one (like File > New without the template picker). (destructive)

Viewports (batch rendering)

ToolWhat it does
describe_viewsReturns the open viewports (marking the active one), the saved named views and the available display modes — the vocabularies set_view and capture_viewport accept. (read-only)
set_viewPoints a Rhino viewport for rendering: restore a named view, place the camera explicitly (location + target, optional 35mm lens length), switch the display mode (e.g.
capture_viewportCaptures a Rhino viewport.

Analysis, weight and price

ToolWhat it does
calculate_weightWeighs the metal geometry of the document (Metal 01/02/03 layers). (read-only)
calculate_priceRecomputes the price of the current document with the active manufacturer/market (the same engine as the Breakdown panel). (read-only)
get_pricing_settingsReturns the Breakdown’s cost tables as JSON: Markets (Gold/Silver/Platinum/Palladium spot prices), Metals, Diamonds (per-size and per-sieve price tables, CertificateFromCt threshold), Printing, Cfp (cast-finish-polish), AdditionalProcesses, GemSetting (labor per setting type), Timing and Info (currency). (read-only)
set_pricing_settingUpdates ONE value of the Breakdown’s cost settings by path and persists it (Manufacturer.json), e.g. path “Markets.Gold” value “68.5”, or “Diamonds.CertificateFromCt” value “0.30”.
analyze_thicknessMeasures the material thickness at a point on/near the surface of the given objects, in mm.
global_thicknessMeasures wall thickness over EVERY vertex of the given objects and returns min/max/average in mm, the percentage of thin samples, and the 100 thinnest spots (point + thickness) below thin_threshold_mm (default 0.6).
create_breakdown_tableDraws one of the Breakdown cost tables into the document at point (production-sheet annotations): METALS, GEMS, PROCESSES or EXTRAS.
create_gems_tableDraws the gems list table (shape, sizes, carats, quantities) into the document at point — the production-drawing companion of export_gems_list.
create_metals_tableDraws the metals weight table into the document at point, weighing the visible metal geometry in each named metal (see get_document_settings for valid names).
scale_to_dimensionsUniformly (or per-axis) scales the objects so their bounding box hits the target sizes in mm — “make it 20 mm wide”. (destructive)
deform_objectsArtisan’s deformations, headless. (destructive)
place_on_objectsCOPY places copies of the objects onto the target surfaces at each point (frame from the target’s render mesh: closest point + normal); MOVE relocates them once to point.
move_by_normalMoves the objects along the normal of surface_id at each object’s closest point — lift or sink elements relative to the metal.
mirror_objectsOPPOSITE mirrors the objects across the plane (history-linked copies); QUAD produces the three mirrored quadrant copies. plane omitted = the active construction plane.
transform_objectsBasic transforms on any objects (gems, parametric groups, plain geometry).
array_objectsCopies the objects in a pattern.
scale_by_weightUniformly scales the objects so they weigh exactly target_grams when cast in metal (empty = the document’s primary metal). (destructive)

Manufacturing

ToolWhat it does
check_printabilityVerifies each mesh is valid and watertight, and recolors it green when printable, red when not.
repair_for_printingRepairs the given objects into a single watertight printable mesh (closes gaps, fixes normals; gems are skipped automatically). (destructive)
add_identifierAdds an identifier tag to a closed ring mesh (the ArtisanIdentifier tool): a small pipe between two points on the mesh carrying an engraved reference text (model number, metal, size…).
add_sprueAdds casting connectors to closed meshes, in every style of the sprues family. kind: SINGLE (one tapered post at contact_points[0] on mesh_id), INNER_TREE (trunk at base_point + branches to contact_points), INNER_BRANCHES (central post + branches, options symmetry 0-3), EXTERNAL_TREE (trunk beside the mesh at base_point + branches), EXTERNAL_FRAMES (rounded frame around mesh_ids with inward stubs), TREE (radial casting tree at base_point with copies of mesh_ids), CLUSTER_TREE (helix-grid cylinder with a copy per node), CURVE (perimeter frame from the silhouette or curve_id, on mesh_id), HELIX / SPIRAL (chain-link casting trees for the mesh in mesh_id), MULTIPLE_COPIES (trunk from trunk_start to trunk_end + branch per contact point, over mesh_ids).
resize_ringTakes a CLOSED ring mesh and produces one resized copy per target inner diameter, laid out in a row on child layers under a Resizer parent layer. (destructive)
decimate_meshReduces the polygon count of the given meshes: by percentage (default 50) or, when tolerance_mm is given, to the coarsest mesh within that deviation. (destructive)

Reports, exports and render

ToolWhat it does
list_report_templatesThe report template names create_report accepts (the 3dm templates saved from the Report panel). (read-only)
create_reportCreates a report layout page.
create_gems_mapDraws the gems map (the per-size gem legend used in production drawings) at the given point.
generate_dimensionsGenerates automatic dimensions. kind: AUTO (default, generic), RING (ring-specific: bottom, top, size), BOX (bounding-box dimensions of object_ids) or BANGLE (bangle-specific over object_ids).
import_named_viewsImports the named views saved in another 3dm file into the active document — keep your standard render angles in a template file, import them into each opened document, then set_view + capture_viewport per angle.
apply_materialsSwitches every visible object’s materials: RENDER = the catalog render materials (gems by compound, metals per Metal 01/02/03 layer, studio environment installed if none) for shooting; DESIGN = back to the flat design ma…
batch_renderRenders every .3dm in a folder with Rhino’s current renderer, saving one image next to each file (same base name).
list_render_scenesLists the Render Studio’s scene environments and material families. (read-only)
apply_render_sceneApplies Render Studio state: environment by name (omit for the studio default scene), and/or a material (material_family + material) to object_ids (omit for the selection; Grounds materials go to the ground plane).
render_stillRenders a still with Rhino’s current renderer (Cycles) through the Render Studio pipeline and saves it to path.
render_turntableRenders a turntable MP4 orbiting the current camera target: per-frame Cycles renders (or fast viewport captures with raytraced=false) assembled with ffmpeg.
export_gems_listExports the document’s gems list to a CSV file.
export_stlExports all visible geometry of the active document to a binary STL file for 3D printing.
export_pdfExports a layout page to a 300-dpi PDF (vector where possible). page_name defaults to Template — the layout create_report produces.
export_glbExports the whole document to a GLB file (the same conversion the Realtime Render pipeline uses).
show_realtime_renderOpens (or activates) the web-based Realtime Render viewer window and pushes the current model to it.
set_viewer_materialApplies a viewer catalog material to every part on a layer of the open Realtime Render viewer (viewer-only; the document is untouched).
set_viewer_backgroundSets the Realtime Render viewer’s background gradient.
set_viewer_environmentSets the Realtime Render viewer’s lighting environment: a preset (studio, sunset, dawn, night, warehouse, forest, apartment, city, park, lobby) or an HDR/EXR url.
set_viewer_optionSets one Realtime Render viewer option by key: bevelEnabled/bevelRadius, jewelryShadow* (Enabled, Darkness, Blur…), effectComposerN8ao* (AO), effectComposerDepthOfField* (Enabled, FocusDistance, BokehScale), effectComposerBloom* (Enabled, Intensity), effectComposerVignette*, effectComposerHueSaturation*, caustics*, autoRotate, toneMappingExposure…
viewer_cameraMoves the camera of the Realtime Render viewer: a named preset (front, back, left, right, top, bottom, three-quarter, three-quarter-left, detail, dramatic-low), an explicit position + target in document millimetres, or zoom_extents=true to frame the whole design.
list_viewer_itemsLists the parts loaded in the Realtime Render viewer with their uuids and current materials — the vocabulary for set_viewer_material / edit_viewer_material. (read-only)
update_renderRe-exports the current document geometry to the Realtime Render viewer (the panel’s Update button).
edit_viewer_materialLive-edits a Realtime Render viewer catalog material everywhere it is applied: color (CSS color), roughness 0-1, ior (~1.4-2.4, gems), opacity 0-1. Ephemeral: re-applying the material from the catalog resets it.
capture_viewer_viewsCaptures the 8 standard orbital views of the open Realtime Render viewer (front, back, left, right, two three-quarters, top, bottom) as PNGs into a folder, restoring the camera afterwards.
record_viewer_turntableRecords a 360 turntable of the open Realtime Render viewer: turns auto-rotation on, records seconds seconds of video to path, and turns the rotation off when done.
record_viewer_videoRecords the open Realtime Render viewer to a video file at path for seconds seconds (1-3600) and saves automatically when done.
render_screenshotOpens (or activates) the Realtime Render viewer, optionally moves its camera to a preset, and saves a PNG of the frame.

Library and services

ToolWhat it does
list_assetsWithout type, lists the asset types (RING_PROFILE, BEZEL_PROFILE, CHANNEL_PROFILE, PEGHEAD_PROFILE…). (read-only)
search_diamondsSearches certified diamonds on Nivoda matching a shape and carat weight (range [carats-0.01, carats+0.1]). (read-only)
search_filesSearches the indexed local design library (file names, gems, metals, design semantics). (read-only)

Scripting

ToolWhat it does
list_commandsLists the command names available in this Rhino (Artisan* first), optionally filtered by substring — to find the exact name before run_command. (read-only)
run_tool_smoke_testDiagnostic: opens a NEW document (discarding unsaved changes), runs a scripted design flow through the catalog (ring, gems, every setting, shanks, rows, solids, curves, edits, analysis, exports) and then probes every remaining tool with empty arguments, classifying OK / SOFT (friendly ArgumentException) / FAIL (any other exception).
gh_referenceThe reference of Artisan’s ~219 Grasshopper components, for building graphs with the Rhino MCP Platform tools (g1_search_components / g1_place_component / g1_apply_graph / g1_solve_graph). (read-only)
get_scripting_referenceReturns the reference for run_script: the idiom, and (part API) every Api facade with its static methods plus each I handle’s read properties and Set*/Move/Delete mutators — generated from the live SDK, so it is exhaustive and exact. (read-only)
run_scriptRuns Python against the full RhinoArtisan Scripting API and Rhino itself — for anything without a typed tool: any handle setter or nested section, reading/setting the selection, loops over many objects, native Rhino curves/surfaces/booleans via rhinoscriptsyntax. (destructive)
run_commandRuns a Rhino command-line script exactly as typed in Rhino’s command prompt (RhinoApp.RunScript): native Rhino commands and Artisan commands alike. (destructive)

Ring bodies

ToolWhat it does
create_advanced_ringCreates an advanced ring body (the ArtisanAdvancedRing tool): a ring curve swept through profile sections placed along it, each with its own width and height — the free-form way to shape a shank (tapered, knife-edge, bypass…).
create_class_ringCreates a class ring (the ArtisanClassRing tool): a heavy signet-style body with a flat top seat holding one stone — a faceted gem or a cabochon — regenerated together with the ring.
create_scoop_ringHollows a ring shank from the inside (the ArtisanScoopRing tool): removes material behind the given faces of an existing closed ring solid, leaving a wall of thickness mm, fully scooped over central_angle degrees at the bottom of the ring plus transition_angle degrees of fade-out on each side.
ring_extrudeCreates a ring body by extruding two silhouettes (the ArtisanRingExtrude tool): a frontal silhouette (EXTERNAL_RING_PROFILE asset) and a lateral silhouette (RING_SIDE_CURVE asset) grown around the finger circle and intersected — the quick way to get a wide, sculpted band.

Ring size tools

ToolWhat it does
cut_by_ring_sizeCuts the finger hole through the given objects (the ArtisanCutByRingSize tool): subtracts a cylinder of the ring-size diameter running along world Y (rings are modelled at the origin) from each brep, extrusion, SubD or mesh.
estimate_ring_sizeEstimates the finger size of an existing ring model (the ArtisanEstimateRingSize tool): sections the geometry with the XY and YZ planes through the origin, measures the inner gap along X (diameter) and Z (inner height), scores how ring-like the result is (0-100) and looks up the closest catalog size in the given region. ids omitted = every visible brep/surface/mesh. (read-only)

Shanks and ring bodies (wedding, pavé, two rows, matching)

ToolWhat it does
create_wedding_bandCreates a single wedding band (the ArtisanWeddingBand tool): a plain band lofted from a RING_PROFILE asset at the document’s finger size, optionally with a row of stones around it.
create_wedding_ringCreates a wedding set (the ArtisanWeddingRing tool): two bands — his and hers — baked together as one group, each with its own section, metal, finger size and optional stones.
create_pave_shankCreates a pavé shank (the ArtisanPaveShank tool): a classic band carrying one or more longitudinal rows of round stones running along the band.
create_two_rows_shankCreates a two-rows shank (the ArtisanTwoRowsShank tool): a classic band with a channel carved on each face, each carrying a row of round stones held by prongs — the knife-edge pavé band.
create_matching_shankCreates a matching shank (the ArtisanMatchingShank tool): a band shaped to sit against an existing ring at the origin — the mother — so the pair stacks without a gap (wedding band next to an engagement ring).

Prongs, prong axis and azure

ToolWhat it does
create_dynamic_prongsCreates loose (non-parametric) prongs, the ArtisanDynamicProngs tool.
create_custom_prongsCopies a custom prong (your own surface, polysurface, mesh or SubD) onto every Artisan prong, the ArtisanCustomProngs tool: the source is mapped from the bottom-centre of its bounding box on the active CPlane to each prong’s base plane.
create_prong_axisDraws the central axis line of every prong around each gem (curves only, no thickness), the ArtisanProngAxis tool: one editable ProngAxis group per gem, useful as a guide to sweep custom prongs. 0 keeps the tool default (or the user’s saved defaults): prongs 4, height 4 mm, over_girdle 0.3, gem_inside 0, bottom_rail_inside 0, straight true.
create_azureOpen-work under stones (the Azure / SmartAzure tool): one hexagonal hole per gem, centred under its girdle and projected onto a closed solid, then subtracted from it.
flip_gem_planeFlips the parametric plane stored in each gem (reverses its Z axis) WITHOUT moving the stone, the ArtisanGemsFlipPlane tool, and regenerates its children.
update_basketsMigrates baskets saved by old Artisan versions (a single object carrying its parameters) into the current editable basket groups, recomputing each one against its mother gem with the current kernel; the ArtisanBasketUpdate tool.

Solid modelling

ToolWhat it does
solid_cutCuts one or more solids with planar closed curves (ArtisanCut): each curve is extruded straight through the solids, along its plane normal, and subtracted.
solid_recessSinks (recess, default) or raises (protrusion) the region a closed curve marks on a solid’s face (ArtisanRecess): the curve is pulled onto the face, the face is split and the inner piece is offset height mm and subtracted or united.
cap_roundBuilds a domed (rounded) cap over a closed planar curve (ArtisanCapRound): a parametric RoundCap object linked to the curve, placed on the metal layer with the metal material.
curve_shellBuilds a hollow shell (a wall plus a floor) from one or more closed planar curves (ArtisanCurveShell): one parametric CurveShell object per curve on the metal layer with the metal material — the classic way to make a hollow signet top, a locket half or a bezel cup.
sweep_railsOrients flat profile curves along one rail (ArtisanCurves1Rail) or between two rails (ArtisanCurves2Rails) and sweeps a solid through them — the way Artisan builds free-form shanks and bands from section curves.

Solid booleans (parametric)

ToolWhat it does
list_dismantled_booleansLists the Artisan booleans that were dismantled by ArtisanEdit (the result was removed, the operands are visible again, the boolean group keeps its operation and operand ids): id, operation, target_ids, cutter_ids and missing_ids (operand ids that no longer exist, e.g. after a parametric edit recreated the object). (read-only)
update_booleansRecomputes the dismantled Artisan booleans (ArtisanBooleanUpdate) from their stored operands: the result breps go back into the boolean group and the operands are hidden again.

Curve helpers

ToolWhat it does
curve_advancedDraws the ArtisanAdvancedCurve: a smooth degree-3 control-point curve through the given points, optionally mirrored (X, Y or XY = both axes) around the symmetry plane, optionally closed, plus an offset copy with connecting lines (offset 1 mm by default; 0 = no offset).
curves_auto_joinRuns ArtisanAutoJoin: joins every open curve whose ends touch (document tolerance), like selecting all open curves and running Join. curve_ids restricts the candidates; omitted = every visible curve in the document.
curve_cross_builderCreates the ArtisanCrossBuilder outline: a closed cross-shaped curve centred at the world origin (move it afterwards with transform_objects), stored as a parametric Cross object on the primary user layer.
curves_connectRuns ArtisanCurveConnect: builds an arc blend that leaves the first solid/surface along its normal at the point closest to first_point and arrives at the second one against its normal near second_point.
curve_infiniteRuns ArtisanInfiniteCurve: adds a very long reference line (type LINE, centred on base_point) or ray (type RAY, starting at base_point) to use as a construction guide.
curve_infinite_loopRuns ArtisanInfiniteLoopCurve: a closed lemniscate (infinity symbol, figure eight) centred at the given point on the construction plane. kind BERNOULLI (default, rounded lobes) or GERONO (figure-eight). width is the total width in mm (default 100), height_ratio scales the lobe height (default 0.5), height lifts the strands in Z at the crossing so one passes over the other (0 = flat, signed), flat_bottom raises only the upper lobe, samples = points per loop (default 180), rotation in degrees.
surface_iso_curvesRuns ArtisanIsoCurve: extracts the isocurve(s) of a surface (or single-face solid) passing through the point of the surface closest to the given point. direction U (default), V or BOTH.
curve_wavesRuns ArtisanWaves: builds a smooth wave (waves = number of full periods, default 3; height = peak-to-peak amplitude in mm, default 3) and flows it along an existing curve from start to end.
add_sketch_imagesRuns ArtisanAddSketches: places reference sketch images (PNG/JPG file paths) on the faces of a 10 x 10 x 10 mm box at the origin, two textured surfaces per view (top: z=0 and z=10; front: y=0 and y=10; side: x=0 and x=10), rendered display mode, grouped together.

Transform: placement and flow

ToolWhat it does
center_objectsMoves the objects, as one set, so the center of their common bounding box lands on the world origin (0,0,0) — the ArtisanCenter command.
move_randomMoves EACH object by distance mm along its own random direction (a different direction per object) — the ArtisanMoveRandom command, used to break the perfect regularity of pavé stones or beads so a render looks hand-set. distance 0/omitted = 0.05 mm (range -1000..1000).
scale_by_centerScales the objects uniformly by factor (> 0; 1 = no change) about the center of their common bounding box, so the set grows or shrinks in place — the ArtisanScaleByCenter command.
orient_on_surfacePlaces copies of the objects on a surface, polysurface or extrusion, one copy set per point in points, each oriented to the surface normal at the point closest to the pick — the ArtisanOrientOnSurface command (a bead, a gem+setting or a pattern cell dropped on a ring surface).
flow_by_curveFlows objects from a base curve onto a target curve (Rhino Flow space morph) — the ArtisanSmartFlowbyCurve panel.
flow_by_surfaceFlows objects from a base surface onto a target surface (Rhino Sporph space morph) — the ArtisanSmartFlowbySurface panel.

Manufacturing: trays

ToolWhat it does
distribute_objectsLays the objects out in a row along +X for a print/casting tray — the ArtisanDistribute command: each piece rests on Z = 0 with its back edge on Y = 0, chained left to right with a 10% gap of each piece’s width.
copy_objectsDuplicates the objects count times along -Y for a production tray — the ArtisanCopies command: each copy is one selection-height further (the union bounding box’s Y extent), all objects shift together so multi-part models stay assembled and the copies touch edge to edge. count 0/omitted = 1, max 100. Use distribute_objects afterwards to space them.

Parametric relations

ToolWhat it does
meet_mothers_and_childrenRe-matches every parametric child with its mother, like the ArtisanRefreshRelations command: each bezel, cutter, halo, basket, rope, milgrain… re-adopts the nearest gem or curve as mother.
apply_elementCopies the parameters of one existing Artisan element in the document onto other mothers and builds the same element there — the ArtisanApplyElement command: ‘put the bezel of this gem on those gems’, ‘apply this rope to those curves’.

Production exports

ToolWhat it does
export_all_in_oneMerges solids/meshes into ONE printable mesh and writes a binary STL (the ArtisanExportAllInOne tool).
export_from_layersWrites one STL per visible layer holding MESH objects, named ‘.stl’ inside folder (the ArtisanExportFromLayers tool) — the multi-part / multi-material print workflow.
import_to_layersImports every .stl in folder, each file into a layer named after the file with a distinct color per layer (the ArtisanImportToLayers tool) — the reverse of export_from_layers, and the way to bring a set of printed parts back for checking.

Production checks

ToolWhat it does
reduce_thicknessHollows a wall down to a uniform minimum thickness to save metal (the ArtisanReduceThickness tool).
check_balanceChecks how a pendant or earring hangs (the ArtisanBalancerChecker tool): the piece hangs from base_id (the bail, jump ring or hook) and gravity pulls the volume centroid of geometry_ids straight below it.
detect_non_printableFlags the objects that would not print (the ArtisanQuickNonPrintableDetector tool) using Rhino’s own selectors: bad objects, duplicates, open surfaces and open polysurfaces. (read-only)

Document and library

ToolWhat it does
standardize_documentStandardizes a document that came from elsewhere (the ArtisanStandardize tool), running the tool’s sequence: explode every block instance, recover the gems (ArtisanGemsRecover), move solids/meshes/surfaces/SubDs to the metal layers (ArtisanOrganizeObjectsByLayers), purge all render materials, re-apply the Artisan design materials and estimate the ring size.
export_elementsExports every saved element of one library type (the user’s presets: bezels, baskets, halos, pegheads…) to a JSON file (the ArtisanExportElementsByType tool) — the way to carry presets to another machine or to back them up. type is one of the names list_elements accepts (Bezel, Basket, Halo, Peghead, AdvancedBasket…).
import_elementsImports elements into the user’s library (the ArtisanImportElementsByFile tool): either a single ‘.raelement’ bundle (element + preview) or a ‘.json’ array as written by export_elements.
save_as_templateSaves the active document as the Artisan template (the ArtisanSaveAsTemplate tool): Rhino’s SaveAsTemplate to ‘/Templates/template.3dm’, the file new Artisan documents start from — set up layers, units, metals and finger size once, then save it as the template. path overrides the destination (‘.3dm’ appended).

Drafting extras

ToolWhat it does
reduce_dimensionsReduces the DISPLAYED value of distance dimensions by a percentage (the ArtisanDimensionsReduce command): only the dimension text is overridden, the geometry and the model are untouched.
restore_dimensionsRestores distance dimensions to their real measured value by putting back the <> placeholder, removing any text override made by reduce_dimensions or by hand (the ArtisanDimensionsRestore command).
add_logoCreates the logo used by the report sheet from the given objects (curves, text, surfaces…), like the ArtisanAddLogo command: copies them, scales the copies so the largest extent is 28 mm, centers them at (65, 25, 0), saves them as logo.3dm in the Artisan user folder and deletes the copies.
export_gems_excelExports the gems list of specific gems to a semicolon-delimited CSV that opens in Excel (the ArtisanGemsListToExcelBySelection / BySelectionGroups commands): columns Shape, Size X, Size Y, Carats, Quantity, Total Carats, identical gems merged with a quantity.
create_technical_chartRecomputes the production breakdown and returns the technical chart (the ArtisanTechnicalChart panel): per metal the net weight, waste, total and wax weight in grams, volume (mm3) and surface area (mm2); the gems by shape and size with count, carats, sieve and setting type; the printing sizes, setting processes, additional processes and extra components — everything except prices (for prices use calculate_price).
save_report_templateSaves the ACTIVE document as a report template (the ArtisanSaveReportTemplate command): a Save As into the report-templates folder, so the document adopts that path.
open_report_templateOpens a report template file as the active document to edit its layout (the ArtisanOpenReportTemplate command).
apply_artisan_layoutApplies the Artisan window layout to Rhino (the ArtisanLayout command / the ribbon’s Window Layout button): imports ArtisanSkin.rhw and activates the ‘Artisan’ layout of panels and toolbars. (read-only)

Pricing profiles

ToolWhat it does
get_markupReturns the company’s markup profile as JSON (the ArtisanMarkup dialog, Markup.json — NOT part of get_pricing_settings): Name, Notes, the main-stone cost bands P100_90 … (read-only)
set_markupUpdates one or more values of the markup profile and saves Markup.json (the ArtisanMarkup dialog’s Accept). values maps field name to value, e.g. {“P100_90”: 35, “OnlySettingMarkup”: 120, “Name”: “Retail”}; names are matched ignoring case and underscores, fields not given keep their value.
get_taxesReturns the company’s tax profile as JSON (the ArtisanTaxes dialog, Taxes.json — NOT part of get_pricing_settings): Mode (None, European, American, Canadian, OtherCountry), the region and tax id of that mode (EuropeanCou… (read-only)
list_tax_regionsLists the valid regions for a tax mode, to pick the region of set_taxes: EU member countries (European), US states (American), Canadian provinces (Canadian) or every country (OtherCountry). (read-only)
set_taxesUpdates the company’s tax profile and saves Taxes.json (the ArtisanTaxes dialog’s Accept).

Assistant

ToolWhat it does
get_design_summaryFull snapshot of the current design: file name, design type, metals, ring size and available sizing regions, layer names, a semantic description of every element (gems, settings, shanks…) and the document notes. (read-only)
get_pricing_and_boutiquePricing data for the current design: the INTERNAL manufacturing cost breakdown (materials, weights, labor) and the Boutique RETAIL data (regular/sale price, SKU, description). (read-only)
undoUndoes the last action in the document (Rhino undo). (destructive)
redoRedoes the last undone action in the document (Rhino redo). (destructive)
set_render_materialApplies a metal or gem render material to everything on a layer. layer_name e.g.
lie_on_groundRotates the design so it lies as flat as possible on the ground plane (render staging).
delete_dimensionsRemoves every annotation (dimensions) from the document. (destructive)
save_asSaves the document under a new file name, next to the current file (or in Documents when the file has never been saved). ‘.3dm’ is appended when missing.

Example session

You: Make me a 1-carat halo engagement ring, size 54, and tell me what it weighs in 18k white gold.

Your assistant places the center stone, builds the halo around it, creates the shank, adds the prong setting, and weighs the result — then shows you a render.

A finished, editable, parametric design appears in your viewport.

Every tool requires the RhinoArtisan plugin to be loaded with a valid license. If there’s a workflow you want your AI assistant to drive, tell us about it — real use cases decide what ships next.