Skip to content

.NET API

RingCurveApi

Scriptable version of the ArtisanRingCurve tool: creates the parametric ring rail curve (the curve shanks and gems-on-curve tools build on). Four variants, one per curve type in the tool: CreateClosed -> “CLOSE” full circle at the finger size CreateOpen -> “OPEN” circle with a gap (open/adjustable rings) CreateBypass -> “BYPASS” crossed-ends (bypass / “toi et moi”) rail CreateShape -> “SHAPE” circle blended with a top shape (round or ellipse) All dimensions are millimetres; angles are degrees. fingerDiameter 0 means “use the document’s configured finger size”. Each method returns the Guid of the new curve object — usable directly with rhinoscriptsyntax (rs.*) and as input to other Artisan tools. Without element, the user’s saved Ring Curve defaults (the panel’s save-as-default) are the starting point and behave like an element: an argument left at its signature default keeps the saved value.

from ArtisanPlugin.Scripting import RingCurveApi

See also the guide, API Reference › Curves & Text, and the Python package, ra.ring_curve.

Methods

Method
CreateBypassA bypass ring curve (crossed ends).
CreateClosedA closed ring curve (full circle at the finger size).
CreateOpenAn open ring curve (circle with a gap).
CreateShapeshapeType is “ROUND” (uses diameter) or “ELLIPSE” (uses width x height).

CreateBypass

Guid RingCurveApi.CreateBypass(
    double openingLength = 14,
    double angle = 0,
    double offsetX = 2,
    double offsetY = 2,
    double tangent = 1,
    double fingerDiameter = 0,
    Plane? plane = null,
    string profile = null,
    string element = null)

A bypass ring curve (crossed ends). element = name of a saved RingCurve element (ElementsApi.List(“RingCurve”)) to start from; explicit arguments override it — with an element, an argument left at its signature default keeps the element’s value (its finger size is always replaced, and the curve type is always BYPASS).

ParameterTypeDefault
openingLengthdouble14
angledouble0
offsetXdouble2
offsetYdouble2
tangentdouble1
fingerDiameterdouble0
planePlane?null
profilestringnull
elementstringnull

Returns Guid.

CreateClosed

Guid RingCurveApi.CreateClosed(
    double fingerDiameter = 0,
    Plane? plane = null,
    string profile = null,
    string element = null)

A closed ring curve (full circle at the finger size). element = name of a saved RingCurve element (ElementsApi.List(“RingCurve”)) to start from; explicit arguments override it (its finger size is always replaced, and the curve type is always CLOSE).

ParameterTypeDefault
fingerDiameterdouble0
planePlane?null
profilestringnull
elementstringnull

Returns Guid.

CreateOpen

Guid RingCurveApi.CreateOpen(
    double openingLength = 5,
    double fingerDiameter = 0,
    Plane? plane = null,
    string profile = null,
    string element = null)

An open ring curve (circle with a gap). element = name of a saved RingCurve element (ElementsApi.List(“RingCurve”)) to start from; explicit arguments override it — with an element, an argument left at its signature default keeps the element’s value (its finger size is always replaced, and the curve type is always OPEN).

ParameterTypeDefault
openingLengthdouble5
fingerDiameterdouble0
planePlane?null
profilestringnull
elementstringnull

Returns Guid.

CreateShape

Guid RingCurveApi.CreateShape(
    string shapeType = "ROUND",
    double diameter = 5,
    double width = 6,
    double height = 4,
    double offset = 1,
    double moveInZ = 2,
    double openingLength = 14,
    double fingerDiameter = 0,
    Plane? plane = null,
    string profile = null,
    string element = null)

shapeType is “ROUND” (uses diameter) or “ELLIPSE” (uses width x height). element = name of a saved RingCurve element (ElementsApi.List(“RingCurve”)) to start from; explicit arguments override it — with an element, an argument left at its signature default keeps the element’s value (its finger size is always replaced, and the curve type is always SHAPE).

ParameterTypeDefault
shapeTypestring"ROUND"
diameterdouble5
widthdouble6
heightdouble4
offsetdouble1
moveInZdouble2
openingLengthdouble14
fingerDiameterdouble0
planePlane?null
profilestringnull
elementstringnull

Returns Guid.