Part

class compas.datastructures.Part(name=None, frame=None, shape=None, features=None, **kwargs)[source]

Bases: Datastructure

A data structure for representing assembly parts.

Parameters
  • name (str, optional) – The name of the part. The name will be stored in Part.attributes.

  • frame (Frame, optional) – The local coordinate system of the part.

  • shape (Shape, optional) – The base shape of the part geometry.

  • features (sequence[tuple[Shape, str]], optional) – The features to be added to the base shape of the part geometry.

Attributes
  • attributes (dict[str, Any]) – General data structure attributes that will be included in the data dict and serialization.

  • key (int or str) – The identifier of the part in the connectivity graph of the parent assembly.

  • frame (Frame) – The local coordinate system of the part.

  • shape (Shape) – The base shape of the part geometry.

  • features (list[tuple[Shape, str]]) – The features added to the base shape of the part geometry.

  • transformations (Deque[Transformation]) – The stack of transformations applied to the part geometry. The most recent transformation is on the left of the stack. All transformations are with respect to the local coordinate system.

  • geometry (Polyhedron, read-only) – The geometry of the part after combining the base shape and features through the specified operations.

Class Attributes

operations (dict[str, callable]) – Available operations for combining features with a base shape.

Methods

add_feature

Add a feature to the shape of the part and the operation through which it should be integrated.

to_mesh

Convert the part geometry to a mesh.

transform

Transform the part with respect to the local cooordinate system.

Inherited Methods

ToString

Converts the instance to a string.

copy

Make an independent copy of the data object.

from_data

Construct an object of this type from the provided data.

from_json

Construct an object from serialized data contained in a JSON file.

from_jsonstring

Construct an object from serialized data contained in a JSON string.

sha256

Compute a hash of the data for comparison during version control using the sha256 algorithm.

to_data

Convert an object to its native data representation.

to_json

Serialize the data representation of an object to a JSON file.

to_jsonstring

Serialize the data representation of an object to a JSON string.

validate_data

Validate the object's data against its data schema.

validate_json

Validate the object's data against its json schema.