Skip to content

Python package

Results

Plain read-only records. Every one has to_dict(), prints as Name(field=value, ...) and iterates as (field, value) pairs.

AdvancedGemsOnCurveResult

What ra.advanced_gems_on_curve.create hands back: the parametric group id (the Unique of its RaObjectUserData, what ArtisanEdit uses) and the gems.

FieldType
caratsfloat
countint
gem_idsList[str]
uniquestr

AllInOneExport

FieldType
all_printableboolFalse = some objects had errors
facesinttriangles in the STL
non_printable_idsList[str]
object_countintobjects merged
pathstrSTL written

AssetInfo

FieldType
idint
is_defaultboolTrue for the asset the Create methods use when no profile is given.
namestr
point_countintControl points of the half profile (a rough complexity hint).
semanticstr
typestrTypeOfAssetBackend name

AzureResult

What ra.azure.create baked: the carved solid (boolean on) or the loose cutters (boolean off), plus the thinnest metal wall left between two neighbouring holes (-1 when there is a single hole).

FieldType
cutter_idsList[str]cutter ids (empty when boolean is on)
holesintazure holes generated (one per gem that projected onto the solid)
min_wall_distancefloatmm between the two closest holes; -1 with fewer than two holes
result_idstrcarved solid id (None when boolean is off)

BalanceReport

FieldType
appliedboolTrue = the corrected copies were added
base_pointPoint3dcenter of the base object’s bounding box (the hook)
centroidPoint3dvolume centroid of the hanging geometry
is_balancedboolTiltDegrees below tolerance
new_idsList[str]the rotated copies when applied
tilt_degreesfloatangle between the hang line and straight down; 0 = balanced

BatchRenderResult

FieldType
failedList[str]file NAMES whose image was not produced
output_filesList[str]full paths of the images written
processedint.3dm files opened and attempted

CutByRingSizeResult

FieldType
cut_countintobjects cut
diameterfloatcylinder diameter used, mm
failed_countintobjects the boolean could not cut
failed_idsList[str]untouched originals
object_idsList[str]the new (cut) objects

DecimateResult

FieldType
faces_afterint
faces_beforeint
meshes_decimatedint

DecimateToleranceResult

FieldType
max_deviation_mmfloatLargest deviation across every decimated mesh, in mm.
meshes_decimatedint
meshes_unchangedint
triangles_afterint
triangles_beforeintIn TRIANGLES: the reducer triangulates quads, so a quad mesh’s Faces.Count is not comparable with the result’s.

DimensionValueReport

Result of ra.drafting.reduce_dimensions().

FieldType
changedint
percentagefloat
skippedint

DismantledBoolean

One dismantled boolean, as listed by ListDismantled.

FieldType
cutter_idsList[str]
idstr
missing_idsList[str]
operationstr
target_idsList[str]

ElementInfo

One saved element in the user’s library.

FieldType
favoritebool
idstr
namestr
typestr

ElementsExport

FieldType
countintelements in the file
pathstrJSON written
typestrlibrary type exported (store name, e.g. “BEZEL”)

ElementsImport

FieldType
duplicatesintelements that already existed (skipped)
importedintnew elements added to the library
namesList[str]names of the imported elements
pathstr

GemsOn2CurvesResult

What ra.gems_on_two_curves.create hands back: the parametric group id (the Unique of its RaObjectUserData, what ArtisanEdit uses), the gem ids and the prong ids (empty unless prongs was requested).

FieldType
caratsfloat
countint
gem_idsList[str]
prong_idsList[str]
uniquestr

GlobalThicknessResult

FieldType
average_mmfloatmean over measurable samples
max_mmfloatthickest measured wall
mesh_idstrcolorized mesh when colorize=True, else None
min_mmfloatthinnest measured wall
sample_countintvertices with a valid measurement
thin_percentagefloat% of measurable samples below the threshold — the figure the command prints on the command line
thin_spotsList[ThinSpot]
unmeasurable_countintvertices where no wall was found

