Skip to content
weSkelDOCUMENTATION
Documentation/API reference/MotionPath

MotionPath

Evaluate position and orientation along a curve.

ClassAPI 2.0GEOMETRY
objectNodeDGNodeMotionPath
from weSkel.src.core.node.dg.motion_path.lib import MotionPath

Run in Maya or an initialized mayapy process. Import om only if your script uses OpenMaya types.

Item Value
Classe MotionPath
Module weSkel.src.core.node.dg.motion_path.lib
Maya type motionPath
Direct parent DGNode
Inventory Members defined or overridden here; inherited members are grouped by parent in each section.

Signature : MotionPath(node) → MotionPath.

Parameter Accepted type Default
node Union[str, om.MObject, om.MObjectHandle, om.MFnDependencyNode] Required

Wraps an existing node or stages a wrapper for an absent name; does not create the node. Call create() separately. An incompatible object or type can raise TypeError. Shared identity can return an already registered compatible wrapper.

Python properties defined or overridden here. R: read-only; R/W: a setter exists, subject to the member notes. om.* types belong to maya.api.OpenMaya.

No new Python property; see inherited members and specs below.

Properties inherited from DGNode15
Property Return type Access Description
dep_fn om.MFnDependencyNode R Live function set; unattached object when the node is missing.
uuid str | None R Live UUID, or the last staged value if still available.
name str | None R/W Live name, otherwise staged name.
absolute_name str | None R Absolute namespace name from MFnDependencyNode.absoluteName(); None without a node.
stripped_name str | None R/W Name without its namespace, or None when unnamed.
namespace str | None R/W Normalized namespace such as a:b; None at the root.
plugs Plugs | None R Live node plug manager; None otherwise.
is_valid_dep_fn bool R Function-set compatibility with the current MObject.
is_default_node bool R Whether this is a Maya default node; False without a node.
is_from_referenced_file bool R Whether the node comes from a referenced file; False without a node.
is_locked bool R/W Node lock, separate from plug locks.
is_shared bool R Shared state reported by Maya; False without a node.
plugin_name str | None R Associated Maya plugin name, possibly an empty string; None without a node.
affect_animation bool R Result of MFnDependencyNode.affectsAnimation(); False without a node.
type str | None R/W Live native type or staged type.
Properties inherited from Node10
Property Return type Access Description
mobject om.MObject R/W Live Maya object, or a null object.
mobject_handle om.MObjectHandle R/W Handle associated with the node.
api_type int | None R Maya API type identifier.
api_type_str str R API type name, for example "kTime".
exists bool R The wrapper currently has a live node.
is_null bool R The returned Maya object is null.
is_alive bool R The object exists with a valid, live handle.
is_valid_handle bool R Validity of the stored handle.
is_dag_node bool R Compatibility with om.MFn.kDagNode.
hash_code int R Maya handle hash.

Defaults and flags below are spec declarations, not guaranteed live values. A descriptor can return a proxy: .value reads its value; .plug accesses the Plug. Proxy names describe results, not private classes to import. Observed types come from a test fixture; disconnected geometry inputs may notably return None.

For writes where failure must be checked, use the Plug explicitly and verify live state. Descriptor setters do not propagate every native failure.

