PositionConstraint

class compas_fab.robots.PositionConstraint(link_name, bounding_volume, weight=1.0)[source]

Bases: 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

copy

Create a copy of this PositionConstraint.

from_box

Create a PositionConstraint from a compas.geometry.Box.

from_mesh

Create a class:PositionConstraint from a compas.datastructures.Mesh.

from_sphere

Create a PositionConstraint from a compas.geometry.Sphere.

scale

Scale the bounding_volume uniformely.

transform

Transform the bounding_volume using a compas.geometry.Transformation.

Inherited Methods

scaled

Get a scaled copy of this Constraint.