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 to 1.

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 a compas.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 a compas.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 a compas.geometry.Transformation.

Attributes

CONSTRAINT_TYPES

List of possible constraint types.

JOINT

Joint constraint type.

ORIENTATION

Orientational constraint type.

POSITION

Positional constraint type.