Skip to content

.NET API

MatchingShankBuilderApi

Headless builder for the matching shank. MatchingShankApi stays query-only (All/Find/ForRing/Selected); the IMatchingShank handle returned here is the same one it hands out, so MatchingShankApi.ForRing(ringId) lists what Create fitted to it.

from ArtisanPlugin.Scripting import MatchingShankBuilderApi

See also the Python package, ra.matching_shank.

Methods

Method
CreateBuilds a matching shank (the ArtisanMatchingShank tool, headless): a band shaped to sit against an existing ring — the mother — so the pair stacks without a gap.

Create

IMatchingShank MatchingShankBuilderApi.Create(
    IEnumerable<Guid> ringIds,
    double width = 0,
    double height = 0,
    double fingerDiameter = 0,
    string profile = null,
    string metal = null,
    double clearance = double.NaN,
    double distance = double.NaN,
    double topDistance = double.NaN,
    string interiorType = null,
    double comfort = 0,
    int numberOfPoints = 0,
    bool flipSide = false,
    bool bothSides = false,
    bool withGems = false,
    double gemSize = 0,
    string gemDistribution = null,
    string element = null)

Builds a matching shank (the ArtisanMatchingShank tool, headless): a band shaped to sit against an existing ring — the mother — so the pair stacks without a gap. The mother ring must sit at the origin like every Artisan ring (the rail is the finger-size circle there). ringIds: the ring to hug — document ids of its solids (breps, extrusions, meshes) or the Id of an Artisan shank handle (classic, eternity, wedding band…; its stones are ignored). Millimetres; 0 keeps the tool default (or the user’s saved defaults): width 3, height 2, numberOfPoints 8, comfort 0.3. NaN keeps the default for the signed / zero-legit ones: clearance 0.3 (gap kept against the mother), distance 0 (axial gap; negative presses into the mother), topDistance 0. interiorType “SOLID” | “COMFORT”. flipSide builds on the other side of the mother, bothSides one band on each side (both baked in the same group). withGems adds a row of round stones along the crest: gemSize (default 1.5), gemDistribution “FULL” | “SIDE” | “TOP”. fingerDiameter 0 = the document’s finger size; profile picks a RING_PROFILE asset by name; metal a Metal name (omitted = the document’s Metal 01). element = name of a saved MatchingShank element (ElementsApi.List(“MatchingShank”)) to start from; explicit arguments override it (its finger size and ring are always replaced). Returns the IMatchingShank handle of the new group; the mother ring is its parametric mother, so the band follows the ring’s edits.

ParameterTypeDefault
ringIdsIEnumerable<Guid>required
widthdouble0
heightdouble0
fingerDiameterdouble0
profilestringnull
metalstringnull
clearancedoubledouble.NaN
distancedoubledouble.NaN
topDistancedoubledouble.NaN
interiorTypestringnull
comfortdouble0
numberOfPointsint0
flipSideboolfalse
bothSidesboolfalse
withGemsboolfalse
gemSizedouble0
gemDistributionstringnull
elementstringnull

Returns IMatchingShank.

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: IMatchingShank, IMatchingShankGems.