Skip to content

.NET API

AutomaticPaveApi

Automatic pavé (the ArtisanAutomaticPave tool, headless): fills a surface with stones by relaxing a spring network over its mesh, which is what lets it mix several stone sizes and follow an irregular boundary. This is the SLOW pavé: the relaxation runs on a background worker and a busy surface takes seconds. PaveApi.OnSurface is the fast, regular alternative when a single size on a simple surface is enough.

from ArtisanPlugin.Scripting import AutomaticPaveApi

See also the Python package, ra.automatic_pave.

Methods

Method
OnSurfaceFills surfaceIds with stones and bakes them as loose gems.

OnSurface

IReadOnlyList<Guid> AutomaticPaveApi.OnSurface(
    IEnumerable<Guid> surfaceIds = null,
    array<double> gemSizes = null,
    double minDistance = 0,
    double borderDistance = 0,
    string fillMode = null,
    string symmetry = null,
    Point3d? startPoint = null,
    int relaxIterations = 0)

Fills surfaceIds with stones and bakes them as loose gems. gemSizes is the size palette in millimetres — the tool’s distinguishing feature: pass several and the relaxation picks per stone (e.g. [1.5, 1.2, 0.9]); null/empty uses the user’s saved palette (the panel’s save-as-default), otherwise 1.3. minDistance is the metal left between stones, borderDistance the margin to the surface edge (both mm; 0 keeps the user’s saved value, otherwise 0.1). fillMode is FROM_BORDER (default, seeds the outline first) or FROM_CENTER, which grows from startPoint. symmetry mirrors the layout: NONE (default), X, Y or BOTH. relaxIterations runs extra relaxation passes for a tidier result. Returns the ids of the baked gems.

ParameterTypeDefault
surfaceIdsIEnumerable<Guid>null
gemSizesarray<double>null
minDistancedouble0
borderDistancedouble0
fillModestringnull
symmetrystringnull
startPointPoint3d?null
relaxIterationsint0

Returns IReadOnlyList<Guid>.