Skip to content

Scripting API

Wedding

from ArtisanPlugin.Scripting import WeddingApi as wedding, WeddingBandApi as band

Wedding rings come in two shapes: a set of two rings baked together as one group, and a single band. Both store the same per-ring model, so they share one section.

Create

Neither has a Create yet. Run ArtisanWeddingRing or ArtisanWeddingBand in the UI once, then script every variant from the handle.

Edit - the set

IWedding exposes FirstRing and SecondRing, each a full ring. Editing either regenerates the whole set in place, re-baking both bands, their stones and prongs.

Member of a ringWhat it edits
Metal / SetMetal(metal)e.g. "GOLD_ROSE_18", "PLATINUM"
ProfileProfile asset, width and height of the band
GemsEnabled, shape (round or princess), distribution (full, half, one quarter, custom) and its count, spacing, channel, prongs (none, shared or channel) and drills
from ArtisanPlugin.Scripting import WeddingApi as wedding, Transaction

pair = wedding.All()[0]
with Transaction.Begin("Hers in rose gold with a half row"):
    pair.SecondRing.SetMetal("GOLD_ROSE_18")
    pair.SecondRing.Gems.SetEnabled(True)
    pair.SecondRing.Gems.SetDistribution("Half")

Wedding band

IWeddingBand is the one-ring counterpart: a single Ring member with exactly the same surface.

b = band.All()[0]
with Transaction.Begin("Wider band, no stones"):
    b.Ring.Profile.SetWidth(4.0)
    b.Ring.Gems.SetEnabled(False)

Queries

Both facades: All(), Find(id), Count(), Selected(), ByLayer(name).