Main Content

simscape.multibody.Revolution Class

R2026b

Namespace: simscape.multibody
Superclasses: simscape.multibody.Geometry

Create revolved geometry

Since R2022a

Description

Use an object of the simscape.multibody.Revolution class to represent revolved geometry. The geometry is a rotational sweep of a polygonal cross-section specified in the xz-plane. The rotational axis is along the z-axis of the reference frame. To specify the geometry, you can use the CrossSection and RevolutionAngle properties.

Revolution Geometry

Class Attributes

Sealed
true
ConstructOnLoad
true
RestrictsSubclassing
true

For information on class attributes, see Class Attributes.

Creation

Description

rev = simscape.multibody.Revolution creates a revolved geometry with default values.

rev = simscape.multibody.Revolution(CrossSection) creates a fully revolved geometry with the specified cross-section.

rev = simscape.multibody.Revolution(crosssection, angle) creates a partially revolved geometry with the specified cross-section and revolution angle.

rev = simscape.multibody.Revolution(crosssection,angle,surfaceGraphic) creates a revolved geometry with the specified cross-section, revolution angle, and surface visualization properties.

example

Properties

expand all

Cross-section of the revolved geometry, specified as a simscape.Value object that presents a N-by-2 matrix with a unit of length. N must be greater than two.

The matrix must define a closed loop in the xz-plane. The closed loop must have no self-intersecting segments, each row of the matrix must correspond to coordinates of a vertex of the cross-section polygon, and the vertexes must be specified in a counter-clockwise order when viewed from the negative y-axis. The x coordinate of each vertex must be nonnegative.

Fully Revolved Geometry

To specify a cross section with holes, you can traverse the outer boundary and all inner boundaries in a single path. The traversal of the outer boundary is in the counter-clockwise direction and the traversal of the inner boundary is in the clockwise direction.

Cross Section

Example: simscape.Value([10 1;5 1;5 -1;10 -1],"mm")

Attributes:

GetAccess
public
SetAccess
public
NonCopyable
true

Flag that indicates if the geometry has a full revolution, returned as true or false. A true value means that the geometry has a full revolution. If the FullExtent property is true, the value of the RevolutionAngle property equals 360 degrees or 2 pi.

Attributes:

GetAccess
public
SetAccess
public
NonCopyable
true

Angle of rotational sweep, specified as a simscape.Value object that represents a scalar with a unit of angle. The angle must be positive and have a maximum value of 360 degrees or 2 pi. Specifying the RevolutionAngle automatically sets the FullExtent property to false.

Partially Revolved Geometry

Example: simscape.Value(90,"deg")

Attributes:

GetAccess
public
SetAccess
public
NonCopyable
true

Surface visualization properties of the geometry, specified as a simscape.multibody.SurfaceGraphic object.

Attributes:

GetAccess
public
SetAccess
public

Examples

collapse all

This example shows how to create a revolved geometry with custom surface visualization properties.

Create a SurfaceGraphic object with an orange color and opacity of 0.7.

sg = simscape.multibody.SurfaceGraphic(simscape.multibody.SimpleVisualProperties([0.8 0.2 0], 0.7));

Create a partially revolved geometry with a rectangular cross-section and a revolution angle of 270 deg, and the surface graphic.

rev = simscape.multibody.Revolution( ...
    simscape.Value([1 1;1 -1;2 -1;2 1],"cm"), simscape.Value(270,"deg"), sg)
rev =
  Revolution with properties:

       CrossSection: [4x2 simscape.Value] (cm)
         FullExtent: 0
    RevolutionAngle: 270 (deg)
     SurfaceGraphic: [1x1 simscape.multibody.SurfaceGraphic]

Version History

Introduced in R2022a