Python package
ra.three_stones
The classic three-stone layout.
import rhinoartisan as ra
Wraps ArtisanPlugin.Scripting.ThreeStonesApi.
Functions
| Function | |
|---|---|
create() | Creates the editable Three Stones group. |
edit() | Edits an existing Three Stones set parametrically, like reopening it in the ArtisanThreeStones panel: object_id is any of its gems (or its finger circle). |
ra.three_stones.create()
ra.three_stones.create(center_shape: str, center_carats: float, side_shape: str, side_carats: float, center_material=None, side_material=None, center_distance=None, center_rotation=None, side_distance=None, side_angle=None, side_rotation=None, side_rotation_y=None, finger_diameter=None) -> List[str]
Creates the editable Three Stones group. The center stone sits at the top of the finger size; the side stones mirror each other at side_angle 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. finger_diameter 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 | |
|---|---|---|
center_shape | str | required |
center_carats | float | required |
side_shape | str | required |
side_carats | float | required |
center_material | str | optional — None = the tool default |
side_material | str | optional — None = the tool default |
center_distance | float | optional — None = the tool default |
center_rotation | float | optional — None = the tool default |
side_distance | float | optional — None = the tool default |
side_angle | float | optional — None = the tool default |
side_rotation | float | optional — None = the tool default |
side_rotation_y | float | optional — None = the tool default |
finger_diameter | float | optional — None = the tool default |
ra.three_stones.edit()
ra.three_stones.edit(object_id: IdLike, center_distance=None, side_distance=None, side_angle=None, center_rotation=None, side_rotation=None, side_rotation_y=None, center_shape=None, center_carats=None, center_material=None, side_shape=None, side_carats=None, side_material=None, finger_diameter=None) -> List[str]
Edits an existing Three Stones set parametrically, like reopening it in the ArtisanThreeStones panel: object_id is any of its gems (or its finger circle). Pass only what changes — NaN / None 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 | |
|---|---|---|
object_id | IdLike | required |
center_distance | float | optional — None = the tool default |
side_distance | float | optional — None = the tool default |
side_angle | float | optional — None = the tool default |
center_rotation | float | optional — None = the tool default |
side_rotation | float | optional — None = the tool default |
side_rotation_y | float | optional — None = the tool default |
center_shape | str | optional — None = the tool default |
center_carats | float | optional — None = the tool default |
center_material | str | optional — None = the tool default |
side_shape | str | optional — None = the tool default |
side_carats | float | optional — None = the tool default |
side_material | str | optional — None = the tool default |
finger_diameter | float | optional — None = the tool default |