LayerExport

FieldType
facesinttriangles written
layerstrlayer name (= file name)
pathstrSTL written, or the existing file when skipped
skippedboolTrue = file existed and overwrite was False

LayerImport

FieldType
file_pathstrSTL imported
idsList[str]
layerstrlayer it went to (file name without extension)
object_countintobjects the file brought in

MeshCheckResult

FieldType
idstr
is_closedbool
is_manifoldbool
is_validbool
printableboolvalid, closed AND manifold/oriented — the same green/red verdict the tool paints (QuickCheckCommand.IsPrintable)

MetalWeightResult

One metal position of the document (or an ad-hoc object set).

FieldType
gramsfloatcast weight
layerstre.g. “Metal 01” (or “Metal 01+02+03” when the doc uses one metal)
metalstrMetal enum name, e.g. “GOLD_YELLOW_18”
processed_gramsfloatafter the configured finishing loss %
volumefloatmodel units^3 (mm3 in a mm document)
wax_gramsfloatwax model weight at the configured wax density

NonPrintableReport

FieldType
bad_objectsList[str]Rhino’s SelBadObjects
countintobjects flagged (now selected)
duplicatesList[str]SelDup
open_polysurfacesList[str]SelOpenPolysrf
open_surfacesList[str]SelOpenSrf

PaveResult

Everything one pavé run created, split by kind.

FieldType
allList[str]Gems + prongs + cutters, for “select everything I just built”.
cuttersList[str]
gemsList[str]
prongsList[str]

PriceBreakdownDetails

Result of ra.pricing.calculate_detailed(): the panel’s line-level detail. All costs in the manufacturer’s currency; weights in grams; sizes in mm.

FieldType
additional_processesList[PriceNamedCost]
currencystr
diamondsList[PriceDiamondLine]
diamonds_caratsfloat
diamonds_countint
diamonds_totalfloat
extrasList[PriceNamedCost]
extras_totalfloat
gemsList[PriceGemLine]
gems_caratsfloat
gems_countint
gems_totalfloat
metal_processesList[PriceMetalProcessLine]
metal_totalfloat
metalsList[PriceMetalLine]
processes_additional_costfloat
processes_metal_costfloat
processes_setting_costfloat
processes_totalfloat
setting_processesList[PriceSettingProcessLine]
totalfloat
total_formattedstr

PriceDiamondLine

FieldType
caratsfloat
certificate_idstr
dealerstr
lab_grownbool
pricefloat
quotedboolFalse = no live Nivoda quote (offline, quote_certified = False, or no match): the stone counts in the carat totals but prices as 0.
shapestr

PriceGemLine

FieldType
caratsfloat
costfloat
countint
price_per_caratfloat
setting_typestr
shapestr
sievestr
size_mmfloat

PriceMetalLine

FieldType
costfloat
metalstr
price_per_gramfloat
total_weight_gramsfloat
wastefloat
weight_gramsfloat

PriceMetalProcessLine

FieldType
cast_finish_polish_costfloat
finishing_costfloat
metalstr
printing_costfloat
printing_sizestr
rhodium_costfloat

PriceNamedCost

FieldType
costfloat
namestr

PriceResult

Result of ra.pricing.calculate(): the grand total plus the per-category breakdown, in the active manufacturer’s currency. TotalFormatted is the total already rendered with the currency symbol (e.g. “1,234.00 €”).

FieldType
currencystr
diamondsfloat
extrasfloat
gemsfloat
metalfloat
processesfloat
totalfloat
total_formattedstr

PriceSettingProcessLine

FieldType
costfloat
countint
setting_typestr

ReduceThicknessResult

FieldType
final_gramsfloatweight after
grams_savedfloat
masked_near_gemsintvertices protected around gems
mesh_idstrthe hollowed mesh (replaces the original)
original_gramsfloatweight before, first document metal (0 = open mesh)
thin_verticesintvertices that ended below the target thickness