Property Maya plug Returns
flow_node flowNode None
fraction_mode fractionMode _ValuePlugProxy · .value: bool
orientation_marker_time orientationMarkerTime TypedArrayProxy
position_marker_time positionMarkerTime TypedArrayProxy
u_value uValue _ValuePlugProxy · .value: float
update_om updateOM _ValuePlugProxy · .value: bool
geometry_path geometryPath _ValuePlugProxy · .value: None
orient_matrix orientMatrix _ValuePlugProxy · .value: None
world_up_matrix worldUpMatrix _ValuePlugProxy · .value: MMatrix
all_coordinates allCoordinates _ValuePlugProxy · .value: tuple
x_coordinate allCoordinates.xCoordinate _ValuePlugProxy · .value: float
y_coordinate allCoordinates.yCoordinate _ValuePlugProxy · .value: float
z_coordinate allCoordinates.zCoordinate _ValuePlugProxy · .value: float
bank bank _ValuePlugProxy · .value: bool
bank_limit bankLimit _ValuePlugProxy · .value: float
bank_scale bankScale _ValuePlugProxy · .value: float
follow follow _ValuePlugProxy · .value: bool
front_axis frontAxis _ValuePlugProxy · .value: int
front_twist frontTwist _ValuePlugProxy · .value: float
inverse_front inverseFront _ValuePlugProxy · .value: bool
inverse_up inverseUp _ValuePlugProxy · .value: bool
normal normal _ValuePlugProxy · .value: bool
rotate rotate _ValuePlugProxy · .value: tuple
rotate_order rotateOrder _ValuePlugProxy · .value: int
rotate_x rotate.rotateX _ValuePlugProxy · .value: float
rotate_y rotate.rotateY _ValuePlugProxy · .value: float
rotate_z rotate.rotateZ _ValuePlugProxy · .value: float
side_twist sideTwist _ValuePlugProxy · .value: float
up_axis upAxis _ValuePlugProxy · .value: int
up_twist upTwist _ValuePlugProxy · .value: float
world_up_type worldUpType _ValuePlugProxy · .value: int
world_up_vector worldUpVector _ValuePlugProxy · .value: tuple
world_up_vector_x worldUpVector.worldUpVectorX _ValuePlugProxy · .value: float
world_up_vector_y worldUpVector.worldUpVectorY _ValuePlugProxy · .value: float
world_up_vector_z worldUpVector.worldUpVectorZ _ValuePlugProxy · .value: float

node.flow_nodeNative spec

Access to native plug flowNode.

Item Type / behavior
Maya path flowNode
Property return None
Declared kind message
Declared default None
Flags input, output, connectable

The descriptor setter rejects assignment; use Plug connection operations.

node.fraction_modeNative spec

Access to native plug fractionMode.

Item Type / behavior
Maya path fractionMode
Property return _ValuePlugProxy · .value: bool
Declared kind numeric:bool
Declared default False
Flags input, output, stored
Read node.fraction_mode.value
Descriptor assignment node.fraction_mode = value

node.orientation_marker_timeNative spec

Access to native plug orientationMarkerTime.

Item Type / behavior
Maya path orientationMarkerTime
Property return TypedArrayProxy
Declared kind array:unit:time
Declared default ()
Flags array, input, output, connectable, stored
Underlying plug node.orientation_marker_time.plug

node.position_marker_timeNative spec

Access to native plug positionMarkerTime.

Item Type / behavior
Maya path positionMarkerTime
Property return TypedArrayProxy
Declared kind array:unit:time
Declared default ()
Flags array, input, output, connectable, stored
Underlying plug node.position_marker_time.plug

node.u_valueNative spec

Access to native plug uValue.

Item Type / behavior
Maya path uValue
Property return _ValuePlugProxy · .value: float
Declared kind unit:distance
Declared default 0.0
Flags input, output, connectable, stored, keyable
Read node.u_value.value
Descriptor assignment node.u_value = value

node.update_omNative spec

Access to native plug updateOM.

Item Type / behavior
Maya path updateOM
Property return _ValuePlugProxy · .value: bool
Declared kind numeric:bool
Declared default False
Flags input, output, hidden
Read node.update_om.value

node.geometry_pathNative spec

Access to native plug geometryPath.

Item Type / behavior
Maya path geometryPath
Property return _ValuePlugProxy · .value: None
Declared kind typed:geometry
Declared default None
Flags input, output, connectable, stored
Read node.geometry_path.value
Descriptor assignment node.geometry_path = value

node.orient_matrixNative spec

Access to native plug orientMatrix.

Item Type / behavior
Maya path orientMatrix
Property return _ValuePlugProxy · .value: None
Declared kind typed:matrix
Declared default None
Flags output, connectable
Read node.orient_matrix.value

node.world_up_matrixNative spec

Access to native plug worldUpMatrix.

Item Type / behavior
Maya path worldUpMatrix
Property return _ValuePlugProxy · .value: MMatrix
Declared kind typed:matrix
Declared default (1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0)
Flags input, output, connectable, stored
Read node.world_up_matrix.value
Descriptor assignment node.world_up_matrix = value

