Skip to content

Python package

ra.eternity

Eternity bands with stones all around.

import rhinoartisan as ra

Wraps ArtisanPlugin.Scripting.EternityApi.

Functions

Function
all()Eternity handles for every object of this kind in the active document (empty when there is no document).
by_layer()Eternity 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 eternity ring (the ArtisanEternity tool, headless): a band with gems all around, at the document’s finger size.
find()The handle for id, or None when the id does not belong to an object of this kind.
selected()Eternities currently selected in the active doc.

ra.eternity.all()

ra.eternity.all() -> List[Eternity]

Eternity handles for every object of this kind in the active document (empty when there is no document).

ra.eternity.by_layer()

ra.eternity.by_layer(layer_name: str) -> List[Eternity]

Eternity handles on the layer with the given full path (empty when the layer does not exist).

ParameterType
layer_namestrrequired

ra.eternity.count()

ra.eternity.count() -> int

Number of objects of this kind in the active document.

ra.eternity.create()

ra.eternity.create(gem_size=None, gem_shape=None, shank_width=None, shank_height=None, finger_diameter=None, profile=None, plane=None, element=None) -> Eternity

Builds an eternity ring (the ArtisanEternity tool, headless): a band with gems all around, at the document’s finger size. Standalone — no mother gem or curve needed. Millimetres; omitting keeps the tool default (or the user’s saved defaults): gem_size ~2 (round diamonds), shank_width 2.25, shank_height 1.5. gem_shape accepts GemShape names (default ROUND). finger_diameter 0 = the document’s finger size. plane omitted = world XY. profile picks a RING_PROFILE asset by name for the shank; omitted = the default profile. Returns an Eternity handle to the new ring group. element = name of a saved element (ra.elements.list) to start from; explicit arguments override it.

ParameterType
gem_sizefloatoptional — None = the tool default
gem_shapestroptional — None = the tool default
shank_widthfloatoptional — None = the tool default
shank_heightfloatoptional — None = the tool default
finger_diameterfloatoptional — None = the tool default
profilestroptional — None = the tool default
planeOptional[PlaneLike]optional — None = the tool default
elementstroptional — None = the tool default

ra.eternity.find()

ra.eternity.find(id: IdLike) -> Eternity

The handle for id, or None when the id does not belong to an object of this kind.

ParameterType
idIdLikerequired

ra.eternity.selected()

ra.eternity.selected() -> List[Eternity]

Eternities currently selected in the active doc.

Handles

Objects returned by the functions above. Assigning a settable property regenerates the object; the change is one undo step inside ra.transaction().

Eternity (handle)

Eternity ring: a band with gems all around. Multiple gems, so no single MotherGem.

PropertyTypeSettable
bezelsEternityBezels
gemsEternityGemsParameter sections — each is a live view over the ring’s stored parameters; their setters regenerate the ring in place (same Guid) and call LicenseGate.RequireValid() first. Millimetres.
layer_namestr
mother_gem_idstr
object_typestr
positionPoint3d
prongsEternityProngs
ring_diameter_mmfloat
ring_size_labelstre.g. “6”, “M”
ring_size_regionstre.g. “US”, “EU”
shankEternityShank
Method
delete()
move(translation: VectorLike)
set_element(element: str)Applies a saved Eternity element (ra.elements.list(“Eternity”)) 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).

EternityBezels (section)

The bezel rails wrapping the stone row.

PropertyTypeSettable
bottom_railEternityRail
profile_shapestryes”ROUND” or “SQUARE”
rail_modestryes”SINGLE” or “DOUBLE”
rail_shapestryes”ROUND”, “RECTANGLE” or “OVAL”
remove_fingerboolyes
top_railEternityRail

EternityGems (section)

The stones that run around the band.

PropertyTypeSettable
carat_weightfloatyes
distributionstryes”FULL”, “HALF”, “THREEQUARTERS”, “FIVESTONES”, “SEVENSTONES”, “NINESTONES”
materialstryes”Diamond”, “Ruby”, …
min_distancefloatyesminimum distance between stones, mm
move_in_zfloatyesradial displacement of the stone row, mm
orientationstryes”NATURAL” or “ROTATED”
shapestryes”ROUND”, “PRINCESS”, …
size_xfloatmm
size_yfloatmm
size_zfloatmm
Method
set_size(size_x: float, size_y: float, size_z: float)

EternityProngs (section)

The prongs holding the stones.

PropertyTypeSettable
bottom_diameterfloatyesmm
bottom_distancefloatyesmm
distributionstryes”SHARED” or “INDIVIDUAL_FOR_EACH_GEM”
expansion_manufacturingfloatyesmm
height_over_girdlefloatyesmm
individual_bottom_distancefloatyesmm — used when Distribution is individual
individual_top_distancefloatyesmm — used when Distribution is individual
modestryes”STRAIGHT” or “CURVED”
top_diameterfloatyesmm
top_distancefloatyesmm

EternityShank (section)

The band: an upper and a lower half plus the caps where they meet.

PropertyTypeSettable
ending_capfloatyesmm
lowerEternityShankParams
starting_capfloatyesmm
upperEternityShankParams

EternityRail (section)

One of the two rails that form the bezel around the stones.

PropertyTypeSettable
diameterfloatyesmm
heightfloatyesmm
move_in_zfloatyesmm
thread_diameterfloatyesmm
thread_xfloatmm
thread_yfloatmm
widthfloatyesmm
Method
set_thread(x: float, y: float)

EternityShankParams (section)

One of the two band halves (upper / lower) of an eternity ring.

PropertyTypeSettable
heightfloatyesmm
height_comfortfloatyesmm
profile_namestrRING_PROFILE asset name, "" when unset
profile_orientationintyes0 = Natural, 1 = Reverse
profile_thicknessfloatyesmm
profile_typeintyes
typestryes”SOLID”, “COMFORT” or “THICKNESS”
widthfloatyesmm
Method
set_profile(asset_name: str)RING_PROFILE asset by name — list them with ra.assets.list(“RING_PROFILE”)