.NET API
ThreeStonesApi
Three Stones ring top (the ArtisanThreeStones tool, headless): one center stone plus two symmetric side stones placed around a finger size — the classic trilogy engagement layout.
from ArtisanPlugin.Scripting import ThreeStonesApi
See also the Python package, ra.three_stones.
Methods
| Method | |
|---|---|
Create | Creates the editable Three Stones group. |
Edit | Edits an existing Three Stones set parametrically, like reopening it in the ArtisanThreeStones panel: objectId is any of its gems (or its finger circle). |
Create
IReadOnlyList<Guid> ThreeStonesApi.Create(
string centerShape,
double centerCarats,
string sideShape,
double sideCarats,
string centerMaterial = "Diamond",
string sideMaterial = "Diamond",
double centerDistance = 4,
double centerRotation = 0,
double sideDistance = 3.2,
double sideAngle = 28,
double sideRotation = 0,
double sideRotationY = 25,
double fingerDiameter = 0)
Creates the editable Three Stones group. The center stone sits at the top of the finger size; the side stones mirror each other at sideAngle degrees to each side, optionally leaning toward the center (sideRotationY). The stones always come from the arguments; the placement starts from the user’s saved Three Stones defaults when there are any (an argument left at its signature default keeps the saved value), otherwise from the tool’s own. fingerDiameter 0 = the document’s finger size. Returns the gem ids as [center, side A, side B] (the group also carries the finger reference circle).
| Parameter | Type | Default |
|---|---|---|
centerShape | string | required |
centerCarats | double | required |
sideShape | string | required |
sideCarats | double | required |
centerMaterial | string | "Diamond" |
sideMaterial | string | "Diamond" |
centerDistance | double | 4 |
centerRotation | double | 0 |
sideDistance | double | 3.2 |
sideAngle | double | 28 |
sideRotation | double | 0 |
sideRotationY | double | 25 |
fingerDiameter | double | 0 |
Returns IReadOnlyList<Guid>.
Edit
IReadOnlyList<Guid> ThreeStonesApi.Edit(
Guid objectId,
double centerDistance = double.NaN,
double sideDistance = double.NaN,
double sideAngle = double.NaN,
double centerRotation = double.NaN,
double sideRotation = double.NaN,
double sideRotationY = double.NaN,
string centerShape = null,
double centerCarats = double.NaN,
string centerMaterial = null,
string sideShape = null,
double sideCarats = double.NaN,
string sideMaterial = null,
double fingerDiameter = double.NaN)
Edits an existing Three Stones set parametrically, like reopening it in the ArtisanThreeStones panel: objectId is any of its gems (or its finger circle). Pass only what changes — NaN / null keep the stored value. The distances are each stone’s height above the ring (“Distance above ring” in the panel): change them to raise or lower the stones, never move the gems directly. A new shape or material keeps the carats unless they are given too. The set is rebaked around the finger size with NEW gem ids, returned as [center, side A, side B]; settings built on the stones (a trilogy, a basket…) are re-pointed to them and flagged for regeneration (coral in the outliner, rebuilt on Refresh).
| Parameter | Type | Default |
|---|---|---|
objectId | Guid | required |
centerDistance | double | double.NaN |
sideDistance | double | double.NaN |
sideAngle | double | double.NaN |
centerRotation | double | double.NaN |
sideRotation | double | double.NaN |
sideRotationY | double | double.NaN |
centerShape | string | null |
centerCarats | double | double.NaN |
centerMaterial | string | null |
sideShape | string | null |
sideCarats | double | double.NaN |
sideMaterial | string | null |
fingerDiameter | double | double.NaN |
Returns IReadOnlyList<Guid>.