Skip to content

Scripting API

IMatchingShank

Returned by MatchingShankApi — a band shaped to sit against an existing ring (the “mother”), so the pair stacks without a gap. Multiple gems, so no single mother gem; the rings it was fitted to are in MotherRingIds. Adds to IParametricObject:

MemberMeaning
RingSizeLabel / RingSizeRegion / RingDiameterMmRing size
MotherRingIdsThe ring(s) this shank was fitted against
RingCurveIdThe rail it follows, Guid.Empty when built from the ring size
CurveFromRingSizeRail generated from the ring size instead of a picked curve
Metale.g. "GOLD_YELLOW_18"
ProfileNameRING_PROFILE asset name, "" when unset
ProfileWidth / ProfileHeightBand section at the top, mm
BottomWidth / BottomHeightBand section at the bottom, mm — 0 = same as the top
NumberOfPointsSections used to follow the mother — always even
ClearanceGap kept against the mother, mm
DistanceAxial gap; negative presses the band into the mother, mm
TopDistanceExtra axial gap at the ring top, fading to 0 at 90 degrees, mm
InteriorType"SOLID" or "COMFORT"
Comfortmm — used when InteriorType is "COMFORT"
FlipSide / BothSidesWhich side of the mother to build on
SectionDeltasYour per-section adjustment, mm
SectionContactOffsetsWhat the last computation measured — read-only output
GemsThe gems row — IMatchingShankGems
SetProfile(assetName)RING_PROFILE asset by name
SetProfileWidth / SetProfileHeight / SetBottomWidth / SetBottomHeightBand sections, mm
SetNumberOfPoints(points)Must be even and >= 2
SetClearance / SetDistance / SetTopDistanceThe fit, mm
SetInteriorType / SetComfort
SetFlipSide / SetBothSides
SetSectionDeltas(deltas)One value per section, mm

Every setter regenerates the shank in place (same Guid), re-baking its gems and prongs — and, with BothSides on, both bands.

Gems row (IMatchingShankGems)

MemberMeaning
EnabledWhether the row is built
GemShape / GemSizeThe stone template
Distribution"FULL", "SIDE" or "TOP"
StartAngle / EndAngleDegrees from the top — used with "SIDE"
TopAngleTotal arc in degrees — used with "TOP"
Angle / RowOffsetRow placement
MinDistance / Margin / InnerMargin / Vertical / GemInsidePlacement, mm
InnerWidth / InnerHeightInner channel at the top, mm
BottomInnerWidth / BottomInnerHeightAt the bottom, mm — 0 = same as the top
BrightCutmm
Gradient / GradientPoints / GradientMiddlePositionStone-size gradient
GemSizeStart / GemSizeMiddle / GemSizeEndGradient sizes, mm
ProngType / ProngHeight"NONE", "SHARED" or "SCALLOPED"
AutomaticProngDiameter / ProngDiameterProng sizing
ProngTopDiametermm — 0 = automatic
ProngBottomDiametermm — 0 = same as the top
ProngGrow / ProngMinDiameter / EndProngCount / ProngSpacing / ProngDistanceProng layout
DrillEnabled / DrillType / DrillWidth / DrillHeight / DrillVisible / DrillAllowIntersectionDrills
ExtensionForManufacturingmm
DoubleProngSetting / ScallopRemoveChannelScalloped-setting switches
ScallopGemWidthScallopProngHeightScalloped proportions (percentages, not mm)
SetEnabled, SetGemShape, SetGemSize, SetAngle, SetRowOffsetThe row itself
SetDistribution, SetSideAngles(start, end), SetTopAngleWhere the row runs
SetMinDistance, SetMargin, SetInnerMargin, SetVertical, SetGemInsidePlacement
SetInnerWidth, SetInnerHeight, SetBottomInnerWidth, SetBottomInnerHeight, SetBrightCutChannel
SetGradient, SetGradientPoints, SetGradientMiddlePosition, SetGemSizeGradient(start, middle, end)The gradient
SetProngType, SetProngHeight, SetAutomaticProngDiameter, SetProngDiameter, SetProngTopDiameter, SetProngBottomDiameter, SetProngGrow, SetProngMinDiameter, SetEndProngCount, SetProngSpacing, SetProngDistanceProngs
SetDrillEnabled, SetDrillType, SetDrillWidth, SetDrillHeight, SetDrillVisible, SetDrillAllowIntersectionDrills
SetExtensionForManufacturing, SetDoubleProngSetting, SetScallopRemoveChannel
SetScallopGem(w, h) / SetScallopRail(w, h) / SetScallopProng(w, h)Scalloped proportions

String parameters are case-insensitive and tolerate dashes/spaces; an unknown value raises a clear error listing the valid ones.