PositionConstraint
- class compas_fab.robots.PositionConstraint(link_name, bounding_volume, weight=1.0)[source]
Bases:
compas_fab.robots.constraints.Constraint
Constrains a link to be within a certain bounding volume.
- Parameters
link_name (
str
) – The name of the link this contraint refers to.bounding_volume (
BoundingVolume
) – The volume this constraint refers to.weight (
float
, optional) – A weighting factor for this constraint. Denotes relative importance to other constraints. Closer to zero means less important. Defaults to1
.
- Attributes
link_name (
str
) – The name of the link this contraint refers to.bounding_volume (
BoundingVolume
) – The volume this constraint refers to.weight (
float
) – A weighting factor for this constraint. Denotes relative importance to other constraints. Closer to zero means less important.
Examples
>>> from compas.geometry import Sphere >>> from compas_fab.robots import PositionConstraint >>> from compas_fab.robots import BoundingVolume >>> bv = BoundingVolume.from_sphere(Sphere((3,4,5), 0.5)) >>> pc = PositionConstraint('link_0', bv, weight=1.)
Methods
__init__
(link_name, bounding_volume[, weight])copy
()Create a copy of this
PositionConstraint
.from_box
(link_name, box[, weight])Create a
PositionConstraint
from acompas.geometry.Box
.from_mesh
(link_name, mesh[, weight])Create a class:PositionConstraint from a
compas.datastructures.Mesh
.from_sphere
(link_name, sphere[, weight])Create a
PositionConstraint
from acompas.geometry.Sphere
.scale
(scale_factor)Scale the
bounding_volume
uniformely.scaled
(scale_factor)Get a scaled copy of this
Constraint
.transform
(transformation)Transform the
bounding_volume
using acompas.geometry.Transformation
.Attributes
CONSTRAINT_TYPES
List of possible constraint types.
JOINT
Joint constraint type.
ORIENTATION
Orientational constraint type.
POSITION
Positional constraint type.