newton.TendonGuide#
- class newton.TendonGuide(*, body, guide_type=TendonGuideType.ANCHOR, radius=0.0, orientation=1, mu=0.0, dynamic=False, offset=(0.0, 0.0, 0.0), axis=(0.0, 0.0, 1.0), compliance=0.0, damping=0.0, rest_length=-1.0, custom_attributes=None, segment_custom_attributes=None)[source]#
Bases:
objectDescribe one point or circular guide in an experimental massless tendon route.
Pass a complete sequence to
newton.ModelBuilder.add_tendon(). Geometry is body-local; the builder copies it and normalizes the axis. Material parameters describe the incoming straight span. The first guide has no incoming span and must keep the material defaults.Experimental
Experimental feature. API, behavior, defaults, and supported use cases may change without prior notice.
- __init__(*, body, guide_type=TendonGuideType.ANCHOR, radius=0.0, orientation=1, mu=0.0, dynamic=False, offset=(0.0, 0.0, 0.0), axis=(0.0, 0.0, 1.0), compliance=0.0, damping=0.0, rest_length=-1.0, custom_attributes=None, segment_custom_attributes=None)#
- axis: list[float] | tuple[float, float, float] | vec3f = (0.0, 0.0, 1.0)#
Nonzero cable-plane normal in the body’s local frame [dimensionless].
- compliance: float = 0.0#
Incoming span compliance [m/N], equal to
1 / stiffnessfor positive stiffness [N/m].Zero requests an inextensible span in XPBD; VBD approximates it with a small positive compliance. Keep the default on the first guide.
- custom_attributes: dict[str, Any] | None = None#
Values of declared TENDON_GUIDE-frequency custom attributes.
- guide_type: TendonGuideType = 1#
Anchor, pinhole, or circular roller.
- offset: list[float] | tuple[float, float, float] | vec3f = (0.0, 0.0, 0.0)#
Anchor point or roller center in the body’s local frame [m].