.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 | |
|---|---|
OnSurface | Fills 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.
| Parameter | Type | Default |
|---|---|---|
surfaceIds | IEnumerable<Guid> | null |
gemSizes | array<double> | null |
minDistance | double | 0 |
borderDistance | double | 0 |
fillMode | string | null |
symmetry | string | null |
startPoint | Point3d? | null |
relaxIterations | int | 0 |
Returns IReadOnlyList<Guid>.