Skip to content

.NET API

Results

Plain records with read-only meaning: the methods that return them fill them in.

AdvancedGemsOnCurveResult

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

PropertyType
Caratsdouble
Countint
GemIdsIReadOnlyList<Guid>
UniqueGuid

AiImageResult

An image generated with fal.ai.

PropertyType
ModestringGenerative AI Studio mode the prompt was tuned for
Modelstringfal.ai model used (Options > Assistant: Image / Text-to-image model)
PathstringThe image file written
SourcestringWhat the image was made from: “viewport”, “prompt” or the source file

AllInOneExport

PropertyType
AllPrintableboolfalse = some objects had errors
Facesinttriangles in the STL
NonPrintableIdsIReadOnlyList<Guid>
ObjectCountintobjects merged
PathstringSTL written

AssetInfo

PropertyType
Idint
IsDefaultboolTrue for the asset the Create methods use when no profile is given.
Namestring
PointCountintControl points of the half profile (a rough complexity hint).
Semanticstring
TypestringTypeOfAssetBackend name

AzureResult

What AzureApi.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).

PropertyType
CutterIdsIReadOnlyList<Guid>cutter ids (empty when boolean is on)
Holesintazure holes generated (one per gem that projected onto the solid)
MinWallDistancedoublemm between the two closest holes; -1 with fewer than two holes
ResultIdGuidcarved solid id (Guid.Empty when boolean is off)

BalanceReport

PropertyType
Appliedbooltrue = the corrected copies were added
BasePointPoint3dcenter of the base object’s bounding box (the hook)
CentroidPoint3dvolume centroid of the hanging geometry
IsBalancedboolTiltDegrees below tolerance
NewIdsIReadOnlyList<Guid>the rotated copies when applied
TiltDegreesdoubleangle between the hang line and straight down; 0 = balanced

BatchRenderResult

PropertyType
FailedIReadOnlyList<string>file NAMES whose image was not produced
OutputFilesIReadOnlyList<string>full paths of the images written
Processedint.3dm files opened and attempted

BoutiqueCatalogDesign

A design of an installed Boutique collection.

PropertyType
AvailableboolWhether the design’s file is on this computer (Insert needs it)
CollectionstringCollection name, e.g. “Solitaires”
CollectionFolderstringCollection folder name (stable; use it to disambiguate)
CurrencystringCurrency of the prices
DescriptionstringDesign description
IdstringDesign id within its collection
NamestringDesign name
PreviewstringPreview image file (empty when there is none)
RegularPricestringRetail price as the collection lists it (text, may be empty)
SalePricestringSale price as the collection lists it (text, may be empty)
SkustringDesign SKU

BoutiqueKit

A kit of the online Boutique catalog.

PropertyType
DatestringPublication date
FolderstringFolder it installs into
InstalledboolWhether its folder is on this computer
NamestringKit name
Typestring”collections” or “components”
UpToDateboolInstalled and not updated in the catalog since

CutByRingSizeResult

PropertyType
CutCountintobjects cut
Diameterdoublecylinder diameter used, mm
FailedCountintobjects the boolean could not cut
FailedIdsIReadOnlyList<Guid>untouched originals
ObjectIdsIReadOnlyList<Guid>the new (cut) objects

DecimateResult

PropertyType
FacesAfterint
FacesBeforeint
MeshesDecimatedint

DecimateToleranceResult

PropertyType
MaxDeviationMmdoubleLargest deviation across every decimated mesh, in mm.
MeshesDecimatedint
MeshesUnchangedint
TrianglesAfterint
TrianglesBeforeintIn TRIANGLES: the reducer triangulates quads, so a quad mesh’s Faces.Count is not comparable with the result’s.

DimensionValueReport

Result of DraftingExtraApi.ReduceDimensions().

PropertyType
Changedint
Percentagedouble
Skippedint

DismantledBoolean

One dismantled boolean, as listed by ListDismantled.

PropertyType
CutterIdsIReadOnlyList<Guid>
IdGuid
MissingIdsIReadOnlyList<Guid>
Operationstring
TargetIdsIReadOnlyList<Guid>

ElementInfo

One saved element in the user’s library.

PropertyType
Favoritebool
IdGuid
Namestring
Typestring

ElementsExport

PropertyType
Countintelements in the file
PathstringJSON written
Typestringlibrary type exported (store name, e.g. “BEZEL”)

ElementsImport

PropertyType
Duplicatesintelements that already existed (skipped)
Importedintnew elements added to the library
NamesIReadOnlyList<string>names of the imported elements
Pathstring

GemsOn2CurvesResult

What GemsOn2CurvesApi.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).

PropertyType
Caratsdouble
Countint
GemIdsIReadOnlyList<Guid>
ProngIdsIReadOnlyList<Guid>
UniqueGuid

GlbBatchItem

