Skip to content

ObjectTraits

Builder for object traits (transform, materials, adjustments) Use with ObjectDescriptor.traits() to configure object properties

Instance Methods

transform()

javascript
transform(transform: Transform): ObjectTraits

Set initial transform

Parameters:

Returns: ObjectTraits

fittingBox()

javascript
fittingBox(size: number): ObjectTraits

Scale model to fit within a cubic bounding box

Parameters:

  • size (number) - Maximum dimension in meters (model will fit inside this cube)

Returns: ObjectTraits

pivot()

javascript
pivot(pivot: string): ObjectTraits

Set pivot adjustment

Parameters:

  • pivot (string) - "automatic", "top", "center", or "bottom"

Returns: ObjectTraits

opacity()

javascript
opacity(opacity: number): ObjectTraits

Set opacity adjustment

Parameters:

  • opacity (number) - Opacity value (0.0 to 1.0)

Returns: ObjectTraits

material()

javascript
material(materialOrId: string | Material, target?: Object): ObjectTraits

Apply a material – either a library reference by ID or an inline Material instance.

Parameters:

  • materialOrId (string | Material) - Library material ID, or a Material instance.
  • target (Object) (optional) - Optional target override.
  • target.type (string) (optional) - "allModels", "firstModel", or "selectedModels"
  • target.models (Array) (optional) - Array of model names (for selectedModels)
  • target.materialSlots (Array<number>) (optional) - Material slot indices

Returns: ObjectTraits

set()

javascript
set(path: string, value: any): ObjectTraits

Directly set a property path in traits

Parameters:

  • path (string) - Dot-separated path (e.g., "modelAdjustments.flatten")
  • value (any) - Value to set

Returns: ObjectTraits

build()

javascript
build(): Object

Build and return the traits object

Returns: Object