node.all_coordinatesNative spec

Access to native plug allCoordinates.

Item Type / behavior
Maya path allCoordinates
Property return _ValuePlugProxy · .value: tuple
Declared kind double3
Declared default (0.0, 0.0, 0.0)
Flags output, connectable
Read node.all_coordinates.value

node.x_coordinateNative spec

Access to native plug allCoordinates.xCoordinate.

Item Type / behavior
Maya path allCoordinates.xCoordinate
Property return _ValuePlugProxy · .value: float
Declared kind unit:distance
Declared default 0.0
Flags output, connectable
Read node.x_coordinate.value

node.y_coordinateNative spec

Access to native plug allCoordinates.yCoordinate.

Item Type / behavior
Maya path allCoordinates.yCoordinate
Property return _ValuePlugProxy · .value: float
Declared kind unit:distance
Declared default 0.0
Flags output, connectable
Read node.y_coordinate.value

node.z_coordinateNative spec

Access to native plug allCoordinates.zCoordinate.

Item Type / behavior
Maya path allCoordinates.zCoordinate
Property return _ValuePlugProxy · .value: float
Declared kind unit:distance
Declared default 0.0
Flags output, connectable
Read node.z_coordinate.value

node.bankNative spec

Access to native plug bank.

Item Type / behavior
Maya path bank
Property return _ValuePlugProxy · .value: bool
Declared kind numeric:bool
Declared default False
Flags input, output, connectable, stored
Read node.bank.value
Descriptor assignment node.bank = value

node.bank_limitNative spec

Access to native plug bankLimit.

Item Type / behavior
Maya path bankLimit
Property return _ValuePlugProxy · .value: float
Declared kind unit:angle
Declared default 90.0
Flags input, output, connectable, stored
Read node.bank_limit.value
Descriptor assignment node.bank_limit = value

node.bank_scaleNative spec

Access to native plug bankScale.

Item Type / behavior
Maya path bankScale
Property return _ValuePlugProxy · .value: float
Declared kind numeric:double
Declared default 1.0
Flags input, output, connectable, stored
Read node.bank_scale.value
Descriptor assignment node.bank_scale = value

node.followNative spec

Access to native plug follow.

Item Type / behavior
Maya path follow
Property return _ValuePlugProxy · .value: bool
Declared kind numeric:bool
Declared default False
Flags input, output, stored
Read node.follow.value
Descriptor assignment node.follow = value

node.front_axisNative spec

Access to native plug frontAxis.

Item Type / behavior
Maya path frontAxis
Property return _ValuePlugProxy · .value: int
Declared kind enum
Declared default 1
Flags input, output, connectable, stored
Native enum values 0 = X, 1 = Y, 2 = Z
Read node.front_axis.value
Descriptor assignment node.front_axis = value

node.front_twistNative spec

Access to native plug frontTwist.

Item Type / behavior
Maya path frontTwist
Property return _ValuePlugProxy · .value: float
Declared kind unit:angle
Declared default 0.0
Flags input, output, connectable, stored, keyable
Read node.front_twist.value
Descriptor assignment node.front_twist = value

node.inverse_frontNative spec

Access to native plug inverseFront.

Item Type / behavior
Maya path inverseFront
Property return _ValuePlugProxy · .value: bool
Declared kind numeric:bool
Declared default False
Flags input, output, connectable, stored
Read node.inverse_front.value
Descriptor assignment node.inverse_front = value

node.inverse_upNative spec

Access to native plug inverseUp.

Item Type / behavior
Maya path inverseUp
Property return _ValuePlugProxy · .value: bool
Declared kind numeric:bool
Declared default False
Flags input, output, connectable, stored
Read node.inverse_up.value
Descriptor assignment node.inverse_up = value

node.normalNative spec

Access to native plug normal.

Item Type / behavior
Maya path normal
Property return _ValuePlugProxy · .value: bool
Declared kind numeric:bool
Declared default False
Flags input, output, connectable, stored
Read node.normal.value
Descriptor assignment node.normal = value

node.rotateNative spec

Access to native plug rotate.

