.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)
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.
| 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 |
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.
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 | ||
|---|---|---|---|
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 |
ICathedralGems
Section.
The pavé row a cathedral carries along its top — one run per arm.
| Property | Type | ||
|---|---|---|---|
Angle | double | get | degrees of the band covered by gems (180 = top half) |
AutomaticProngDiameter | bool | get | |
BrightCut | double | get | bright-cut width, mm |
DoubleProngSetting | bool | get | |
DrillAllowIntersection | bool | get | |
DrillEnabled | bool | get | |
DrillHeight | double | get | mm |
DrillType | string | get | ”NONE”, “ROUND” or “QUAD” |
DrillVisible | bool | get | bake the drill cutters as visible objects |
DrillWidth | double | get | mm |
Enabled | bool | get | |
ExtensionForManufacturing | double | get | mm |
GemInside | double | get | how deep the gems sit inside, mm |
GemShape | string | get | ”ROUND”, “PRINCESS”, … |
GemSize | double | get | mm |
InnerHeight | double | get | inner channel height, mm |
InnerMargin | double | get | inner margin, mm |
InnerWidth | double | get | inner channel width, mm |
Margin | double | get | side margin, mm |
MinDistance | double | get | minimum distance between gems, mm |
ProngDiameter | double | get | mm — used when AutomaticProngDiameter is false |
ProngHeight | double | get | mm |
ProngType | string | get | ”NONE”, “SHARED” or “SCALLOPED” |
ScallopGemHeight | double | get | |
ScallopGemWidth | double | get | Scalloped-setting proportions (percentages, not mm). |
ScallopProngHeight | double | get | |
ScallopProngWidth | double | get | |
ScallopRailHeight | double | get | |
ScallopRailWidth | double | get | |
ScallopRemoveChannel | bool | get | |
Vertical | double | get | vertical displacement of the row, mm |
| Method | |
|---|---|
void SetAngle(double degrees) | |
void SetAutomaticProngDiameter(bool automatic) | |
void SetBrightCut(double brightCut) | |
void SetDoubleProngSetting(bool enabled) | |
void SetDrillAllowIntersection(bool allow) | |
void SetDrillEnabled(bool enabled) | |
void SetDrillHeight(double height) | |
void SetDrillType(string drillType) | ”NONE”, “ROUND” or “QUAD” |
void SetDrillVisible(bool visible) | |
void SetDrillWidth(double width) | |
void SetEnabled(bool enabled) | |
void SetExtensionForManufacturing(double extension) | |
void SetGemInside(double gemInside) | |
void SetGemShape(string shape) | |
void SetGemSize(double size) | |
void SetInnerHeight(double height) | |
void SetInnerMargin(double margin) | |
void SetInnerWidth(double width) | |
void SetMargin(double margin) | |
void SetMinDistance(double distance) | |
void SetProngDiameter(double diameter) | |
void SetProngHeight(double height) | |
void SetProngType(string prongType) | ”NONE”, “SHARED” or “SCALLOPED” |
void SetScallopGem(double width, double height) | |
void SetScallopProng(double width, double height) | |
void SetScallopRail(double width, double height) | |
void SetScallopRemoveChannel(bool enabled) | |
void SetVertical(double vertical) |
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) |