Python package
ra.anniversary
Anniversary bands - a plain band with a row of touching bezel-set stones along the top (the ArtisanAnniversary tool).
import rhinoartisan as ra
Wraps ArtisanPlugin.Scripting.AnniversaryApi.
Functions
| Function | |
|---|---|
all() | Anniversary handles for every object of this kind in the active document (empty when there is no document). |
by_layer() | Anniversary handles on the layer with the given full path (empty when the layer does not exist). |
count() | Number of objects of this kind in the active document. |
create() | Builds an anniversary band — the ArtisanAnniversary tool, headless. |
find() | The handle for id, or None when the id does not belong to an object of this kind. |
selected() | Anniversary handles for the objects of this kind currently selected in the active document. |
ra.anniversary.all()
ra.anniversary.all() -> List[Anniversary]
Anniversary handles for every object of this kind in the active document (empty when there is no document).
ra.anniversary.by_layer()
ra.anniversary.by_layer(layer_name: str) -> List[Anniversary]
Anniversary handles on the layer with the given full path (empty when the layer does not exist).
| Parameter | Type | |
|---|---|---|
layer_name | str | required |
ra.anniversary.count()
ra.anniversary.count() -> int
Number of objects of this kind in the active document.
ra.anniversary.create()
ra.anniversary.create(finger_diameter=None, distribution=None, size_distribution=None, shape=None, material=None, stone_size=None, center_stone_size=None, side_stone_size=None, elevation=None, drill=None, top_width=None, top_height=None, bottom_width=None, bottom_height=None, profile=None, interior=None, bezel_profile=None, bezel_gem_inside=None, plane=None, element=None) -> Anniversary
Builds an anniversary band — the ArtisanAnniversary tool, headless. Millimetres; omitting keeps the tool default (or the user’s saved defaults): top profile 1.8 x 1.6 (under the stones), bottom profile 2.0 x 1.5 (the back). finger_diameter 0 = the document’s finger size. profile picks a RING_PROFILE asset by name for both sections; interior SOLID or COMFORT (both sections). The stones sit in bezel cups that touch each other and ARE the ring there (no band under them). distribution, as Eternity: HALF (default), THREEQUARTERS (as many cups as fit in that share of the ring), FULL (all round, no band), FIVESTONES, SEVENSTONES or NINESTONES; centred on the top. size_distribution UNIFORM (default, every stone stone_size, 2.0) or GRADUATED (center_stone_size 3.0 in the middle down to side_stone_size 1.8 at both ends); centre / side sizes without a size distribution mean GRADUATED. shape ROUND (default), PRINCESS, RADIANT, OVAL or EMERALD; material a GemCompound name (Diamond default, Ruby, Sapphire…). elevation mm the stones sit above the finger (0.3, NaN keeps it; the cups always run down to the finger and are trimmed by it); drill (default True) seats every stone (it opens the end cups through the band). bezel_profile picks a BEZEL_PROFILE asset by name; bezel_gem_inside mm the lip closes over the stones (NaN keeps it). element = name of a saved Anniversary element (ra.elements.list(“Anniversary”)) to start from; explicit arguments override it. Returns the Anniversary handle.
| Parameter | Type | |
|---|---|---|
finger_diameter | float | optional — None = the tool default |
distribution | str | optional — None = the tool default |
size_distribution | str | optional — None = the tool default |
shape | str | optional — None = the tool default |
material | str | optional — None = the tool default |
stone_size | float | optional — None = the tool default |
center_stone_size | float | optional — None = the tool default |
side_stone_size | float | optional — None = the tool default |
elevation | float | optional — None = the tool default |
drill | Optional[bool] | optional — None = the tool default |
top_width | float | optional — None = the tool default |
top_height | float | optional — None = the tool default |
bottom_width | float | optional — None = the tool default |
bottom_height | float | optional — None = the tool default |
profile | str | optional — None = the tool default |
interior | str | optional — None = the tool default |
bezel_profile | str | optional — None = the tool default |
bezel_gem_inside | float | optional — None = the tool default |
plane | Optional[PlaneLike] | optional — None = the tool default |
element | str | optional — None = the tool default |
ra.anniversary.find()
ra.anniversary.find(id: IdLike) -> Anniversary
The handle for id, or None when the id does not belong to an object of this kind.
| Parameter | Type | |
|---|---|---|
id | IdLike | required |
ra.anniversary.selected()
ra.anniversary.selected() -> List[Anniversary]
Anniversary handles for the objects of this kind currently selected in the active document.
Handles
Objects returned by the functions above. Assigning a settable property regenerates the object; the change is one undo step inside ra.transaction().
Anniversary (handle)
Anniversary band: a row of touching bezel-set stones along the top (a half eternity by default) that is the ring there, and a plain band for the rest; stones all the same size or graduated from the centre. The stones are the ring’s children and are rebuilt with it.
| Property | Type | Settable | |
|---|---|---|---|
bezels | AnniversaryBezels | ||
bottom_profile | AnniversaryProfile | ||
layer_name | str | ||
mother_gem_id | str | ||
object_type | str | ||
position | Point3d | ||
ring_diameter_mm | float | ||
ring_size_label | str | ||
ring_size_region | str | ||
stones | AnniversaryStones | ||
top_profile | AnniversaryProfile |
| Method | |
|---|---|
delete() | |
move(translation: VectorLike) | |
set_element(element: str) | Applies a saved Anniversary element (ra.elements.list(“Anniversary”)) to this ring: its parameters replace the current ones, the ring size stays, and the ring regenerates in place (same id). |
Plus what every handle has: id, delete(), update(**kwargs), parameters(), equality and hashing by id, and raw (the underlying .NET object).
AnniversaryBezels (section)
The bezel cup round every stone, sized to it from the profile’s proportions.
| Property | Type | Settable | |
|---|---|---|---|
gem_inside | float | yes | mm the lip closes over the stone, signed |
profile_name | str | BEZEL_PROFILE asset name |
| Method | |
|---|---|
set_profile(asset_name: str) | BEZEL_PROFILE asset by name |
AnniversaryProfile (section)
One of the anniversary band’s two sections: Top (under the stones) and Bottom (the back of the ring); the band blends between them.
| Property | Type | Settable | |
|---|---|---|---|
comfort | float | yes | mm, the comfort dome’s depth (used when Type is “COMFORT”) |
height | float | yes | mm, radial |
profile_name | str | RING_PROFILE asset name, "" when unset | |
type | str | yes | ”SOLID” or “COMFORT” |
width | float | yes | mm, along the finger |
| Method | |
|---|---|
set_profile(asset_name: str) | RING_PROFILE asset by name |
AnniversaryStones (section)
The row of stones along the top, their bezels always touching and forming the ring there (no band under them). Distribution places them as Eternity does: FULL (all round, no band), HALF, THREEQUARTERS, FIVESTONES, SEVENSTONES or NINESTONES, centred on the top. SizeDistribution UNIFORM = every stone StoneSize; GRADUATED = CenterStoneSize in the middle down to SideStoneSize at both ends, symmetric. Sizes are diameters in mm.
| Property | Type | Settable | |
|---|---|---|---|
center_stone_size | float | mm, GRADUATED: the middle stone | |
count | int | stones the ring carries now (its children) | |
distribution | str | yes | ”FULL”, “HALF”, “THREEQUARTERS”, “FIVESTONES”, “SEVENSTONES” or “NINESTONES” |
drill | bool | yes | a seat drilled under every stone, through the band |
elevation | float | yes | mm, how high the stones sit above the finger (the cups always run down to it) |
material | str | yes | gem material (GemCompound name: Diamond, Ruby, Sapphire…) |
shape | str | yes | gem shape: ROUND, PRINCESS, RADIANT, OVAL or EMERALD (Eternity’s) |
side_stone_size | float | mm, GRADUATED: the stones at both ends | |
size_distribution | str | yes | ”UNIFORM” or “GRADUATED” |
stone_size | float | yes | mm, UNIFORM |
| Method | |
|---|---|
set_graduated_sizes(center_stone_size: float, side_stone_size: float) | mm, 0.5 or more each; switches to GRADUATED |