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:
| Member | Meaning |
|---|---|
RingSizeLabel | Ring size label, e.g. "54" |
RingSizeRegion | Ring size region, e.g. "EUROPE" |
RingDiameterMm | Inner diameter, mm |
TopProfile / MidProfile / BottomProfile | The three section profiles — IClassicProfile each |
ExternalProfile | The outside-face profile — IClassicExternalProfile |
Advanced | The band opening — IClassicAdvanced |
Gems | The gems row — IClassicGems |
MountingHoles | The 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:
| Member | Meaning |
|---|---|
Enabled | Whether this section is built (always true for the top profile) |
ProfileName | Name of the RING_PROFILE asset, "" when unset |
Type | How the open profile curve is closed: "SOLID", "COMFORT" or "THICKNESS" |
Height / Width | Band section, mm |
Thickness | Wall thickness, mm — used when Type is "THICKNESS" |
Comfort | Comfort depth, mm — used when Type is "COMFORT" |
Rotation | Profile rotation, degrees |
Displacement | Profile displacement, mm |
Orientation | 0 = 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:
| Member | Meaning |
|---|---|
Enabled | Whether the external profile is applied |
ProfileName | Name of the EXTERNAL_RING_PROFILE asset, "" when unset |
Top / Mid / Bottom | External 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:
| Member | Meaning |
|---|---|
OpeningType | "NONE", "CUT" or "STRANGLE" |
CutLength / CutBumping | Cut opening parameters, mm — used when "CUT" |
StrangleOpening | Opening width, mm — used when "STRANGLE" |
StrangleBaseX / StrangleBaseY / StrangleBaseZ | Strangle 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:
| Member | Meaning |
|---|---|
Enabled | Whether the gems row is built |
GemShape | "ROUND", "PRINCESS", … |
GemSize | Gem size, mm |
Angle | Degrees of the band covered by gems (180 = top half) |
MinDistance | Minimum distance between gems, mm |
Margin | Side margin, mm |
Vertical | Vertical displacement of the row, mm |
GemInside | How deep the gems sit inside, mm |
InnerWidth / InnerHeight | Inner channel section, mm |
BrightCut | Bright-cut width, mm |
ProngType | "NONE" (channel), "SHARED", "SCALLOPED" or "FLUSH" (no channel) |
ProngHeight / ProngMoveInZ | Prong height and Z displacement, 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 |
SplitRunAtTop | Closed 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 / DrillHeight | Drill section, mm |
DrillAllowIntersection | Whether drills may intersect |
ExtensionForManufacturing | Manufacturing 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:
| Member | Meaning |
|---|---|
Mode | "NONE" (no holes), "SINGLE" (one peg at the centre) or "DOUBLE" (two pegs, Distance apart) |
Diameter | Peg diameter, mm |
Depth | Hole depth from the surface of the band, mm — capped so a wall stays over the finger; ignored when Through |
Distance | Centre to centre between the two holes along the band, mm ("DOUBLE") |
Offset | Signed shift of the holes and the seat along the band from the top centre, mm |
Through | true: the holes go through to the finger |
FlatSeat | true: a flat seat is milled on the top of the band for the head base |
SeatLength | The 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.