Surface

class compas.geometry.Surface[source]

Bases: Geometry

Class representing a general surface object.

Parameters:
namestr, optional

The name of the surface.

Attributes:
framecompas.geometry.Frame

The local coordinate system of the surface. Default is the world coordinate system.

transformationcompas.geometry.Transformation, read-only

The transformation from the surface’s local coordinate system to the world coordinate system.

domain_utuple[float, float], read-only

The parameter domain of the surface in the U direction.

domain_vtuple[float, float], read-only

The parameter domain of the surface in the V direction.

is_periodic_ubool, read-only

Flag indicating if the surface is periodic in the U direction.

is_periodic_vbool, read-only

Flag indicating if the surface is periodic in the V direction.

Methods

aabb

Compute the axis aligned bounding box of the surface.

boundary

Compute the boundary curves of the surface.

closest_point

Compute the closest point on the curve to a given point.

curvature_at

Compute the curvature at a point on the surface.

frame_at

Compute the local frame at a point on the curve.

from_native

Construct a parametric surface from a native surface geometry.

from_obj

Load a surface from an OBJ file.

from_step

Load a surface from a STP file.

intersections_with_curve

Compute the intersections with a curve.

intersections_with_line

Compute the intersections with a line.

intersections_with_plane

Compute the intersections with a plane.

isocurve_u

Compute the isoparametric curve at parameter u.

isocurve_v

Compute the isoparametric curve at parameter v.

normal_at

Compute a normal at a point on the surface.

obb

Compute the oriented bounding box of the surface.

point_at

Compute a point on the surface.

pointgrid

Compute point locations corresponding to evenly spaced parameters over the surface domain.

space_u

Compute evenly spaced parameters over the surface domain in the U direction.

space_v

Compute evenly spaced parameters over the surface domain in the V direction.

to_brep

Convert the surface to a BREP representation.

to_mesh

Convert the surface to a mesh.

to_polyhedron

Convert the surface to a polyhedron.

to_quads

Convert the surface to a list of quads.

to_step

Write the surface geometry to a STP file.

to_triangles

Convert the surface to a list of triangles.

to_vertices_and_faces

Convert the surface to a list of vertices and faces.

transform

Transform the local coordinate system of the surface.

Inherited Methods

ToString

Converts the instance to a string.

compute_aabb

Compute the axis-aligned bounding box of the geometry.

compute_obb

Compute the oriented bounding box of the geometry.

copy

Make an independent copy of the data object.

from_json

Construct an object of this type from a JSON file.

from_jsonstring

Construct an object of this type from a JSON string.

rotate

Rotate the geometry.

rotated

Returns a rotated copy of this geometry.

scale

Scale the geometry.

scaled

Returns a scaled copy of this geometry.

sha256

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

to_json

Convert an object to its native data representation and save it to a JSON file.

to_jsonstring

Convert an object to its native data representation and save it to a JSON string.

transformed

Returns a transformed copy of this geometry.

translate

Translate the geometry.

translated

Returns a translated copy of this geometry.

validate_data

Validate the data against the object's data schema.