IEternity
Returned by EternityApi — an eternity ring: a band with gems all around. Multiple gems, so no single mother gem. Adds to IParametricObject:
| Member | Meaning |
|---|
RingSizeLabel | Ring size label, e.g. "6", "M" |
RingSizeRegion | Ring size region, e.g. "US", "EU" |
RingDiameterMm | Inner diameter, mm |
Gems | The stones around the band — IEternityGems |
Prongs | The prongs holding them — IEternityProngs |
Bezels | The bezel rails — IEternityBezels |
Shank | The two band halves — IEternityShank |
All four sections are live views over the ring’s stored parameters: their getters read the current values and every setter regenerates the ring in place (same Guid), re-baking its stones.
from ArtisanPlugin.Scripting import EternityApi as eternity, Transaction
ring = eternity.All()[0]
with Transaction.Begin("Half eternity in emerald cut"):
ring.Gems.SetShape("EMERALD")
ring.Gems.SetDistribution("HALF")
ring.Prongs.SetMode("CURVED")
Stones (IEternityGems)
| Member | Meaning |
|---|
Shape | "ROUND", "PRINCESS", … |
Material | "Diamond", "Ruby", … |
CaratWeight | Carat weight of one stone |
SizeX / SizeY / SizeZ | Stone dimensions, mm |
Distribution | "FULL", "HALF", "THREEQUARTERS", "FIVESTONES", "SEVENSTONES" or "NINESTONES" |
Orientation | "NATURAL" or "ROTATED" |
MinDistance | Minimum distance between stones, mm |
MoveInZ | Radial displacement of the stone row, mm |
SetShape / SetMaterial / SetCaratWeight | The stone template |
SetSize(x, y, z) | Explicit dimensions in one call, mm |
SetDistribution / SetOrientation | How the row runs around the band |
SetMinDistance / SetMoveInZ | Placement, mm |
Prongs (IEternityProngs)
| Member | Meaning |
|---|
Distribution | "SHARED" or "INDIVIDUAL_FOR_EACH_GEM" |
Mode | "STRAIGHT" or "CURVED" |
TopDistance / BottomDistance | mm |
TopDiameter / BottomDiameter | mm |
HeightOverGirdle | mm |
IndividualTopDistance / IndividualBottomDistance | mm — used with the individual distribution |
ExpansionManufacturing | mm |
SetDistribution / SetMode | |
SetTopDistance / SetBottomDistance / SetTopDiameter / SetBottomDiameter / SetHeightOverGirdle | mm |
SetIndividualTopDistance / SetIndividualBottomDistance / SetExpansionManufacturing | mm |
Bezel rails (IEternityBezels)
| Member | Meaning |
|---|
RailMode | "SINGLE" or "DOUBLE" |
RailShape | "ROUND", "RECTANGLE" or "OVAL" |
ProfileShape | "ROUND" or "SQUARE" |
RemoveFinger | Whether the finger volume is removed |
TopRail / BottomRail | The two rails — IEternityRail each |
SetRailMode / SetRailShape / SetProfileShape / SetRemoveFinger | |
A rail (IEternityRail)
| Member | Meaning |
|---|
Diameter / Width / Height / MoveInZ | Rail section and placement, mm |
ThreadDiameter / ThreadX / ThreadY | Thread, mm |
SetDiameter / SetWidth / SetHeight / SetMoveInZ / SetThreadDiameter | mm |
SetThread(x, y) | Both thread axes in one call, mm |
Band (IEternityShank)
| Member | Meaning |
|---|
StartingCap / EndingCap | Caps where the two halves meet, mm |
Upper / Lower | The two band halves — IEternityShankParams each |
SetStartingCap / SetEndingCap | mm |
A band half (IEternityShankParams)
| Member | Meaning |
|---|
ProfileName | RING_PROFILE asset name, "" when unset |
Type | "SOLID", "COMFORT" or "THICKNESS" |
Width / Height | Band section, mm |
ProfileThickness / HeightComfort | mm |
ProfileType | Profile type selector |
ProfileOrientation | 0 = Natural, 1 = Reverse |
SetProfile(assetName) | RING_PROFILE asset by name |
SetType / SetWidth / SetHeight / SetProfileThickness / SetHeightComfort | |
SetProfileType / SetProfileOrientation | |
String parameters are case-insensitive and tolerate dashes/spaces; an unknown value raises a clear error listing the valid ones.