Skip to content

Python package

ra.pave_shank

Pave shanks: automatic rows of stones across a one-profile band.

import rhinoartisan as ra

Wraps ArtisanPlugin.Scripting.PaveShankApi, ArtisanPlugin.Scripting.PaveShankBuilderApi.

Functions

Function
all()PaveShank handles for every object of this kind in the active document (empty when there is no document).
by_layer()PaveShank 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()PaveShank handles for the objects of this kind currently selected in the active document.
create()Builds a multi-row pavé shank (the Pavé Shank tool, ArtisanPaveShank, headless): a classic band with ONE profile and ONE size carrying rows automatic rows of round pavé stones on its outer surface, held by bead prongs.

ra.pave_shank.all()

ra.pave_shank.all() -> List[PaveShank]

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

ra.pave_shank.by_layer()

ra.pave_shank.by_layer(layer_name: str) -> List[PaveShank]

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

ParameterType
layer_namestrrequired

ra.pave_shank.count()

ra.pave_shank.count() -> int

Number of objects of this kind in the active document.

ra.pave_shank.find()

ra.pave_shank.find(id: IdLike) -> PaveShank

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

ParameterType
idIdLikerequired

ra.pave_shank.selected()

ra.pave_shank.selected() -> List[PaveShank]

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

ra.pave_shank.create()

ra.pave_shank.create(width=None, height=None, finger_diameter=None, profile=None, opening=None, layout_mode=None, top_angle=None, start_angle=None, end_angle=None, rows=None, row_distance=None, gem_size=None, lateral_gem_size=None, min_distance=None, prong_diameter=None, with_gems=None, with_cutters=None, plane=None, element=None) -> PaveShank

Builds a multi-row pavé shank (the Pavé Shank tool, ArtisanPaveShank, headless): a classic band with ONE profile and ONE size carrying rows automatic rows of round pavé stones on its outer surface, held by bead prongs. With 3+ rows the two outermost rows use lateral_gem_size and the inner rows gem_size; the row pitch is automatic (half of each neighbouring stone size + row_distance). Millimetres; omitting keeps the tool default (or the user’s saved defaults): width 3, height 2 (band section), rows 3, row_distance 0.1, gem_size 1.6 (central), lateral_gem_size 1.3, min_distance 0.1 (gap along the row), prong_diameter 0.8 (every bead shares one size). layout_mode “FULL” (all round the ring; the tool default) | “SIDE_ANGLE” (uses start_angle / end_angle, defaults 30-150) | “TOP_ANGLE” (uses top_angle, default 120). opening “NONE” (default) | “STRANGLE” | “CUT” — the classic band opening. with_gems False bakes the band alone; with_cutters adds a parametric drill cutter under every stone, like the panel does. finger_diameter 0 = the document’s finger size; profile picks a RING_PROFILE asset by name (omitted = the oval profile the command starts from, or the default one); plane omitted = world XY. element = name of a saved MultiRowShank element (ra.elements.list(“MultiRowShank”)) to start from; explicit arguments override it (its finger size is always replaced). The bead offsets (Prong.SetEdgeOffset / SetEndOffset) are handle setters. Returns the PaveShank handle of the new shank (stones, cutters and prongs are its children).

ParameterType
widthfloatoptional — None = the tool default
heightfloatoptional — None = the tool default
finger_diameterfloatoptional — None = the tool default
profilestroptional — None = the tool default
openingstroptional — None = the tool default
layout_modestroptional — None = the tool default
top_anglefloatoptional — None = the tool default
start_anglefloatoptional — None = the tool default
end_anglefloatoptional — None = the tool default
rowsintoptional — None = the tool default
row_distancefloatoptional — None = the tool default
gem_sizefloatoptional — None = the tool default
lateral_gem_sizefloatoptional — None = the tool default
min_distancefloatoptional — None = the tool default
prong_diameterfloatoptional — None = the tool default
with_gemsbooloptional — None = the tool default
with_cuttersbooloptional — None = the tool default
planeOptional[PlaneLike]optional — None = the tool default
elementstroptional — 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().

PaveShank (handle)

Multi-row pavé shank: a classic band with ONE profile and ONE size carrying N automatic rows of round pavé stones on its outer surface. Multiple gems, so no single MotherGem.

PropertyTypeSettable
advancedClassicAdvanced
cutters_enabledboolyes
gemsClassicGemsThe stones (GemSize = CENTRAL size, MinDistance, Vertical) and the bead options (TypeProng NONE/SHARED, ProngHeight = bead length, ProngMoveInZ = how far the bead top sits above the girdle, GemInside, ExtensionForManufacturing). AutomaticProngDiameter and ProngDiameter are ignored here: the bead size is Prong.Diameter.
gems_enabledboolyes
layer_namestr
mother_gem_idstr
object_typestr
positionPoint3d
prongPaveShankProng
ring_diameter_mmfloat
ring_size_labelstr
ring_size_regionstr
rowsPaveShankRowsMulti-row specifics.
top_profileClassicProfileThe band: its one profile (asset, width, height, type…) and the classic opening (NONE / STRANGLE / CUT).
Method
delete()
move(translation: VectorLike)
set_element(element: str)Applies a saved MultiRowShank element (ra.elements.list(“MultiRowShank”)) to this shank: its band, rows and gems replace the current ones, the ring size stays, and the shank 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).

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)

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
countintyesnumber of gems in “COUNT” mode: per side when the band has an opening (Cut / Strangle), the whole row when it has none
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
modestryes”ANGLE” (the gems cover Angle, the count follows) or “COUNT” (exactly Count gems, the angle follows)
prong_diameterfloatyesmm — used when AutomaticProngDiameter is False
prong_heightfloatyesmm
prong_move_in_zfloatyesmm
prong_typestryes”NONE” (channel), “SHARED” or “SCALLOPED”; the Classic also “FLUSH” (no channel)
verticalfloatyesvertical displacement of the row, mm

PaveShankProng (section)

The bead prongs of a multi-row pavé shank. Every bead shares one diameter; the beads between rows sit centred in their hollows, the beads on the band edges and at the row ends are placed for a reference radius and moved by the two offsets.

PropertyTypeSettable
diameterfloatyesdiameter of every bead, mm
edge_offsetfloatyesedge offset, mm: how far the beads on the band edges (outer sides of the outermost rows) are pushed outward; negative pulls them in
end_offsetfloatyesend offset, mm: how far the bead past the last stone of each row end is moved along the row; negative pulls it in over the stone

PaveShankRows (section)

The rows of a multi-row pavé shank: how many, how far apart, the lateral stone size and how far around the ring they run.

PropertyTypeSettable
countintyesnumber of rows across the band (1..9); with 3+ the two outermost rows are LATERAL, the rest CENTRAL
distancefloatyesgap between the stones of two adjacent rows, mm (edge to edge); the row pitch is automatic
end_anglefloatdegrees — used when LayoutMode is “SIDE_ANGLE”
lateral_gem_sizefloatyesstone size of the two outermost rows, mm (only with 3+ rows)
layout_modestryes”FULL”, “SIDE_ANGLE” or “TOP_ANGLE”
start_anglefloatdegrees — used when LayoutMode is “SIDE_ANGLE”
top_anglefloatyestotal arc in degrees — used when LayoutMode is “TOP_ANGLE”
Method
set_side_angles(start_angle: float, end_angle: 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”)