Skip to content

.NET API

PaveApi

Automatic pave over a surface — the ArtisanPaveOnCurve tool, headless: fills the given surface/brep/mesh with diamonds (and optional prongs and cutters), sized and packed automatically.

from ArtisanPlugin.Scripting import PaveApi

See also the guide, Gemsets › Pave on surface, and the Python package, ra.pave.

Methods

Method
OnSurfacePaves the given objects.
OnSurfaceDetailedSame as OnSurface, but returns every id it created — the gems, the prongs and the cutters — instead of only the gems.

OnSurface

IReadOnlyList<Guid> PaveApi.OnSurface(
    IEnumerable<Guid> surfaceIds,
    double gemDiameter = 0,
    double prongDiameter = 0,
    double distanceToBorder = 0,
    bool prongs = true,
    bool cutters = false,
    bool? variableSize = null,
    string fillMode = null,
    Point3d? startPoint = null,
    double prongOverGirdle = double.NaN,
    double prongUnderGirdle = double.NaN,
    string gapMode = null,
    double manualGap = double.NaN,
    double extraGap = double.NaN,
    double gemInside = double.NaN,
    int minProngsPerGem = 0,
    double prongBorderDistance = double.NaN,
    bool? borderFromProng = null,
    double gemDiameterMin = 0,
    double prongDiameterMin = 0,
    double cutterSizeTop = 0,
    double cutterHeightTop = 0,
    double cutterSizeBottom = 0,
    double cutterGemInside = double.NaN)

Paves the given objects. Millimetres; 0 keeps the tool default: gemDiameter 1.3 (shrinking to gemDiameterMin 0.9 when variableSize), prongDiameter 0.8, distanceToBorder 0.1. prongs/cutters toggle those outputs (tool defaults: prongs on, cutters off). fillMode is FROM_BORDER (default) or FROM_CENTER; FROM_CENTER needs startPoint on (or near) the surface. Returns the ids of the created gems.

ParameterTypeDefault
surfaceIdsIEnumerable<Guid>required
gemDiameterdouble0
prongDiameterdouble0
distanceToBorderdouble0
prongsbooltrue
cuttersboolfalse
variableSizebool?null
fillModestringnull
startPointPoint3d?null
prongOverGirdledoubledouble.NaN
prongUnderGirdledoubledouble.NaN
gapModestringnull
manualGapdoubledouble.NaN
extraGapdoubledouble.NaN
gemInsidedoubledouble.NaN
minProngsPerGemint0
prongBorderDistancedoubledouble.NaN
borderFromProngbool?null
gemDiameterMindouble0
prongDiameterMindouble0
cutterSizeTopdouble0
cutterHeightTopdouble0
cutterSizeBottomdouble0
cutterGemInsidedoubledouble.NaN

Returns IReadOnlyList<Guid>.

OnSurfaceDetailed

PaveResult PaveApi.OnSurfaceDetailed(
    IEnumerable<Guid> surfaceIds,
    double gemDiameter = 0,
    double prongDiameter = 0,
    double distanceToBorder = 0,
    bool prongs = true,
    bool cutters = false,
    bool? variableSize = null,
    string fillMode = null,
    Point3d? startPoint = null,
    double prongOverGirdle = double.NaN,
    double prongUnderGirdle = double.NaN,
    string gapMode = null,
    double manualGap = double.NaN,
    double extraGap = double.NaN,
    double gemInside = double.NaN,
    int minProngsPerGem = 0,
    double prongBorderDistance = double.NaN,
    bool? borderFromProng = null,
    double gemDiameterMin = 0,
    double prongDiameterMin = 0,
    double cutterSizeTop = 0,
    double cutterHeightTop = 0,
    double cutterSizeBottom = 0,
    double cutterGemInside = double.NaN)

Same as OnSurface, but returns every id it created — the gems, the prongs and the cutters — instead of only the gems. OnSurface threw the prong and cutter ids away, so a script could not select, re-layer or boolean what it had just built.

ParameterTypeDefault
surfaceIdsIEnumerable<Guid>required
gemDiameterdouble0
prongDiameterdouble0
distanceToBorderdouble0
prongsbooltrue
cuttersboolfalse
variableSizebool?null
fillModestringnull
startPointPoint3d?null
prongOverGirdledoubledouble.NaN
prongUnderGirdledoubledouble.NaN
gapModestringnull
manualGapdoubledouble.NaN
extraGapdoubledouble.NaN
gemInsidedoubledouble.NaN
minProngsPerGemint0
prongBorderDistancedoubledouble.NaN
borderFromProngbool?null
gemDiameterMindouble0
prongDiameterMindouble0
cutterSizeTopdouble0
cutterHeightTopdouble0
cutterSizeBottomdouble0
cutterGemInsidedoubledouble.NaN

Returns PaveResult.