pyvista_cad.CadMetadata

pyvista_cad.CadMetadata#

class CadMetadata(source_format=None, source_format_version=None, units=None, color=None, label=None, guid=None, transform=None, extra=<factory>)[source]#

Bag of CAD-flavored metadata derived from a PyVista dataset.

Mirrors the cad.* field-data schema. The complete set of persisted field-data keys is:

  • cad.source_format -> source_format

  • cad.source_format_version -> source_format_version

  • cad.units -> units

  • cad.label -> label

  • cad.guid -> guid

  • cad.color -> color (RGB or RGBA, alpha optional)

  • cad.transform -> transform

  • cad.metadata -> extra (JSON-encoded free-form bag)

There is no separate opacity key: alpha rides on cad.color as an optional fourth component. cad.surface_id, cad.normal, and cad.uv are render-time analytic quantities recomputed by the CAD view, not persisted here. assembly_tree is a CadMultiBlockAccessor method, not a field.

Parameters:
source_formatstr or None

Originating CAD format ('STEP', 'DXF', …).

source_format_versionstr or None

Format-specific version stamp written by the originating backend (for example the DXF release such as 'R2018').

unitsstr or None

Length units ('mm', 'inch', …).

colortuple of float or None

Whole-dataset color in [0, 1]. A 3-tuple is opaque RGB; a 4-tuple is RGBA where the fourth component is alpha (opacity).

labelstr or None

Whole-dataset label (e.g. STEP PRODUCT.name).

guidstr or None

Unique identifier (IFC GlobalId, etc.).

transformnumpy.ndarray or None

Assembly-local-to-world 4x4 transform.

extradict

Free-form bag of source-format-specific metadata.

Parameters:

Examples

>>> from pyvista_cad import CadMetadata
>>> md = CadMetadata(source_format='STEP', units='mm')
>>> md.units
'mm'
__init__(source_format=None, source_format_version=None, units=None, color=None, label=None, guid=None, transform=None, extra=<factory>)#
Parameters:
Return type:

None

Methods

__init__([source_format, ...])

apply_to(dataset)

Write every populated attribute back to the dataset's field_data.

from_dataset(dataset)

Pull every cad.* field-data entry into a CadMetadata.

Attributes

color

guid

label

source_format

source_format_version

transform

units

extra