Skip to content

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:

MemberMeaning
RingSizeLabel / RingSizeRegionRing size as label + region
RingDiameterMmInner diameter, mm
ShankThe band, arms and bridge — ICathedralShank
GemsThe pavé row — ICathedralGems
BridgeGemsThe 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 / SetBottomHeightShortcuts 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)

MemberMeaning
ProfileNameRING_PROFILE asset name, "" when unset
TopWidth / TopHeightBand section at the top, mm
BottomWidth / BottomHeightBand section at the bottom, mm
ArmAngleArm angle, degrees
ArmWidthOpening between the rising arms, mm
ArmHeightHow high the arms climb over the finger circle, mm
ArmTangentTangency of the arm transition
CapDistancemm
BridgeEnabledWhether the bridge spanning the arms is built
BridgeWidth / BridgeThickness / BridgeDiameter / BridgeFilletBridge section, mm
SetProfile(assetName)Swap the profile — a RING_PROFILE asset by name
SetTopWidth / SetTopHeight / SetBottomWidth / SetBottomHeightBand sections, mm
SetArmAngle / SetArmWidth / SetArmHeight / SetArmTangent / SetCapDistanceThe arms
SetBridgeEnabled / SetBridgeWidth / SetBridgeThickness / SetBridgeDiameter / SetBridgeFilletThe 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 exactly Count stones per face; Angle is not used.
  • SetProngType takes "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.BridgeEnabled has to be true. While they are on, the bridge has no disc and no fillet (BridgeDiameter and BridgeFillet are ignored).
  • Enabling them or raising GemSize grows Shank.BridgeThickness to 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.

MemberMeaning
EnabledWhether the row is built
GemShape"ROUND", "PRINCESS", …
GemSizeStone size, mm
AngleDegrees of the band covered by gems (180 = top half)
MinDistance / Margin / InnerMargin / Vertical / GemInsidePlacement, mm
InnerWidth / InnerHeight / BrightCutInner channel, mm
ProngType"NONE", "SHARED" or "SCALLOPED"
ProngHeightmm
AutomaticProngDiameter / ProngDiameterAutomatic diameter, or the explicit one in mm
AutomaticProngDistance / ProngDistancetrue: 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 / DrillHeightDrills — type is "NONE", "ROUND" or "QUAD"
DrillVisible / DrillAllowIntersectionBake the drill cutters, allow them to intersect
ExtensionForManufacturingmm
DoubleProngSetting / ScallopRemoveChannelScalloped-setting switches
ScallopGemWidth / ScallopGemHeight / ScallopRailWidth / ScallopRailHeight / ScallopProngWidth / ScallopProngHeightScalloped proportions (percentages, not mm)
SetEnabled, SetGemShape, SetGemSize, SetAngleThe row itself
SetMinDistance, SetMargin, SetInnerMargin, SetVertical, SetGemInsidePlacement, mm
SetInnerWidth, SetInnerHeight, SetBrightCutChannel, mm
SetProngType, SetProngHeight, SetAutomaticProngDiameter, SetProngDiameter, SetAutomaticProngDistance, SetProngDistanceProngs
SetDrillEnabled, SetDrillType, SetDrillWidth, SetDrillHeight, SetDrillVisible, SetDrillAllowIntersectionDrills
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.