Brep

class compas.geometry.Brep(*args, **kwargs)[source]

Bases: Geometry

Contains the topological and geometrical information of a Brep shape.

This class serves as an interface for a Brep and allows instantiating a Brep object depending on the available Backend. Note: this is not a full implementation of Brep and rather relies on COMPAS’s plugin system for actual implementation.

Attributes
  • vertices (list[BrepVertex], read-only) – The vertices of the Brep.

  • edges (list[BrepEdge], read-only) – The edges of the Brep.

  • trims (list[BrepTrim], read-only) – The trims of the Brep.

  • loops (list[BrepLoop], read-only) – The loops of the Brep.

  • faces (list[BrepFace], read-only) – The faces of the Brep.

  • frame (Frame, read-only) – The local coordinate system of the Brep.

  • area (float, read-only) – The surface area of the Brep.

  • volume (float, read-only) – The volume of the regions contained by the Brep.

  • solids (list[Brep], read-only) – The solids of this brep.

  • shells (list[Brep], read-only) – The shells of this brep.

  • points (list[Point], read-only) – The points of this brep.

  • centroid (Point, read-only) – The centroid of this brep.

  • is_valid (bool, read-only) – True if this brep is valid, False otherwise

  • is_solid (bool, read-only) – True if this brep is a solid, False otherwise.

  • is_compound (bool, read-only) – True if this brep’s type is a compound, False otherwise.

  • is_compoundsolid (bool, read-only) – True if this brep’s type is a compoundsolid, False otherwise.

  • is_orientable (bool, read-only) – True if this brep is orientable, False otherwise.

  • is_closed (bool, read-only) – True if this brep is closed, False otherwise.

  • is_infinite (bool, read-only) – True if this brep is infinite, False otherwise.

  • is_convex (bool, read-only) – True if this brep is convex, False otherwise.

  • is_manifold (bool, read-only) – True if this brep is a manifold, False otherwise.

  • is_surface (bool, read-only) – True if this brep is a surface, False otherwise.

Other Attributes
  • native_brep – The underlying instance of the backend brep.

  • type (BrepType, read-only) – The type of Brep shape.

  • orientation (BrepOrientation, read-obly) – Orientation of the shape.

Methods

contours

Generate contour lines by slicing the Brep shape with a series of planes.

cull_unused_edges

Remove all unused edges.

cull_unused_faces

Remove all unused faces.

cull_unused_loops

Remove all unused loops.

cull_unused_vertices

Remove all unused vertices.

fix

Fix the shell.

from_boolean_difference

Construct a Brep from the boolean difference of two other Breps.

from_boolean_intersection

Construct a BRep from the boolean intersection of two other Breps.

from_boolean_union

Construct a Brep from the boolean union of two other Breps.

from_box

Construct a Brep from a COMPAS box.

from_brepfaces

Make a Brep from a list of Brep faces forming an open or closed shell.

from_cone

Construct a Brep from a COMPAS cone.

from_curves

Construct a Brep from a set of curves.

from_cylinder

Construct a Brep from a COMPAS cylinder.

from_extrusion

Construct a Brep by extruding a closed curve along a direction vector.

from_mesh

Construct a Brep from a COMPAS mesh.

from_native

Creates a Brep from an instance of a native backend Brep type.

from_polygons

Construct a Brep from a set of polygons.

from_sphere

Construct a Brep from a COMPAS sphere.

from_step_file

Conctruct a Brep from the data contained in a STEP file.

from_sweep

Construct a BRep by sweeping a profile along a path.

from_torus

Construct a Brep from a COMPAS torus.

make_solid

Convert the current shape to a solid if it is a shell.

overlap

Compute the overlap between this BRep and another.

sew

Sew together the individual parts of the shape.

slice

Slice through the BRep with a plane.

split

Slice through the BRep with a plane.

to_json

Export the BRep to a JSON file.

to_meshes

Convert the faces of this Brep shape to meshes.

to_step

Write the BRep shape to a STEP file.

to_tesselation

Create a tesselation of the shape for visualisation.

to_viewmesh

Convert this Brep to a view mesh.

trim

Trim this Brep using the given trimming plane.

vertex_edges

Identify the edges connected to a given vertex.

vertex_faces

Identify the faces connected to a vertex.

vertex_neighbors

Identify the neighbouring vertices of a given vertex.

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_jsonstring

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

transform

Transform the geometry.

transformed

Returns a transformed copy of this geometry.

validate_data

Validate the object's data against its data schema.

validate_json

Validate the object's data against its json schema.