ReliefOperationInfo

FieldType
combine_modestr
enabledbool
idstr
indexintPosition in the stack, 0 = first applied.
missing_referencesboolTrue when a referenced curve/object no longer resolves or a referenced image/texture file is missing; the operation is skipped.
namestr
typestr”profile”, “extrude”, “image”, “texture”, “geometry”, “carbon”, “sculpt” or “smooth”.

ReliefProjectInfo

FieldType
cap_distancefloat
delete_basebool
existsboolFalse when the document has no saved relief project.
operation_countint
output_typestr”Mesh” (open relief) or “Thickness” (closed solid).
resolutionint
world_heightfloat
world_widthfloat

RepairResult

FieldType
is_closedboolTrue = watertight, printable
mesh_idstrthe repaired watertight mesh added to the doc
naked_edgesintremaining open edges (0 is what you want)
shellsintnumber of separate shells in the result

ResizedRing

FieldType
diameterfloattarget inner diameter (mm)
namestrsize label, also the child layer suffix
ring_idstrthe resized ring mesh

RingSizeEstimate

FieldType
inner_diameterfloatmeasured gap along X at Z=0, mm
inner_heightfloatmeasured gap along Z at X=0, mm (0 = open/unknown)
is_ringboolenough ring-like features found
probabilityfloat0..100 score
regionstrsizing region used for the lookup
ring_curve_idstrinserted ring curve (add_ring_curve), else Empty
sizestrclosest catalog size label
size_diameterfloatcatalog diameter of that size, mm

RingSizeInfo

FieldType
diameterfloatinner diameter, mm
regionstre.g. “EU”, “US”
sizestre.g. “54”, “7”

StandardizeResult

FieldType
blocks_explodedintblock definitions the document had
materials_leftintmaterials Rhino refused to remove (0 normally)
materials_removedintrender materials purged

SweepResult

What the rail sweeps bake: the oriented profile curves (plus the inner curves of the CLOSE / COMFORT / THICKNESS modes) and, when sweep is True, the swept breps.

FieldType
brep_idsList[str]
curve_idsList[str]

TaxRegion

One entry of ra.pricing.tax_regions(): the code to pass as region and its display name.

FieldType
codestr
namestr

TechnicalChartGem

FieldType
caratsfloat
countint
setting_typestr
shapestr
sievestr
size_mmfloat

TechnicalChartMetal

FieldType
area_mm2float
metalstr
total_weight_gramsfloat
volume_mm3float
waste_gramsfloat
wax_weight_gramsfloat
weight_gramsfloat

TechnicalChartMetalProcess

FieldType
invalid_sizebool
metalstr
print_size_namestr
printing_sizestr

TechnicalChartResult

Result of ra.drafting.create_technical_chart(): the breakdown without prices. Weights in grams, sizes in mm, volume in mm3, area in mm2.

FieldType
additional_processesList[str]
created_atstr
extrasList[str]
gemsList[TechnicalChartGem]
metal_processesList[TechnicalChartMetalProcess]
metalsList[TechnicalChartMetal]
pathstr
setting_processesList[TechnicalChartSettingProcess]

TechnicalChartSettingProcess

FieldType
countint
setting_typestr

ThinSpot

FieldType
pointPoint3dvertex position on the analysis mesh
thickness_mmfloatwall thickness measured there

TrilogyResult

What a Trilogy setting call baked: the three stones it was built on (existing ids, never rebaked), the ring curve it was measured against (the Three Stones finger circle when the set came from ArtisanThreeStones) and the new metal / stone objects, all grouped under GroupName with Unique as the editable object’s identity.

FieldType
center_gem_idstr
group_namestr
metal_idsList[str]
ring_curve_idstr
side_a_gem_idstr
side_b_gem_idstr
stone_idsList[str]
stylestr
uniquestr

UpdateResult

Outcome of UpdateAll / Update.

FieldType
foundint
messagesList[str]
rebuiltint
result_idsList[str]
skippedint