.NET API
AdvancedCathedralApi
Advanced cathedral shanks — the station-based cathedral body. Query-only for now: run ArtisanAdvancedCathedralShank in the UI once, then script every variant from the handle it leaves behind.
from ArtisanPlugin.Scripting import AdvancedCathedralApi
See also the guide, Shanks › Advanced cathedral, and the Python package, ra.advanced_cathedral.
Methods
| Method | |
|---|---|
All | IAdvancedCathedral handles for every object of this kind in the active document (empty when there is no document). |
ByLayer | IAdvancedCathedral 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 null when the id does not belong to an object of this kind. |
Selected | IAdvancedCathedral handles for the objects of this kind currently selected in the active document. |
All
IReadOnlyList<IAdvancedCathedral> AdvancedCathedralApi.All()
IAdvancedCathedral handles for every object of this kind in the active document (empty when there is no document).
Returns IReadOnlyList<IAdvancedCathedral>.
ByLayer
IReadOnlyList<IAdvancedCathedral> AdvancedCathedralApi.ByLayer(string layerName)
IAdvancedCathedral handles on the layer with the given full path (empty when the layer does not exist).
| Parameter | Type | Default |
|---|---|---|
layerName | string | required |
Returns IReadOnlyList<IAdvancedCathedral>.
Count
int AdvancedCathedralApi.Count()
Number of objects of this kind in the active document.
Returns int.
Create
IAdvancedCathedral AdvancedCathedralApi.Create(
double fingerDiameter = 0,
double armHeight = 0,
double armOpening = 0,
double tipInclination = double.NaN,
double bridgeWidth = 0,
double bridgeThickness = 0,
bool withGems = false,
double gemSize = 0,
string profile = null,
Plane? plane = null,
string element = null,
int gemsCount = 0,
bool bridgeGems = false,
double bridgeGemSize = 0,
int bridgeGemsCount = 0)
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; 0 keeps the tool default (or the user’s saved defaults). fingerDiameter 0 = the document’s finger size. withGems turns the stone run on. element = name of a saved AdvancedCathedralShank element (ElementsApi.List(“AdvancedCathedralShank”)) to start from; explicit arguments override it (its finger size is always replaced). Returns an IAdvancedCathedral handle: its ~25 setters cover the rest of the model. gemsCount > 0 = exactly that many gems per side (implies withGems; the angle is derived and the End angle is not used). bridgeGems true adds gems on the two side faces of the bridge (independent from the stone run; it enables the bridge, and the bridge then has no disk and no fillet). bridgeGemSize default 1.0 mm; the bridge thickness grows to the gem size + 0.2 mm when it is thinner. bridgeGemsCount > 0 = exactly that many gems per run (implies bridgeGems); 0 = as many as fit. The rest (setting mode, prongs, margin, drill) is edited on the handle’s BridgeGems section.
| Parameter | Type | Default |
|---|---|---|
fingerDiameter | double | 0 |
armHeight | double | 0 |
armOpening | double | 0 |
tipInclination | double | double.NaN |
bridgeWidth | double | 0 |
bridgeThickness | double | 0 |
withGems | bool | false |
gemSize | double | 0 |
profile | string | null |
plane | Plane? | null |
element | string | null |
gemsCount | int | 0 |
bridgeGems | bool | false |
bridgeGemSize | double | 0 |
bridgeGemsCount | int | 0 |
Returns IAdvancedCathedral.
Find
IAdvancedCathedral AdvancedCathedralApi.Find(Guid id)
The handle for id, or null when the id does not belong to an object of this kind.
| Parameter | Type | Default |
|---|---|---|
id | Guid | required |
Returns IAdvancedCathedral.
Selected
IReadOnlyList<IAdvancedCathedral> AdvancedCathedralApi.Selected()
IAdvancedCathedral handles for the objects of this kind currently selected in the active document.
Returns IReadOnlyList<IAdvancedCathedral>.
Handles and sections
What the methods above hand back. A handle’s setters regenerate the object; wrap changes in a Transaction so they land as one undo step.
Also used here: ICathedralGems.
IAdvancedCathedral
Handle — extends IParametricObject.
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 | ||
|---|---|---|---|
BridgeGems | ICathedralGems | get | The gems on the two side faces of the bridge (the faces seen from the ring’s profile view), independent from the gems row: same rules as ICathedral.BridgeGems. With an open bridge each half carries its own run. They need the bridge enabled; while they are on, the bridge has no disk and no fillet, and enabling them or raising the gem size grows BridgeThickness to gem size + 0.2 mm when it is thinner. |
GemGradient | IAdvancedCathedralGemGradient | get | |
Gems | ICathedralGems | get | The gems row uses the same model as the classic cathedral. |
Id | Guid | get | (from IParametricObject) |
LayerName | string | get | (from IParametricObject) |
MotherGemId | Guid | get | (from IParametricObject) |
ObjectType | string | get | (from IParametricObject) |
Position | Point3d | get | (from IParametricObject) |
RingDiameterMm | double | get | |
RingSizeLabel | string | get | |
RingSizeRegion | string | get | |
Shank | IAdvancedCathedralShank | get | 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 | |
|---|---|
void Delete() | (from IParametricObject) |
void Move(Vector3d translation) | (from IParametricObject) |
void SetElement(string element) | Applies a saved AdvancedCathedralShank element (ElementsApi.List(“AdvancedCathedralShank”)) to this shank: its parameters replace the current ones, the ring size stays, and the shank regenerates in place (same id). |
IAdvancedCathedralShank
Section.
The band: the stations that shape it, the arm and the bridge.
| Property | Type | ||
|---|---|---|---|
ArmHeight | double | get | mm |
ArmOpening | double | get | mm |
BridgeAngle | double | get | degrees |
BridgeDiameter | double | get | mm |
BridgeEnabled | bool | get | |
BridgeFillet | double | get | mm |
BridgeOpenAngle | double | get | degrees |
BridgeThickness | double | get | mm |
BridgeWidth | double | get | mm |
SharedProfile | bool | get | every station uses the same profile asset |
Stations | IReadOnlyList<IAdvancedCathedralStation> | get | |
TangentPoint | double | get | 1 = 90 degrees, 0 = 140, -1 = 190 |
TipInclination | double | get | |
TipRound | double | get | mm |
| Method | |
|---|---|
void SetArmHeight(double height) | |
void SetArmOpening(double opening) | |
void SetBridgeAngle(double degrees) | |
void SetBridgeDiameter(double diameter) | |
void SetBridgeEnabled(bool enabled) | |
void SetBridgeFillet(double fillet) | |
void SetBridgeOpenAngle(double degrees) | |
void SetBridgeThickness(double thickness) | |
void SetBridgeWidth(double width) | |
void SetProfile(string assetName) | applies to every station — list them with AssetsApi.List(“RING_PROFILE”) |
void SetSharedProfile(bool shared) | |
void SetStation( int index, double position, double width, double height, string profileName = null) | |
void SetStations(IEnumerable<IAdvancedCathedralStation> stations) | Replaces the whole station list (at least 2, positions 0..1). Every station needs a profile: profileName omitted reuses the first station’s current asset. |
void SetTangentPoint(double tangentPoint) | |
void SetTipInclination(double inclination) | |
void SetTipRound(double round) |
IAdvancedCathedralStation
Section.
One cross-section along the arm. Stations let the band change width, height and profile as it runs from the arm tip to the ring bottom.
| Property | Type | ||
|---|---|---|---|
Height | double | get | mm |
Position | double | get | 0 = arm tip, 1 = ring bottom |
ProfileName | string | get | RING_PROFILE asset name, "" when unset |
Width | double | get | mm |
IAdvancedCathedralGemGradient
Section.
How stone size and prongs vary along the gem run.
| Property | Type | ||
|---|---|---|---|
Enabled | bool | get | |
EndProngCount | int | get | |
GemSizeEnd | double | get | mm |
GemSizeMiddle | double | get | mm |
GemSizeStart | double | get | mm |
MiddlePosition | double | get | 0..1 |
Points | int | get | 2 = start/end, 3 = start/middle/end |
ProngDistance | double | get | mm |
ProngGrow | double | get | mm |
ProngMinDiameter | double | get | mm |
ProngSpacing | double | get | mm |
| Method | |
|---|---|
void SetEnabled(bool enabled) | |
void SetEndProngCount(int count) | |
void SetGemSizes(double start, double middle, double end) | |
void SetMiddlePosition(double position) | |
void SetPoints(int points) | 2 or 3 |
void SetProngDistance(double distance) | |
void SetProngGrow(double grow) | |
void SetProngMinDiameter(double diameter) | |
void SetProngSpacing(double spacing) |