Cylinder

class compas.geometry.Cylinder[source]

Bases: Shape

A cylinder is defined by a frame, radius, and height.

The cylinder is oriented along the z-axis of the frame. The base point of the cylinder (i.e. the centre of the base circle) is at the origin of the frame. Half of the cylinder is above the local XY plane of the frame, the other half below.

Parameters:
radiusfloat

The radius of the cylinder.

heightfloat

The height of the cylinder along the z-axis of the frame. Half of the cylinder is above the XY plane of the frame, the other half below.

framecompas.geometry.Frame, optional

The local coordinate system, or “frame”, of the cylinder. Default is None, in which case the world coordinate system is used.

namestr, optional

The name of the shape.

Attributes:
areafloat, read-only

The surface area of the cylinder.

axiscompas.geometry.Line, read-only

The central axis of the cylinder.

basecompas.geometry.Point, read-only

The base point of the cylinder. The base point is at the origin of the local coordinate system.

circlecompas.geometry.Circle, read-only

The base circle of the cylinder. The center of the circle is at the origin of the local coordinate system.

diameterfloat, read-only

The diameter of the base circle of the cylinder.

framecompas.geometry.Frame

The local coordinate system of the cylinder. The cylinder is oriented along the local z-axis.

heightfloat

The height of the cylinder.

planecompas.geometry.Plane, read-only

The plane of the cylinder. The base point of the plane is at the origin of the local coordinate system. The normal of the plane is in the direction of the z-axis of the local coordinate system.

radiusfloat

The radius of the base circle of the cylinder.

transformationcompas.geometry.Transformation

The transformation of the cylinder to global coordinates.

volumefloat, read-only

The volume of the cylinder.

Examples

>>> frame = Frame.worldXY()
>>> cylinder = Cylinder(frame=frame, radius=0.3, height=1.0)
>>> cylinder = Cylinder(radius=0.3, height=1.0)
>>> cylinder = Cylinder(0.3, 1.0)

Methods

compute_faces

Compute the faces of the discrete representation of the cylinder.

compute_vertices

Compute the vertices of the discrete representation of the cylinder.

contains_point

Verify if a point is inside the cylinder.

from_circle_and_height

Construct a cylinder from a circle and a height.

from_line_and_radius

Construct a cylinder from a line and a radius.

scale

Scale the cylinder by multiplying the radius and height by a factor.

to_brep

Returns a BRep representation of the cylinder.

Inherited Methods

ToString

Converts the instance to a string.

compute_aabb

Compute the axis-aligned bounding box of the geometry.

compute_edges

Compute the edges of the discrete representation of the shape.

compute_obb

Compute the oriented bounding box of the geometry.

compute_triangles

Compute the triangles of the discrete representation of the shape.

contains_points

Verify if a list of points are inside the shape.

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

rotated

Returns a rotated copy of this 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.

to_mesh

Returns a mesh representation of the box.

to_polyhedron

Convert the shape to a polyhedron.

to_vertices_and_faces

Convert the shape to a list of vertices and faces.

transform

Transform the shape.

transformed

Returns a transformed copy of this geometry.

translate

Translate the shape.

translated

Returns a translated copy of this geometry.

validate_data

Validate the data against the object's data schema.