One file of a GLB batch.

PropertyType
ErrorstringWhy it failed (empty otherwise)
GlbstringThe .glb next to it
SourcestringThe .3dm read
Statusstring”exported”, “skipped” (the GLB was already there) or “failed”

GlobalThicknessResult

PropertyType
AverageMmdoublemean over measurable samples
MaxMmdoublethickest measured wall
MeshIdGuidcolorized mesh when colorize=true, else Guid.Empty
MinMmdoublethinnest measured wall
SampleCountintvertices with a valid measurement
ThinPercentagedouble% of measurable samples below the threshold — the figure the command prints on the command line
ThinSpotsIReadOnlyList<ThinSpot>
UnmeasurableCountintvertices where no wall was found

LayerExport

PropertyType
Facesinttriangles written
Layerstringlayer name (= file name)
PathstringSTL written, or the existing file when skipped
Skippedbooltrue = file existed and overwrite was false

LayerImport

PropertyType
FilePathstringSTL imported
IdsIReadOnlyList<Guid>
Layerstringlayer it went to (file name without extension)
ObjectCountintobjects the file brought in

MeshCheckResult

PropertyType
IdGuid
IsClosedbool
IsManifoldbool
IsValidbool
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).

PropertyType
Gramsdoublecast weight
Layerstringe.g. “Metal 01” (or “Metal 01+02+03” when the doc uses one metal)
MetalstringMetal enum name, e.g. “GOLD_YELLOW_18”
ProcessedGramsdoubleafter the configured finishing loss %
Volumedoublemodel units^3 (mm3 in a mm document)
WaxGramsdoublewax model weight at the configured wax density

NonPrintableReport

PropertyType
BadObjectsIReadOnlyList<Guid>Rhino’s SelBadObjects
Countintobjects flagged (now selected)
DuplicatesIReadOnlyList<Guid>SelDup
OpenPolysurfacesIReadOnlyList<Guid>SelOpenPolysrf
OpenSurfacesIReadOnlyList<Guid>SelOpenSrf

PaveResult

Everything one pavé run created, split by kind.

PropertyType
AllIReadOnlyList<Guid>Gems + prongs + cutters, for “select everything I just built”.
CuttersIReadOnlyList<Guid>
GemsIReadOnlyList<Guid>
ProngsIReadOnlyList<Guid>

PriceBreakdownDetails

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

PropertyType
AdditionalProcessesList<PriceNamedCost>
Currencystring
DiamondsList<PriceDiamondLine>
DiamondsCaratsdouble
DiamondsCountint
DiamondsTotaldouble
ExtrasList<PriceNamedCost>
ExtrasTotaldouble
GemsList<PriceGemLine>
GemsCaratsdouble
GemsCountint
GemsTotaldouble
MetalProcessesList<PriceMetalProcessLine>
MetalTotaldouble
MetalsList<PriceMetalLine>
ProcessesAdditionalCostdouble
ProcessesMetalCostdouble
ProcessesSettingCostdouble
ProcessesTotaldouble
SettingProcessesList<PriceSettingProcessLine>
Totaldouble
TotalFormattedstring

PriceDiamondLine

PropertyType
Caratsdouble
CertificateIdstring
Dealerstring
LabGrownbool
Pricedouble
Quotedboolfalse = no live Nivoda quote (offline, quoteCertified = false, or no match): the stone counts in the carat totals but prices as 0.
Shapestring

PriceGemLine

PropertyType
Caratsdouble
Costdouble
Countint
PricePerCaratdouble
SettingTypestring
Shapestring
Sievestring
SizeMmdouble

PriceMetalLine

PropertyType
Costdouble
Metalstring
PricePerGramdouble
TotalWeightGramsdouble
Wastedouble
WeightGramsdouble

PriceMetalProcessLine

PropertyType
CastFinishPolishCostdouble
FinishingCostdouble
Metalstring
PrintingCostdouble
PrintingSizestring
RhodiumCostdouble

PriceNamedCost

PropertyType
Costdouble
Namestring

PriceResult

Result of PricingApi.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 €”).

PropertyType
Currencystring
Diamondsdouble
Extrasdouble
Gemsdouble
Metaldouble
Processesdouble
Totaldouble
TotalFormattedstring

PriceSettingProcessLine

PropertyType
Costdouble
Countint
SettingTypestring

ReduceThicknessResult

PropertyType
FinalGramsdoubleweight after
GramsSaveddouble
MaskedNearGemsintvertices protected around gems
MeshIdGuidthe hollowed mesh (replaces the original)
OriginalGramsdoubleweight before, first document metal (0 = open mesh)
ThinVerticesintvertices that ended below the target thickness

ReliefOperationInfo

