Skip to content

Python package

ra.classic

Classic ring shanks: comfort-fit bands at the document finger size, optionally with a stone row.

import rhinoartisan as ra

Wraps ArtisanPlugin.Scripting.ClassicApi.

Functions

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

ra.classic.all()

ra.classic.all() -> List[Classic]

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

ra.classic.by_layer()

ra.classic.by_layer(layer_name: str) -> List[Classic]

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

ParameterType
layer_namestrrequired

ra.classic.count()

ra.classic.count() -> int

Number of objects of this kind in the active document.

ra.classic.create()

ra.classic.create(width=None, height=None, finger_diameter=None, with_gems=None, gem_size=None, gems_angle=None, profile=None, plane=None, element=None) -> Classic

Builds a classic ring shank (the ArtisanClassic tool, headless): a comfort-fit band at the document’s finger size, optionally with a row of gems around the top. This is the scriptable way to give a design its ring body. Millimetres; omitting keeps the tool default (or the user’s saved defaults): width 3, height 2. finger_diameter 0 = the document’s configured finger size. with_gems True enables the gem row (gem_size default 1.2 mm, gems_angle default 180 degrees of the shank covered). profile picks a RING_PROFILE asset by name; omitted = the default profile. plane omitted = world XY. Returns an Classic handle to the new shank. 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
with_gemsbooloptional — None = the tool default
gem_sizefloatoptional — None = the tool default
gems_anglefloatoptional — None = the tool default
profilestroptional — None = the tool default
planeOptional[PlaneLike]optional — None = the tool default
elementstroptional — None = the tool default

ra.classic.find()

ra.classic.find(id: IdLike) -> Classic

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

ParameterType
idIdLikerequired

ra.classic.selected()

ra.classic.selected() -> List[Classic]

Classics 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().

Classic (handle)

Classic ring shank (multiple gems possible) — no single MotherGem.

PropertyTypeSettable
advancedClassicAdvanced
bottom_profileClassicProfile
external_profileClassicExternalProfile
gemsClassicGems
layer_namestr
mid_profileClassicProfile
mother_gem_idstr
object_typestr
positionPoint3d
ring_diameter_mmfloat
ring_size_labelstr
ring_size_regionstr
top_profileClassicProfileParameter sections — each is a live view over the shank’s stored parameters; their setters regenerate the shank in place (same Guid) and call LicenseGate.RequireValid() first. Millimetres.
Method
delete()
move(translation: VectorLike)
set_element(element: str)Applies a saved Classic element (ra.elements.list(“Classic”)) to this shank: its parameters replace the current ones, the ring size stays, and the shank regenerates in place (same id).
set_height(height: float)
set_width(width: float)Shortcuts for the two most common edits — same effect as TopProfile.SetWidth / TopProfile.SetHeight.

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

ClassicAdvanced (section)

The classic shank’s Advanced section: the opening at the bottom of the band.

PropertyTypeSettable
cut_bumpingfloatyesmm — used when OpeningType is “CUT”
cut_lengthfloatyesmm — used when OpeningType is “CUT”
opening_typestryes”NONE”, “CUT” or “STRANGLE”
strangle_base_xfloatmm
strangle_base_yfloatmm
strangle_base_zfloatmm
strangle_openingfloatyesmm — used when OpeningType is “STRANGLE”
Method
set_strangle_base(x: float, y: float, z: float)

ClassicProfile (section)

One of the shank’s three section profiles (top / mid / bottom). The top profile is always enabled; mid and bottom are optional.

PropertyTypeSettable
comfortfloatyesmm — used when Type is “COMFORT”
displacementfloatyesmm
enabledboolyes
heightfloatyesmm
orientationintyes0 = Natural, 1 = Reverse (flips the profile curve)
profile_namestrRING_PROFILE asset name, "" when unset
rotationfloatyesdegrees
thicknessfloatyesmm — used when Type is “THICKNESS”
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”)

ClassicExternalProfile (section)

The optional external profile carved on the shank’s outside face.

PropertyTypeSettable
bottomfloatyesexternal height at the bottom, mm
enabledboolyes
midfloatyesexternal height at the middle, mm
profile_namestrEXTERNAL_RING_PROFILE asset name, "" when unset
topfloatyesexternal height at the top, mm
Method
set_profile(asset_name: str)EXTERNAL_RING_PROFILE asset by name — list them with ra.assets.list(“EXTERNAL_RING_PROFILE”)

ClassicGems (section)

The gems row a shank can carry around its band.

PropertyTypeSettable
anglefloatyesdegrees of the band covered by gems (180 = top half)
automatic_prong_diameterboolyes
bright_cutfloatyesbright-cut width, mm
drill_allow_intersectionboolyes
drill_heightfloatyesmm
drill_typestryes”NONE”, “ROUND” or “QUAD”
drill_widthfloatyesmm
enabledboolyes
extension_for_manufacturingfloatyesmm
gem_insidefloatyeshow deep the gems sit inside, mm
gem_shapestryes”ROUND”, “PRINCESS”, …
gem_sizefloatyesmm
inner_heightfloatyesinner channel height, mm
inner_widthfloatyesinner channel width, mm
marginfloatyesside margin, mm
min_distancefloatyesminimum distance between gems, mm
prong_diameterfloatyesmm — used when AutomaticProngDiameter is False
prong_heightfloatyesmm
prong_move_in_zfloatyesmm
prong_typestryes”NONE”, “SHARED” or “SCALLOPED”
verticalfloatyesvertical displacement of the row, mm