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.
| Field | Type | |
|---|
carats | float | |
count | int | |
gem_ids | List[str] | |
unique | str | |
AllInOneExport
| Field | Type | |
|---|
all_printable | bool | False = some objects had errors |
faces | int | triangles in the STL |
non_printable_ids | List[str] | |
object_count | int | objects merged |
path | str | STL written |
AssetInfo
| Field | Type | |
|---|
id | int | |
is_default | bool | True for the asset the Create methods use when no profile is given. |
name | str | |
point_count | int | Control points of the half profile (a rough complexity hint). |
semantic | str | |
type | str | TypeOfAssetBackend 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).
| Field | Type | |
|---|
cutter_ids | List[str] | cutter ids (empty when boolean is on) |
holes | int | azure holes generated (one per gem that projected onto the solid) |
min_wall_distance | float | mm between the two closest holes; -1 with fewer than two holes |
result_id | str | carved solid id (None when boolean is off) |
BalanceReport
| Field | Type | |
|---|
applied | bool | True = the corrected copies were added |
base_point | Point3d | center of the base object’s bounding box (the hook) |
centroid | Point3d | volume centroid of the hanging geometry |
is_balanced | bool | TiltDegrees below tolerance |
new_ids | List[str] | the rotated copies when applied |
tilt_degrees | float | angle between the hang line and straight down; 0 = balanced |
BatchRenderResult
| Field | Type | |
|---|
failed | List[str] | file NAMES whose image was not produced |
output_files | List[str] | full paths of the images written |
processed | int | .3dm files opened and attempted |
CutByRingSizeResult
| Field | Type | |
|---|
cut_count | int | objects cut |
diameter | float | cylinder diameter used, mm |
failed_count | int | objects the boolean could not cut |
failed_ids | List[str] | untouched originals |
object_ids | List[str] | the new (cut) objects |
DecimateResult
| Field | Type | |
|---|
faces_after | int | |
faces_before | int | |
meshes_decimated | int | |
DecimateToleranceResult
| Field | Type | |
|---|
max_deviation_mm | float | Largest deviation across every decimated mesh, in mm. |
meshes_decimated | int | |
meshes_unchanged | int | |
triangles_after | int | |
triangles_before | int | In 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().
| Field | Type | |
|---|
changed | int | |
percentage | float | |
skipped | int | |
DismantledBoolean
One dismantled boolean, as listed by ListDismantled.
| Field | Type | |
|---|
cutter_ids | List[str] | |
id | str | |
missing_ids | List[str] | |
operation | str | |
target_ids | List[str] | |
ElementInfo
One saved element in the user’s library.
| Field | Type | |
|---|
favorite | bool | |
id | str | |
name | str | |
type | str | |
ElementsExport
| Field | Type | |
|---|
count | int | elements in the file |
path | str | JSON written |
type | str | library type exported (store name, e.g. “BEZEL”) |
ElementsImport
| Field | Type | |
|---|
duplicates | int | elements that already existed (skipped) |
imported | int | new elements added to the library |
names | List[str] | names of the imported elements |
path | str | |
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).
| Field | Type | |
|---|
carats | float | |
count | int | |
gem_ids | List[str] | |
prong_ids | List[str] | |
unique | str | |
GlobalThicknessResult
| Field | Type | |
|---|
average_mm | float | mean over measurable samples |
max_mm | float | thickest measured wall |
mesh_id | str | colorized mesh when colorize=True, else None |
min_mm | float | thinnest measured wall |
sample_count | int | vertices with a valid measurement |
thin_percentage | float | % of measurable samples below the threshold — the figure the command prints on the command line |
thin_spots | List[ThinSpot] | |
unmeasurable_count | int | vertices where no wall was found |
LayerExport
| Field | Type | |
|---|
faces | int | triangles written |
layer | str | layer name (= file name) |
path | str | STL written, or the existing file when skipped |
skipped | bool | True = file existed and overwrite was False |
LayerImport
| Field | Type | |
|---|
file_path | str | STL imported |
ids | List[str] | |
layer | str | layer it went to (file name without extension) |
object_count | int | objects the file brought in |
MeshCheckResult
| Field | Type | |
|---|
id | str | |
is_closed | bool | |
is_manifold | bool | |
is_valid | bool | |
printable | bool | valid, closed AND manifold/oriented — the same green/red verdict the tool paints (QuickCheckCommand.IsPrintable) |
One metal position of the document (or an ad-hoc object set).
| Field | Type | |
|---|
grams | float | cast weight |
layer | str | e.g. “Metal 01” (or “Metal 01+02+03” when the doc uses one metal) |
metal | str | Metal enum name, e.g. “GOLD_YELLOW_18” |
processed_grams | float | after the configured finishing loss % |
volume | float | model units^3 (mm3 in a mm document) |
wax_grams | float | wax model weight at the configured wax density |
NonPrintableReport
| Field | Type | |
|---|
bad_objects | List[str] | Rhino’s SelBadObjects |
count | int | objects flagged (now selected) |
duplicates | List[str] | SelDup |
open_polysurfaces | List[str] | SelOpenPolysrf |
open_surfaces | List[str] | SelOpenSrf |
PaveResult
Everything one pavé run created, split by kind.
| Field | Type | |
|---|
all | List[str] | Gems + prongs + cutters, for “select everything I just built”. |
cutters | List[str] | |
gems | List[str] | |
prongs | List[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.
| Field | Type | |
|---|
additional_processes | List[PriceNamedCost] | |
currency | str | |
diamonds | List[PriceDiamondLine] | |
diamonds_carats | float | |
diamonds_count | int | |
diamonds_total | float | |
extras | List[PriceNamedCost] | |
extras_total | float | |
gems | List[PriceGemLine] | |
gems_carats | float | |
gems_count | int | |
gems_total | float | |
metal_processes | List[PriceMetalProcessLine] | |
metal_total | float | |
metals | List[PriceMetalLine] | |
processes_additional_cost | float | |
processes_metal_cost | float | |
processes_setting_cost | float | |
processes_total | float | |
setting_processes | List[PriceSettingProcessLine] | |
total | float | |
total_formatted | str | |
PriceDiamondLine
| Field | Type | |
|---|
carats | float | |
certificate_id | str | |
dealer | str | |
lab_grown | bool | |
price | float | |
quoted | bool | False = no live Nivoda quote (offline, quote_certified = False, or no match): the stone counts in the carat totals but prices as 0. |
shape | str | |
PriceGemLine
| Field | Type | |
|---|
carats | float | |
cost | float | |
count | int | |
price_per_carat | float | |
setting_type | str | |
shape | str | |
sieve | str | |
size_mm | float | |
| Field | Type | |
|---|
cost | float | |
metal | str | |
price_per_gram | float | |
total_weight_grams | float | |
waste | float | |
weight_grams | float | |
| Field | Type | |
|---|
cast_finish_polish_cost | float | |
finishing_cost | float | |
metal | str | |
printing_cost | float | |
printing_size | str | |
rhodium_cost | float | |
PriceNamedCost
| Field | Type | |
|---|
cost | float | |
name | str | |
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 €”).
| Field | Type | |
|---|
currency | str | |
diamonds | float | |
extras | float | |
gems | float | |
metal | float | |
processes | float | |
total | float | |
total_formatted | str | |
PriceSettingProcessLine
| Field | Type | |
|---|
cost | float | |
count | int | |
setting_type | str | |
ReduceThicknessResult
| Field | Type | |
|---|
final_grams | float | weight after |
grams_saved | float | |
masked_near_gems | int | vertices protected around gems |
mesh_id | str | the hollowed mesh (replaces the original) |
original_grams | float | weight before, first document metal (0 = open mesh) |
thin_vertices | int | vertices that ended below the target thickness |
ReliefOperationInfo
| Field | Type | |
|---|
combine_mode | str | |
enabled | bool | |
id | str | |
index | int | Position in the stack, 0 = first applied. |
missing_references | bool | True when a referenced curve/object no longer resolves or a referenced image/texture file is missing; the operation is skipped. |
name | str | |
type | str | ”profile”, “extrude”, “image”, “texture”, “geometry”, “carbon”, “sculpt” or “smooth”. |
ReliefProjectInfo
| Field | Type | |
|---|
cap_distance | float | |
delete_base | bool | |
exists | bool | False when the document has no saved relief project. |
operation_count | int | |
output_type | str | ”Mesh” (open relief) or “Thickness” (closed solid). |
resolution | int | |
world_height | float | |
world_width | float | |
RepairResult
| Field | Type | |
|---|
is_closed | bool | True = watertight, printable |
mesh_id | str | the repaired watertight mesh added to the doc |
naked_edges | int | remaining open edges (0 is what you want) |
shells | int | number of separate shells in the result |
ResizedRing
| Field | Type | |
|---|
diameter | float | target inner diameter (mm) |
name | str | size label, also the child layer suffix |
ring_id | str | the resized ring mesh |
RingSizeEstimate
| Field | Type | |
|---|
inner_diameter | float | measured gap along X at Z=0, mm |
inner_height | float | measured gap along Z at X=0, mm (0 = open/unknown) |
is_ring | bool | enough ring-like features found |
probability | float | 0..100 score |
region | str | sizing region used for the lookup |
ring_curve_id | str | inserted ring curve (add_ring_curve), else Empty |
size | str | closest catalog size label |
size_diameter | float | catalog diameter of that size, mm |
RingSizeInfo
| Field | Type | |
|---|
diameter | float | inner diameter, mm |
region | str | e.g. “EU”, “US” |
size | str | e.g. “54”, “7” |
StandardizeResult
| Field | Type | |
|---|
blocks_exploded | int | block definitions the document had |
materials_left | int | materials Rhino refused to remove (0 normally) |
materials_removed | int | render 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.
| Field | Type | |
|---|
brep_ids | List[str] | |
curve_ids | List[str] | |
TaxRegion
One entry of ra.pricing.tax_regions(): the code to pass as region and its display name.
TechnicalChartGem
| Field | Type | |
|---|
carats | float | |
count | int | |
setting_type | str | |
shape | str | |
sieve | str | |
size_mm | float | |
| Field | Type | |
|---|
area_mm2 | float | |
metal | str | |
total_weight_grams | float | |
volume_mm3 | float | |
waste_grams | float | |
wax_weight_grams | float | |
weight_grams | float | |
| Field | Type | |
|---|
invalid_size | bool | |
metal | str | |
print_size_name | str | |
printing_size | str | |
TechnicalChartResult
Result of ra.drafting.create_technical_chart(): the breakdown without prices. Weights in grams, sizes in mm, volume in mm3, area in mm2.
| Field | Type | |
|---|
additional_processes | List[str] | |
created_at | str | |
extras | List[str] | |
gems | List[TechnicalChartGem] | |
metal_processes | List[TechnicalChartMetalProcess] | |
metals | List[TechnicalChartMetal] | |
path | str | |
setting_processes | List[TechnicalChartSettingProcess] | |
TechnicalChartSettingProcess
| Field | Type | |
|---|
count | int | |
setting_type | str | |
ThinSpot
| Field | Type | |
|---|
point | Point3d | vertex position on the analysis mesh |
thickness_mm | float | wall 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.
| Field | Type | |
|---|
center_gem_id | str | |
group_name | str | |
metal_ids | List[str] | |
ring_curve_id | str | |
side_a_gem_id | str | |
side_b_gem_id | str | |
stone_ids | List[str] | |
style | str | |
unique | str | |
UpdateResult
Outcome of UpdateAll / Update.
| Field | Type | |
|---|
found | int | |
messages | List[str] | |
rebuilt | int | |
result_ids | List[str] | |
skipped | int | |