PropertyType
CombineModestring
Enabledbool
IdGuid
IndexintPosition in the stack, 0 = first applied.
MissingReferencesboolTrue when a referenced curve/object no longer resolves or a referenced image/texture file is missing; the operation is skipped.
Namestring
Typestring”profile”, “extrude”, “image”, “texture”, “geometry”, “carbon”, “sculpt” or “smooth”.

ReliefProjectInfo

PropertyType
CapDistancedouble
DeleteBasebool
ExistsboolFalse when the document has no saved relief project.
OperationCountint
OutputTypestring”Mesh” (open relief) or “Thickness” (closed solid).
Resolutionint
WorldHeightdouble
WorldWidthdouble

RepairResult

PropertyType
IsClosedbooltrue = watertight, printable
MeshIdGuidthe repaired watertight mesh added to the doc
NakedEdgesintremaining open edges (0 is what you want)
Shellsintnumber of separate shells in the result

ResizedRing

PropertyType
Diameterdoubletarget inner diameter (mm)
Namestringsize label, also the child layer suffix
RingIdGuidthe resized ring mesh

RingSizeEstimate

PropertyType
InnerDiameterdoublemeasured gap along X at Z=0, mm
InnerHeightdoublemeasured gap along Z at X=0, mm (0 = open/unknown)
IsRingboolenough ring-like features found
Probabilitydouble0..100 score
Regionstringsizing region used for the lookup
RingCurveIdGuidinserted ring curve (addRingCurve), else Empty
Sizestringclosest catalog size label
SizeDiameterdoublecatalog diameter of that size, mm

RingSizeInfo

PropertyType
Diameterdoubleinner diameter, mm
Regionstringe.g. “EU”, “US”
Sizestringe.g. “54”, “7”

StandardizeResult

PropertyType
BlocksExplodedintblock definitions the document had
MaterialsLeftintmaterials Rhino refused to remove (0 normally)
MaterialsRemovedintrender 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.

PropertyType
BrepIdsIReadOnlyList<Guid>
CurveIdsIReadOnlyList<Guid>

TaxRegion

One entry of PricingExtraApi.TaxRegions(): the code to pass as region and its display name.

PropertyType
Codestring
Namestring

TechnicalChartGem

PropertyType
Caratsdouble
Countint
SettingTypestring
Shapestring
Sievestring
SizeMmdouble

TechnicalChartMetal

PropertyType
AreaMm2double
Metalstring
TotalWeightGramsdouble
VolumeMm3double
WasteGramsdouble
WaxWeightGramsdouble
WeightGramsdouble

TechnicalChartMetalProcess

PropertyType
InvalidSizebool
Metalstring
PrintSizeNamestring
PrintingSizestring

TechnicalChartResult

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

PropertyType
AdditionalProcessesList<string>
CreatedAtstring
ExtrasList<string>
GemsList<TechnicalChartGem>
MetalProcessesList<TechnicalChartMetalProcess>
MetalsList<TechnicalChartMetal>
Pathstring
SettingProcessesList<TechnicalChartSettingProcess>

TechnicalChartSettingProcess

PropertyType
Countint
SettingTypestring

ThinSpot

PropertyType
PointPoint3dvertex position on the analysis mesh
ThicknessMmdoublewall thickness measured there

TimeTrackingDay

Time on every file on one day.

PropertyType
Datestring”yyyy-MM-dd” (local day)
HoursdoubleSame, in hours
SecondsintSeconds worked that day

TimeTrackingFile

Time on one file within the report’s period.

PropertyType
DaysintDays with time on it
HoursdoubleSame, in hours
LastDatestringLast day with time on it, “yyyy-MM-dd”
NamestringFile name, e.g. “Solitaire.3dm” (the panel groups by it)
PathstringFull path where it was last worked on
SecondsintSeconds worked in the period

TimeTrackingReport

A time report over a period of days.

PropertyType
DailyIReadOnlyList<TimeTrackingDay>Per day, oldest first
EnabledboolWhether the tracker is counting time now (Options)
FilesIReadOnlyList<TimeTrackingFile>Per file, most worked first
FromstringFirst day of the period, “yyyy-MM-dd” (empty for ALL)
IdleThresholdMinutesintMinutes without keyboard or mouse after which time stops counting
PeriodstringALL, TODAY, WEEK (since Monday) or MONTH
TostringToday, “yyyy-MM-dd”
TotalHoursdoubleSame, in hours
TotalSecondsintSeconds on every file in the period

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.

PropertyType
CenterGemIdGuid
GroupNamestring
MetalIdsIReadOnlyList<Guid>
RingCurveIdGuid
SideAGemIdGuid
SideBGemIdGuid
StoneIdsIReadOnlyList<Guid>
Stylestring
UniqueGuid

UpdateResult

Outcome of UpdateAll / Update.

PropertyType
Foundint
MessagesIReadOnlyList<string>
Rebuiltint
ResultIdsIReadOnlyList<Guid>
Skippedint