Skip to content

Scripting API

IClassic

Returned by ClassicApi — the classic comfort-fit ring shank. Multiple gems possible, so no single mother gem (MotherGemId is empty). Adds to IParametricObject:

MemberMeaning
RingSizeLabelRing size label, e.g. "54"
RingSizeRegionRing size region, e.g. "EUROPE"
RingDiameterMmInner diameter, mm
TopProfile / MidProfile / BottomProfileThe three section profiles — IClassicProfile each
ExternalProfileThe outside-face profile — IClassicExternalProfile
AdvancedThe band opening — IClassicAdvanced
GemsThe gems row — IClassicGems
SetWidth(width) / SetHeight(height)Shortcuts for the two most common edits — same as TopProfile.SetWidth / TopProfile.SetHeight

The six section members 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.

from ArtisanPlugin.Scripting import ClassicApi as classic, Transaction

ring = classic.Selected()[0]
with Transaction.Begin("Slimmer band with a gem row"):
    ring.TopProfile.SetWidth(2.2)
    ring.Gems.SetEnabled(True)
    ring.Gems.SetGemSize(1.5)
    ring.Gems.SetAngle(200)

Section profiles (IClassicProfile)

TopProfile, MidProfile and BottomProfile share this surface. The top profile is always enabled (calling its SetEnabled raises); mid and bottom are optional extra sections:

MemberMeaning
EnabledWhether this section is built (always true for the top profile)
ProfileNameName of the RING_PROFILE asset, "" when unset
TypeHow the open profile curve is closed: "SOLID", "COMFORT" or "THICKNESS"
Height / WidthBand section, mm
ThicknessWall thickness, mm — used when Type is "THICKNESS"
ComfortComfort depth, mm — used when Type is "COMFORT"
RotationProfile rotation, degrees
DisplacementProfile displacement, mm
Orientation0 = Natural, 1 = Reverse (flips the profile curve)
SetEnabled(enabled)Enable/disable the section (mid and bottom only)
SetProfile(assetName)Swap the profile — a RING_PROFILE asset by name
SetType(type)"SOLID", "COMFORT" or "THICKNESS"
SetHeight(height) / SetWidth(width)Band section, mm
SetThickness(thickness) / SetComfort(comfort)mm
SetRotation(degrees) / SetDisplacement(displacement)Rotate / displace the profile
SetOrientation(orientation)0 or 1

External profile (IClassicExternalProfile)

The optional profile carved on the shank’s outside face:

MemberMeaning
EnabledWhether the external profile is applied
ProfileNameName of the EXTERNAL_RING_PROFILE asset, "" when unset
Top / Mid / BottomExternal height at each zone, mm
SetEnabled(enabled)Turn the external profile on/off
SetProfile(assetName)Swap the profile — an EXTERNAL_RING_PROFILE asset by name
SetTop(height) / SetMid(height) / SetBottom(height)mm

Opening (IClassicAdvanced)

The opening at the bottom of the band:

MemberMeaning
OpeningType"NONE", "CUT" or "STRANGLE"
CutLength / CutBumpingCut opening parameters, mm — used when "CUT"
StrangleOpeningOpening width, mm — used when "STRANGLE"
StrangleBaseX / StrangleBaseY / StrangleBaseZStrangle base section, mm
SetOpeningType(openingType)"NONE", "CUT" or "STRANGLE"
SetCutLength(length) / SetCutBumping(bumping)mm
SetStrangleOpening(opening)mm
SetStrangleBase(x, y, z)The three base dimensions in one call, mm

Gems row (IClassicGems)

The row of gems the shank can carry around its band. Enabling or editing it re-bakes the gems and prongs as child objects:

MemberMeaning
EnabledWhether the gems row is built
GemShape"ROUND", "PRINCESS", …
GemSizeGem size, mm
AngleDegrees of the band covered by gems (180 = top half)
MinDistanceMinimum distance between gems, mm
MarginSide margin, mm
VerticalVertical displacement of the row, mm
GemInsideHow deep the gems sit inside, mm
InnerWidth / InnerHeightInner channel section, mm
BrightCutBright-cut width, mm
ProngType"NONE", "SHARED" or "SCALLOPED"
ProngHeight / ProngMoveInZProng height and Z displacement, mm
AutomaticProngDiameter / ProngDiameterAutomatic diameter, or the explicit one in mm
DrillType"NONE", "ROUND" or "QUAD"
DrillWidth / DrillHeightDrill section, mm
DrillAllowIntersectionWhether drills may intersect
ExtensionForManufacturingManufacturing extension, mm
SetEnabled(enabled)Turn the gems row on/off
SetGemShape(shape) / SetGemSize(size)The gem template
SetAngle(degrees)> 0 and <= 360
SetMinDistance(distance) / SetMargin(margin) / SetVertical(vertical) / SetGemInside(gemInside)Placement, mm
SetInnerWidth(width) / SetInnerHeight(height) / SetBrightCut(brightCut)Channel, mm
SetProngType(prongType) / SetProngHeight(height) / SetProngMoveInZ(move)Prongs
SetAutomaticProngDiameter(automatic) / SetProngDiameter(diameter)Prong diameter
SetDrillType(drillType) / SetDrillWidth(width) / SetDrillHeight(height) / SetDrillAllowIntersection(allow)Drills
SetExtensionForManufacturing(extension)mm

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