Item Type / behavior
Maya path rotate
Property return _ValuePlugProxy · .value: tuple
Declared kind double3
Declared default (0.0, 0.0, 0.0)
Flags output, connectable
Read node.rotate.value

node.rotate_orderNative spec

Access to native plug rotateOrder.

Item Type / behavior
Maya path rotateOrder
Property return _ValuePlugProxy · .value: int
Declared kind enum
Declared default 0
Flags input, output, connectable, stored
Native enum values 0 = xyz, 1 = yzx, 2 = zxy, 3 = xzy, 4 = yxz, 5 = zyx
Read node.rotate_order.value
Descriptor assignment node.rotate_order = value

node.rotate_xNative spec

Access to native plug rotate.rotateX.

Item Type / behavior
Maya path rotate.rotateX
Property return _ValuePlugProxy · .value: float
Declared kind unit:angle
Declared default 0.0
Flags output, connectable
Read node.rotate_x.value

node.rotate_yNative spec

Access to native plug rotate.rotateY.

Item Type / behavior
Maya path rotate.rotateY
Property return _ValuePlugProxy · .value: float
Declared kind unit:angle
Declared default 0.0
Flags output, connectable
Read node.rotate_y.value

node.rotate_zNative spec

Access to native plug rotate.rotateZ.

Item Type / behavior
Maya path rotate.rotateZ
Property return _ValuePlugProxy · .value: float
Declared kind unit:angle
Declared default 0.0
Flags output, connectable
Read node.rotate_z.value

node.side_twistNative spec

Access to native plug sideTwist.

Item Type / behavior
Maya path sideTwist
Property return _ValuePlugProxy · .value: float
Declared kind unit:angle
Declared default 0.0
Flags input, output, connectable, stored, keyable
Read node.side_twist.value
Descriptor assignment node.side_twist = value

node.up_axisNative spec

Access to native plug upAxis.

Item Type / behavior
Maya path upAxis
Property return _ValuePlugProxy · .value: int
Declared kind enum
Declared default 2
Flags input, output, connectable, stored
Native enum values 0 = X, 1 = Y, 2 = Z
Read node.up_axis.value
Descriptor assignment node.up_axis = value

node.up_twistNative spec

Access to native plug upTwist.

Item Type / behavior
Maya path upTwist
Property return _ValuePlugProxy · .value: float
Declared kind unit:angle
Declared default 0.0
Flags input, output, connectable, stored, keyable
Read node.up_twist.value
Descriptor assignment node.up_twist = value

node.world_up_typeNative spec

Access to native plug worldUpType.

Item Type / behavior
Maya path worldUpType
Property return _ValuePlugProxy · .value: int
Declared kind enum
Declared default 3
Flags input, output, connectable, stored
Native enum values 0 = Scene Up, 1 = Object Up, 2 = Object Rotation Up, 3 = Vector, 4 = Normal
Read node.world_up_type.value
Descriptor assignment node.world_up_type = value

node.world_up_vectorNative spec

Access to native plug worldUpVector.

Item Type / behavior
Maya path worldUpVector
Property return _ValuePlugProxy · .value: tuple
Declared kind double3
Declared default (0.0, 1.0, 0.0)
Flags input, output, connectable, stored
Read node.world_up_vector.value
Descriptor assignment node.world_up_vector = value

node.world_up_vector_xNative spec

Access to native plug worldUpVector.worldUpVectorX.

Item Type / behavior
Maya path worldUpVector.worldUpVectorX
Property return _ValuePlugProxy · .value: float
Declared kind numeric:double
Declared default 0.0
Flags input, output, connectable, stored
Read node.world_up_vector_x.value
Descriptor assignment node.world_up_vector_x = value

node.world_up_vector_yNative spec

Access to native plug worldUpVector.worldUpVectorY.

Item Type / behavior
Maya path worldUpVector.worldUpVectorY
Property return _ValuePlugProxy · .value: float
Declared kind numeric:double
Declared default 1.0
Flags input, output, connectable, stored
Read node.world_up_vector_y.value
Descriptor assignment node.world_up_vector_y = value

node.world_up_vector_zNative spec

Access to native plug worldUpVector.worldUpVectorZ.

