Skip to content

Python package

ra.wedding

Wedding sets (band pairs) built as one editable object.

import rhinoartisan as ra

Wraps ArtisanPlugin.Scripting.WeddingApi, ArtisanPlugin.Scripting.WeddingBuilderApi.

Functions

Function
all()Wedding handles for every object of this kind in the active document (empty when there is no document).
by_layer()Wedding 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.
find()The handle for id, or None when the id does not belong to an object of this kind.
selected()Wedding handles for the objects of this kind currently selected in the active document.
create_band()Builds a single wedding band (the ArtisanWeddingBand tool, headless): a plain band lofted from a RING_PROFILE asset at the document’s finger size, optionally with a row of stones around it.
create_set()Builds a wedding set (the ArtisanWeddingRing tool, headless): two bands baked together as one group — his and hers — each with its own section, metal, finger size and optional stones.

ra.wedding.all()

ra.wedding.all() -> List[Wedding]

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

ra.wedding.by_layer()

ra.wedding.by_layer(layer_name: str) -> List[Wedding]

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

ParameterType
layer_namestrrequired

ra.wedding.count()

ra.wedding.count() -> int

Number of objects of this kind in the active document.

ra.wedding.find()

ra.wedding.find(id: IdLike) -> Wedding

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

ParameterType
idIdLikerequired

ra.wedding.selected()

ra.wedding.selected() -> List[Wedding]

Wedding handles for the objects of this kind currently selected in the active document.

ra.wedding.create_band()

ra.wedding.create_band(width=None, height=None, finger_diameter=None, profile=None, metal=None, with_gems=None, gem_size=None, gem_shape=None, distribution=None, number_of_gems=None, prong_type=None, plane=None, element=None) -> WeddingBand

Builds a single wedding band (the ArtisanWeddingBand tool, headless): a plain band lofted from a RING_PROFILE asset at the document’s finger size, optionally with a row of stones around it. Millimetres; omitting keeps the tool default: width 3, height 2. finger_diameter 0 = the document’s finger size. profile picks a RING_PROFILE asset by name (omitted = the default profile); metal a Metal name like “GOLD_YELLOW_18” (omitted = the document’s Metal 01). with_gems True enables the stones: gem_size (default 1.2), gem_shape “Round” | “Princess”, distribution “Full” | “Half” | “Onequarter” | “Custom” (+ number_of_gems), prong_type “None” | “Shared” | “Channel”. plane omitted = world XY. Returns the WeddingBand handle of the new band group. element = name of a saved element (ra.elements.list) to start from; explicit arguments override it.

ParameterType
widthfloatoptional — None = the tool default
heightfloatoptional — None = the tool default
finger_diameterfloatoptional — None = the tool default
profilestroptional — None = the tool default
metalstroptional — None = the tool default
with_gemsbooloptional — None = the tool default
gem_sizefloatoptional — None = the tool default
gem_shapestroptional — None = the tool default
distributionstroptional — None = the tool default
number_of_gemsintoptional — None = the tool default
prong_typestroptional — None = the tool default
planeOptional[PlaneLike]optional — None = the tool default
elementstroptional — None = the tool default

ra.wedding.create_set()

ra.wedding.create_set(width=None, height=None, second_width=None, second_height=None, finger_diameter=None, second_finger_diameter=None, profile=None, second_profile=None, metal=None, second_metal=None, with_gems=None, gem_size=None, second_with_gems=None, second_gem_size=None, plane=None) -> Wedding

Builds a wedding set (the ArtisanWeddingRing tool, headless): two bands baked together as one group — his and hers — each with its own section, metal, finger size and optional stones. Millimetres; omitting keeps the tool default (width 3, height 2 for both). finger_diameter / second_finger_diameter 0 = the document’s finger size. profile / second_profile pick RING_PROFILE assets by name (omitted = the default profile); metal / second_metal are Metal names (omitted = the document’s Metal 01). with_gems + gem_size (and the second* pair) add a full row of round stones to that ring. plane omitted = world XY. Returns the Wedding handle of the new set (FirstRing / SecondRing).

ParameterType
widthfloatoptional — None = the tool default
heightfloatoptional — None = the tool default
second_widthfloatoptional — None = the tool default
second_heightfloatoptional — None = the tool default
finger_diameterfloatoptional — None = the tool default
second_finger_diameterfloatoptional — None = the tool default
profilestroptional — None = the tool default
second_profilestroptional — None = the tool default
metalstroptional — None = the tool default
second_metalstroptional — None = the tool default
with_gemsbooloptional — None = the tool default
gem_sizefloatoptional — None = the tool default
second_with_gemsbooloptional — None = the tool default
second_gem_sizefloatoptional — None = the tool default
planeOptional[PlaneLike]optional — None = the tool default

Handles

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

Wedding (handle)

A wedding set: the two rings baked together as one group.

PropertyTypeSettable
first_ringWeddingRing
layer_namestr
mother_gem_idstr
object_typestr
positionPoint3d
regionstrsizing region of the set, "" when unset
second_ringWeddingRing
Method
delete()
move(translation: VectorLike)

Plus what every handle has: id, delete(), update(**kwargs), parameters(), equality and hashing by id, and raw (the underlying .NET object).

WeddingBand (handle)

A single wedding band.

PropertyTypeSettable
layer_namestr
mother_gem_idstr
object_typestr
positionPoint3d
regionstrsizing region, "" when unset
ringWeddingRing
Method
delete()
move(translation: VectorLike)
set_element(element: str)Applies a saved WeddingBand element (ra.elements.list(“WeddingBand”)) to this band: its profile, gems and metal replace the current ones, the ring size stays, and the band 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).

WeddingRing (section)

One ring of a wedding set, or the single band of a wedding band.

PropertyTypeSettable
gemsWeddingGems
metalstryese.g. “GOLD_YELLOW_18”
profileWeddingProfile
ring_diameter_mmfloat
ring_size_labelstr
ring_size_regionstr

WeddingGems (section)

The stones a wedding ring can carry around its band.

PropertyTypeSettable
automatic_prong_diameterboolyes
custom_distancestryes”Continuous” or “Equidistant”
distributionstryes”Full”, “Half”, “Onequarter” or “Custom”
drill_heightfloatyesmm
drill_typestryes”NONE”, “ROUND” or “QUAD”
drill_widthfloatyesmm
enabledboolyes
extension_manufacturingfloatyesmm
gem_insidefloatyesmm
gem_sizefloatyesmm
inner_heightfloatyesinner channel height, mm
inner_widthfloatyesinner channel width, mm
min_distancefloatyesmm
number_of_gemsintyesused when Distribution is “Custom”
prong_diameterfloatyesmm
prong_heightfloatyesmm
prong_move_in_zfloatyesmm
prong_typestryes”None”, “Shared” or “Channel”
shapestryes”Round” or “Princess”
verticalfloatyesmm

WeddingProfile (section)

The band section of a wedding ring: its section and profile asset.

PropertyTypeSettable
heightfloatyesmm
profile_namestrRING_PROFILE asset name, "" when unset
widthfloatyesmm
Method
set_profile(asset_name: str)list them with ra.assets.list(“RING_PROFILE”)