Python package
ra.advanced_cathedral
Cathedral shanks with station-by-station control.
import rhinoartisan as ra
Wraps ArtisanPlugin.Scripting.AdvancedCathedralApi.
Functions
| Function | |
|---|---|
all() | AdvancedCathedral handles for every object of this kind in the active document (empty when there is no document). |
by_layer() | AdvancedCathedral 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 advanced cathedral shank — the ArtisanAdvancedCathedral tool, headless: the cathedral band with a fully parametric arm and bridge, plus an optional stone run. |
find() | The handle for id, or None when the id does not belong to an object of this kind. |
selected() | AdvancedCathedral handles for the objects of this kind currently selected in the active document. |
ra.advanced_cathedral.all()
ra.advanced_cathedral.all() -> List[AdvancedCathedral]
AdvancedCathedral handles for every object of this kind in the active document (empty when there is no document).
ra.advanced_cathedral.by_layer()
ra.advanced_cathedral.by_layer(layer_name: str) -> List[AdvancedCathedral]
AdvancedCathedral handles on the layer with the given full path (empty when the layer does not exist).
| Parameter | Type | |
|---|---|---|
layer_name | str | required |
ra.advanced_cathedral.count()
ra.advanced_cathedral.count() -> int
Number of objects of this kind in the active document.
ra.advanced_cathedral.create()
ra.advanced_cathedral.create(finger_diameter=None, arm_height=None, arm_opening=None, tip_inclination=None, bridge_width=None, bridge_thickness=None, with_gems=None, gem_size=None, profile=None, plane=None, element=None) -> AdvancedCathedral
Builds an advanced cathedral shank — the ArtisanAdvancedCathedral tool, headless: the cathedral band with a fully parametric arm and bridge, plus an optional stone run. Millimetres / degrees; omitting keeps the tool default (or the user’s saved defaults). finger_diameter 0 = the document’s finger size. with_gems turns the stone run on. Returns an AdvancedCathedral handle: its ~25 setters cover the rest of the model. element = name of a saved element (ra.elements.list) to start from; explicit arguments override it.
| Parameter | Type | |
|---|---|---|
finger_diameter | float | optional — None = the tool default |
arm_height | float | optional — None = the tool default |
arm_opening | float | optional — None = the tool default |
tip_inclination | float | optional — None = the tool default |
bridge_width | float | optional — None = the tool default |
bridge_thickness | float | optional — None = the tool default |
with_gems | bool | optional — None = the tool default |
gem_size | float | optional — None = the tool default |
profile | str | optional — None = the tool default |
plane | Optional[PlaneLike] | optional — None = the tool default |
element | str | optional — None = the tool default |
ra.advanced_cathedral.find()
ra.advanced_cathedral.find(id: IdLike) -> AdvancedCathedral
The handle for id, or None when the id does not belong to an object of this kind.
| Parameter | Type | |
|---|---|---|
id | IdLike | required |
ra.advanced_cathedral.selected()
ra.advanced_cathedral.selected() -> List[AdvancedCathedral]
AdvancedCathedral 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().
AdvancedCathedral (handle)
Advanced cathedral shank: like the classic cathedral, but the band’s cross-section is defined by editable stations along the arm instead of a single fixed profile. Multiple gems, so no single MotherGem.
| Property | Type | Settable | |
|---|---|---|---|
gem_gradient | AdvancedCathedralGemGradient | ||
gems | CathedralGems | The gems row uses the same model as the classic cathedral. | |
layer_name | str | ||
mother_gem_id | str | ||
object_type | str | ||
position | Point3d | ||
ring_diameter_mm | float | ||
ring_size_label | str | ||
ring_size_region | str | ||
shank | AdvancedCathedralShank | Parameter 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 AdvancedCathedralShank element (ra.elements.list(“AdvancedCathedralShank”)) to this shank: its parameters 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).
AdvancedCathedralGemGradient (section)
How stone size and prongs vary along the gem run.
| Property | Type | Settable | |
|---|---|---|---|
enabled | bool | yes | |
end_prong_count | int | yes | |
gem_size_end | float | mm | |
gem_size_middle | float | mm | |
gem_size_start | float | mm | |
middle_position | float | yes | 0..1 |
points | int | yes | 2 = start/end, 3 = start/middle/end |
prong_distance | float | yes | mm |
prong_grow | float | yes | mm |
prong_min_diameter | float | yes | mm |
prong_spacing | float | yes | mm |
| Method | |
|---|---|
set_gem_sizes(start: float, middle: float, end: float) |
CathedralGems (section)
The pavé row a cathedral carries along its top — one run per arm.
| Property | Type | Settable | |
|---|---|---|---|
angle | float | yes | degrees of the band covered by gems (180 = top half) |
automatic_prong_diameter | bool | yes | |
bright_cut | float | yes | bright-cut width, mm |
double_prong_setting | bool | yes | |
drill_allow_intersection | bool | yes | |
drill_enabled | bool | yes | |
drill_height | float | yes | mm |
drill_type | str | yes | ”NONE”, “ROUND” or “QUAD” |
drill_visible | bool | yes | bake the drill cutters as visible objects |
drill_width | float | yes | mm |
enabled | bool | yes | |
extension_for_manufacturing | float | yes | mm |
gem_inside | float | yes | how deep the gems sit inside, mm |
gem_shape | str | yes | ”ROUND”, “PRINCESS”, … |
gem_size | float | yes | mm |
inner_height | float | yes | inner channel height, mm |
inner_margin | float | yes | inner margin, mm |
inner_width | float | yes | inner channel width, mm |
margin | float | yes | side margin, mm |
min_distance | float | yes | minimum distance between gems, mm |
prong_diameter | float | yes | mm — used when AutomaticProngDiameter is False |
prong_height | float | yes | mm |
prong_type | str | yes | ”NONE”, “SHARED” or “SCALLOPED” |
scallop_gem_height | float | ||
scallop_gem_width | float | Scalloped-setting proportions (percentages, not mm). | |
scallop_prong_height | float | ||
scallop_prong_width | float | ||
scallop_rail_height | float | ||
scallop_rail_width | float | ||
scallop_remove_channel | bool | yes | |
vertical | float | yes | vertical displacement of the row, mm |
| Method | |
|---|---|
set_scallop_gem(width: float, height: float) | |
set_scallop_prong(width: float, height: float) | |
set_scallop_rail(width: float, height: float) |
AdvancedCathedralShank (section)
The band: the stations that shape it, the arm and the bridge.
| Property | Type | Settable | |
|---|---|---|---|
arm_height | float | yes | mm |
arm_opening | float | yes | mm |
bridge_angle | float | yes | degrees |
bridge_diameter | float | yes | mm |
bridge_enabled | bool | yes | |
bridge_fillet | float | yes | mm |
bridge_open_angle | float | yes | degrees |
bridge_thickness | float | yes | mm |
bridge_width | float | yes | mm |
shared_profile | bool | yes | every station uses the same profile asset |
stations | List[AdvancedCathedralStation] | yes | |
tangent_point | float | yes | 1 = 90 degrees, 0 = 140, -1 = 190 |
tip_inclination | float | yes | |
tip_round | float | yes | mm |
| Method | |
|---|---|
set_profile(asset_name: str) | applies to every station — list them with ra.assets.list(“RING_PROFILE”) |
set_station(index: int, position: float, width: float, height: float, profile_name=None) |