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
MountingHolesThe gemset peg holes at the top of the band — IClassicMountingHoles
SetWidth(width) / SetHeight(height)Shortcuts for the two most common edits — same as TopProfile.SetWidth / TopProfile.SetHeight

The seven 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" (channel), "SHARED", "SCALLOPED" or "FLUSH" (no channel)
ProngHeight / ProngMoveInZProng height and Z displacement, mm
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
SplitRunAtTopClosed band only: true opens the gem run at the top of the band, so Margin is measured from the top centre down each side (the band stays closed); false lets the run cross the top
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. "SCALLOPED" also drops the channel under the stones (SetRemoveChannel(false) brings it back)
SetAutomaticProngDiameter(automatic) / SetProngDiameter(diameter)Prong diameter
SetAutomaticProngDistance(automatic) / SetProngDistance(distance)Prong distance (0 = one prong per gap)
SetSplitRunAtTop(split)Open the run at the top of a closed band; only acts with the "NONE" opening
SetDrillType(drillType) / SetDrillWidth(width) / SetDrillHeight(height) / SetDrillAllowIntersection(allow)Drills
SetExtensionForManufacturing(extension)mm

Mounting holes (IClassicMountingHoles)

The peg holes a head is set and soldered into at the top of the band, always vertical (parallel to the ring axis), with an optional flat seat for its base. Lengths in mm along the band from the top centre:

MemberMeaning
Mode"NONE" (no holes), "SINGLE" (one peg at the centre) or "DOUBLE" (two pegs, Distance apart)
DiameterPeg diameter, mm
DepthHole depth from the surface of the band, mm — capped so a wall stays over the finger; ignored when Through
DistanceCentre to centre between the two holes along the band, mm ("DOUBLE")
OffsetSigned shift of the holes and the seat along the band from the top centre, mm
Throughtrue: the holes go through to the finger
FlatSeattrue: a flat seat is milled on the top of the band for the head base
SeatLengthThe chord of the flat seat along the band, mm
SetMode(mode)"NONE", "SINGLE" or "DOUBLE"
SetDiameter(diameter) / SetDepth(depth) / SetDistance(distance) / SetOffset(offset)mm
SetThrough(through) / SetFlatSeat(flatSeat) / SetSeatLength(length)The seat and the through option

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