Item Type / behavior
Maya path worldUpVector.worldUpVectorZ
Property return _ValuePlugProxy · .value: float
Declared kind numeric:double
Declared default 0.0
Flags input, output, connectable, stored
Read node.world_up_vector_z.value
Descriptor assignment node.world_up_vector_z = value
Specs inherited from DGNode6
Property Maya plug Returns Description
message message None Node message plug; used for connections, with no numeric value.
frozen frozen _ValuePlugProxy · .value: bool Native evaluation freeze state.
is_historically_interesting isHistoricallyInteresting _ValuePlugProxy · .value: int Node interest level in Maya history.
bin_membership binMembership _ValuePlugProxy · .value: str Maya bin membership.
caching_enabled caching _ValuePlugProxy · .value: bool Native node caching switch.
caching_node_state nodeState _ValuePlugProxy · .value: int Native nodeState evaluation state.

No additional public method; inherited methods remain available.

Methods inherited from DGNode7
Method Returns Description
create None Creates a missing node; does nothing if it already exists.
delete None Disconnects live connections, detaches the wrapper and deletes the node.
snapshot DGSnapshot Captures and stores an identity and spec-driven SVD dictionary.
snapshot_svd SVDSnapshot Captures Source / Value / Destinations for the requested list.
svd SVDView Returns a read-only live view of source, value and destinations; it is not a frozen capture.
finalize None Applies all sources, then undriven values, then destinations; enabled FSET dispatch follows.
clear_attr_cache None Clears this instance attribute cache; does not delete nodes or clear the global wrapper registry.
Methods inherited from Node2
Method Returns Description
has_fn(fn_type) bool Test compatibility with a Maya function set.
clear_node_registry() None Detach registered wrappers and clear their shared registry.
Attribute Value / composition
NODE_TYPE 'motionPath'
SPEC_LAYERS get_dg_specs_all, get_motion_path_specs_all

NODE_REGISTRY and other class attributes not overridden here remain inherited. Exported Snapshot types describe dictionaries; use node.snapshot() to capture state.

Point Behavior
Identity A node recreated under the same name is a new Maya object.
Creation and geometry The constructor creates nothing; call create() before live operations.
Capture Snapshots can contain Maya objects; do not assume JSON-ready data or complete geometry reconstruction.
Usage The wrapper exposes the node; it does not automatically animate or constrain a transform. The example reads the halfway position with fraction_mode=True, without modifying an external object.

Self-contained Maya Python Script Editor example. In mayapy, initialize maya.standalone before this block. The demonstration creates its own nodes and removes them in finally.

from uuid import uuid4
import maya.api.OpenMaya as om
from weSkel.src.core.node.dg.motion_path.lib import MotionPath
from weSkel.src.core.node.dag.transform.lib import Transform
from weSkel.src.core.node.dag.curve.lib import Curve
suffix = uuid4().hex[:8]
parent = Transform("api_geometry_" + suffix)
node = MotionPath("api_motion_path_" + suffix)
try:
parent.create()
node.create()
curve_object = om.MFnNurbsCurve().create(
[om.MPoint(0, 0, 0), om.MPoint(1, 0, 0), om.MPoint(2, 0, 0), om.MPoint(3, 0, 0)],
[0, 0, 0, 1, 1, 1], 3, om.MFnNurbsCurve.kOpen, False, False, parent.mobject)
geometry = Curve(curve_object)
geometry.plugs["local"].connect_to(node.geometry_path.plug)
node.fraction_mode = True
node.plugs["uValue"].value = 0.5
node.follow = False
assert om.MVector(node.all_coordinates.value).isEquivalent(om.MVector(1.5, 0.0, 0.0), 1e-5)
print("MotionPath: connected geometry evaluation OK")
finally:
node.delete(snapshot=False)
parent.delete(snapshot=False)

Expected result : MotionPath: connected geometry evaluation OK.

SDK checkpoint 87c3486. Member inventory checked against loaded classes in Maya 2025.3 and 2026.3; reads and compatibility are specified in the member cards. Example run in both versions, including explicitly documented expected failures. The example does not cover every method. Listed limitations remain in source; these checks do not validate the compiled package.