Scripting API
ICathedral
Returned by CathedralApi — the cathedral ring shank: arms rising toward the setting. Like Classic, a multi-gem ring body with no single mother gem. Adds to IParametricObject:
| Member | Meaning |
|---|---|
RingSizeLabel / RingSizeRegion | Ring size as label + region |
RingDiameterMm | Inner diameter, mm |
Shank | The band, arms and bridge — ICathedralShank |
Gems | The pavé row — ICathedralGems |
BridgeGems | The stones on the two side faces of the bridge — an ICathedralGems of its own, apart from Gems. "ANGLE" fills the face and "COUNT" sets Count per face (Angle is not used); ProngType is "FLUSH", "NONE" or "SHARED", never "SCALLOPED". While enabled the bridge has no disc and no fillet, and BridgeThickness grows to the gem size + 0.2 mm |
SetTopWidth / SetTopHeight / SetBottomWidth / SetBottomHeight | Shortcuts for the most common edits — same as the equivalent Shank setters |
All three sections are live views over the shank’s stored parameters: their getters read the current values and every setter regenerates the shank in place (same Guid), gems and prongs included.
Band and arms (ICathedralShank)
| Member | Meaning |
|---|---|
ProfileName | RING_PROFILE asset name, "" when unset |
TopWidth / TopHeight | Band section at the top, mm |
BottomWidth / BottomHeight | Band section at the bottom, mm |
ArmAngle | Arm angle, degrees |
ArmWidth | Opening between the rising arms, mm |
ArmHeight | How high the arms climb over the finger circle, mm |
ArmTangent | Tangency of the arm transition |
CapDistance | mm |
BridgeEnabled | Whether the bridge spanning the arms is built |
BridgeWidth / BridgeThickness / BridgeDiameter / BridgeFillet | Bridge section, mm |
SetProfile(assetName) | Swap the profile — a RING_PROFILE asset by name |
SetTopWidth / SetTopHeight / SetBottomWidth / SetBottomHeight | Band sections, mm |
SetArmAngle / SetArmWidth / SetArmHeight / SetArmTangent / SetCapDistance | The arms |
SetBridgeEnabled / SetBridgeWidth / SetBridgeThickness / SetBridgeDiameter / SetBridgeFillet | The bridge |
Accent gems (BridgeGems)
BridgeGems is a second ICathedralGems, independent from Gems: the stones on the two side faces of the bridge (the faces seen in the ring’s profile view), with their own size, setting, prongs and drill. The advanced cathedral has the same member.
It reads and writes like the pavé row, with these differences:
- The stones are centred on the top of the bridge and stop before the arms.
Mode"ANGLE"fills the visible face and"COUNT"sets exactlyCountstones per face;Angleis not used. SetProngTypetakes"FLUSH","NONE"(channel) or"SHARED"(prongs)."SCALLOPED"is rejected.- In
"FLUSH"every stone cuts its own seat with the drill cutter, whether the drill is enabled or not. - They need the bridge:
Shank.BridgeEnabledhas to be true. While they are on, the bridge has no disc and no fillet (BridgeDiameterandBridgeFilletare ignored). - Enabling them or raising
GemSizegrowsShank.BridgeThicknessto the gem size + 0.2 mm when it is thinner. Setting a thinner bridge afterwards fails to regenerate.
import rhinoartisan as ra
shank = ra.cathedral.create(bridge_gems=True, bridge_gem_size=1.2)
shank.bridge_gems.prong_type = "SHARED"
shank.bridge_gems.count = 5 # exactly 5 stones on each face
Pavé row (ICathedralGems)
The row of small stones along the top — one run per arm. The advanced cathedral shares this exact section.
| Member | Meaning |
|---|---|
Enabled | Whether the row is built |
GemShape | "ROUND", "PRINCESS", … |
GemSize | Stone size, mm |
Angle | Degrees of the band covered by gems (180 = top half) |
MinDistance / Margin / InnerMargin / Vertical / GemInside | Placement, mm |
InnerWidth / InnerHeight / BrightCut | Inner channel, mm |
ProngType | "NONE", "SHARED" or "SCALLOPED" |
ProngHeight | mm |
AutomaticProngDiameter / ProngDiameter | Automatic diameter, or the explicit one in mm |
AutomaticProngDistance / ProngDistance | true: the two prongs of a gap sit where they fit tangent to the stones and the channel edges; false: at ProngDistance mm centre to centre, 0 = one prong per gap on the centre line |
DrillEnabled / DrillType / DrillWidth / DrillHeight | Drills — type is "NONE", "ROUND" or "QUAD" |
DrillVisible / DrillAllowIntersection | Bake the drill cutters, allow them to intersect |
ExtensionForManufacturing | mm |
DoubleProngSetting / ScallopRemoveChannel | Scalloped-setting switches |
ScallopGemWidth / ScallopGemHeight / ScallopRailWidth / ScallopRailHeight / ScallopProngWidth / ScallopProngHeight | Scalloped proportions (percentages, not mm) |
SetEnabled, SetGemShape, SetGemSize, SetAngle | The row itself |
SetMinDistance, SetMargin, SetInnerMargin, SetVertical, SetGemInside | Placement, mm |
SetInnerWidth, SetInnerHeight, SetBrightCut | Channel, mm |
SetProngType, SetProngHeight, SetAutomaticProngDiameter, SetProngDiameter, SetAutomaticProngDistance, SetProngDistance | Prongs |
SetDrillEnabled, SetDrillType, SetDrillWidth, SetDrillHeight, SetDrillVisible, SetDrillAllowIntersection | Drills |
SetExtensionForManufacturing, SetDoubleProngSetting, SetScallopRemoveChannel | |
SetScallopGem(w, h) / SetScallopRail(w, h) / SetScallopProng(w, h) | Scalloped proportions, in one call each |
String parameters are case-insensitive and tolerate dashes/spaces; an unknown value raises a clear error listing the valid ones.