NurbsSurface

class compas.geometry.NurbsSurface[source]

Bases: Surface

A NURBS surface is defined by control points, weights, knots, and a degree, in two directions U and V.

Parameters:
namestr, optional

The name of the surface.

Attributes:
pointslist[list[compas.geometry.Point]], read-only

The control points as rows along the U direction.

weightslist[list[float]], read-only

The weights of the control points.

knots_ulist[float], read-only

The knots in the U direction, without multiplicity.

knots_vlist[float], read-only

The knots in the V direction, without multiplicity.

mults_ulist[int], read-only

Multiplicity of the knots in the U direction.

mults_vlist[int], read-only

Multiplicity of the knots in the V direction.

degree_ulist[int], read-only

The degree of the surface in the U direction.

degree_vlist[int], read-only

The degree of the surface in the V direction.

Methods

copy

Make an independent copy of the surface.

from_fill

Construct a NURBS surface from the infill between two, three or four contiguous NURBS curves.

from_meshgrid

Construct a NURBS surface from a mesh grid.

from_native

Construct a NURBS surface from a surface object.

from_parameters

Construct a NURBS surface from explicit parameters.

from_points

Construct a NURBS surface from control points.

from_step

Load a NURBS surface from a STP file.

Inherited Methods

ToString

Converts the instance to a string.

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.

compute_aabb

Compute the axis-aligned bounding box of the geometry.

compute_obb

Compute the oriented bounding box of the geometry.

curvature_at

Compute the curvature at a point on the surface.

frame_at

Compute the local frame at a point on the curve.

from_json

Construct an object of this type from a JSON file.

from_jsonstring

Construct an object of this type from a JSON string.

from_obj

Load a surface from an OBJ file.

from_plane

Construct a surface from a plane.

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.

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.

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_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.

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_tesselation

Convert the surface to a triangle mesh.

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.

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.