Skip to content
weSkelDOCUMENTATION
Documentation/API reference/SkinCluster

SkinCluster

Access the native skin deformer, influences and weights.

ClassAPI 2.0SKIN
objectNodeDGNodeGeometryFilterSkinCluster
from weSkel.src.core.node.dg.skin_cluster.lib import SkinCluster

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

Item Value
Classe SkinCluster
Module weSkel.src.core.node.dg.skin_cluster.lib
Maya type skinCluster
Direct parent GeometryFilter
Inventory Members defined or overridden here; inherited members are grouped by parent in each section.

Signature : SkinCluster(node) → SkinCluster.

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.

Property Return type Access
mfn_skin_cluster Optional[oma.MFnSkinCluster] R

node.mfn_skin_clusterRead only

Return the live skin-cluster function set when available.

Item Type / behavior
Returns Optional[oma.MFnSkinCluster]
Observed type on live geometry MFnSkinCluster
Properties inherited from GeometryFilter3
Property Return type Access Description
mfn_geometry_filter oma.MFnGeometryFilter | None R Live deformer function set, or None when missing or incompatible.
input_geometries om.MObjectArray R Input geometry objects returned by the function set.
output_geometries om.MObjectArray R Output geometry objects returned by the function set.
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
cache_setup cacheSetup None
bind_method bindMethod _ValuePlugProxy · .value: int
bind_pose bindPose None
bind_volume bindVolume list
geom_bind geomBind None
heatmap_falloff heatmapFalloff _ValuePlugProxy · .value: float
maintain_max_influences maintainMaxInfluences _ValuePlugProxy · .value: bool
max_influences maxInfluences _ValuePlugProxy · .value: int
normalize_weights normalizeWeights _ValuePlugProxy · .value: int
nurbs_samples nurbsSamples TypedArrayProxy
weight_distribution weightDistribution _ValuePlugProxy · .value: int
dqs_scale dqsScale _ValuePlugProxy · .value: tuple
dqs_scale_x dqsScale.dqsScaleX _ValuePlugProxy · .value: float
dqs_scale_y dqsScale.dqsScaleY _ValuePlugProxy · .value: float
dqs_scale_z dqsScale.dqsScaleZ _ValuePlugProxy · .value: float
dqs_support_non_rigid dqsSupportNonRigid _ValuePlugProxy · .value: bool
dropoff dropoff TypedArrayProxy
dropoff_rate dropoffRate _ValuePlugProxy · .value: float
skinning_method skinningMethod _ValuePlugProxy · .value: int
smoothness smoothness TypedArrayProxy
base_dirty baseDirty list
base_points basePoints TypedArrayProxy
deform_user_normals deformUserNormals _ValuePlugProxy · .value: bool
driver_points driverPoints TypedArrayProxy
geom_matrix geomMatrix _ValuePlugProxy · .value: tuple
use_components useComponents _ValuePlugProxy · .value: bool
use_components_matrix useComponentsMatrix _ValuePlugProxy · .value: bool
influence_color influenceColor _DynNumericArrayProxy
influence_color_r influenceColor[].influenceColorR IndexedPathProxy
influence_color_g influenceColor[].influenceColorG IndexedPathProxy
influence_color_b influenceColor[].influenceColorB IndexedPathProxy
lock_weights lockWeights TypedArrayProxy
bind_pre_matrix bindPreMatrix TypedArrayProxy
matrix matrix TypedArrayProxy
relative_space_matrix relativeSpaceMatrix _ValuePlugProxy · .value: MMatrix
relative_space_mode relativeSpaceMode _ValuePlugProxy · .value: int
paint_arr_dirty paintArrDirty None
paint_trans paintTrans None
paint_weights paintWeights TypedArrayProxy
wt_drty wtDrty None
blend_weights blendWeights TypedArrayProxy
per_influence_weights perInfluenceWeights ArrayCompoundProxy
per_influence_vertex_weights perInfluenceWeights[].perInfluenceVertexWeights unavailable · DoubleArrayProp
weight_list weightList ArrayCompoundProxy
weights weightList[].weights unavailable · DoubleArrayProp

node.cache_setupNative spec

Access to native plug cacheSetup.

Item Type / behavior
Maya path cacheSetup
Property return None
Declared kind typed:ctype
Declared default None
Flags connectable, hidden

The descriptor setter rejects assignment; use Plug connection operations.

node.bind_methodNative spec

Access to native plug bindMethod.

Item Type / behavior
Maya path bindMethod
Property return _ValuePlugProxy · .value: int
Declared kind enum
Declared default 0
Flags input, output, connectable, stored
Native enum values 0 = Closest Distance, 1 = Closest Joint In Hierarchy, 2 = Heat Map, 3 = Geodesic Voxel
Read node.bind_method.value
Descriptor assignment node.bind_method = value

node.bind_poseNative spec

Access to native plug bindPose.

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

The descriptor setter rejects assignment; use Plug connection operations.

node.bind_volumeNative spec

Access to native plug bindVolume.

Item Type / behavior
Maya path bindVolume
Property return list
Declared kind array:message
Declared default ()
Flags array, input, output, connectable

node.geom_bindNative spec

Access to native plug geomBind.

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

The descriptor setter rejects assignment; use Plug connection operations.

node.heatmap_falloffNative spec

Access to native plug heatmapFalloff.

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

node.maintain_max_influencesNative spec

Access to native plug maintainMaxInfluences.

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

node.max_influencesNative spec

Access to native plug maxInfluences.

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

node.normalize_weightsNative spec

Access to native plug normalizeWeights.

Item Type / behavior
Maya path normalizeWeights
Property return _ValuePlugProxy · .value: int
Declared kind enum
Declared default 1
Flags input, output, connectable, stored
Native enum values 0 = None, 1 = Interactive, 2 = Post
Read node.normalize_weights.value
Descriptor assignment node.normalize_weights = value

node.nurbs_samplesNative spec

Access to native plug nurbsSamples.

Item Type / behavior
Maya path nurbsSamples
Property return TypedArrayProxy
Declared kind array:numeric:int
Declared default ()
Flags array, input, output, connectable, stored
Underlying plug node.nurbs_samples.plug

node.weight_distributionNative spec

Access to native plug weightDistribution.

Item Type / behavior
Maya path weightDistribution
Property return _ValuePlugProxy · .value: int
Declared kind enum
Declared default 0
Flags input, output, connectable, stored
Native enum values 0 = Distance, 1 = Neighbors
Read node.weight_distribution.value
Descriptor assignment node.weight_distribution = value

node.dqs_scaleNative spec

Access to native plug dqsScale.

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

node.dqs_scale_xNative spec

Access to native plug dqsScale.dqsScaleX.

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

node.dqs_scale_yNative spec

Access to native plug dqsScale.dqsScaleY.

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

node.dqs_scale_zNative spec

Access to native plug dqsScale.dqsScaleZ.

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

node.dqs_support_non_rigidNative spec

Access to native plug dqsSupportNonRigid.

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

node.dropoffNative spec

Access to native plug dropoff.

Item Type / behavior
Maya path dropoff
Property return TypedArrayProxy
Declared kind array:numeric:double
Declared default ()
Flags array, input, output, connectable, stored
Underlying plug node.dropoff.plug

node.dropoff_rateNative spec

Access to native plug dropoffRate.

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

node.skinning_methodNative spec

Access to native plug skinningMethod.

Item Type / behavior
Maya path skinningMethod
Property return _ValuePlugProxy · .value: int
Declared kind enum
Declared default 0
Flags input, output, connectable, stored
Native enum values 0 = Classic Linear, 1 = Dual Quaternion, 2 = Weight Blended
Read node.skinning_method.value
Descriptor assignment node.skinning_method = value

node.smoothnessNative spec

Access to native plug smoothness.

Item Type / behavior
Maya path smoothness
Property return TypedArrayProxy
Declared kind array:numeric:double
Declared default ()
Flags array, input, output, connectable, stored
Underlying plug node.smoothness.plug

node.base_dirtyNative spec

Access to native plug baseDirty.

Item Type / behavior
Maya path baseDirty
Property return list
Declared kind array:message
Declared default ()
Flags array, output, connectable, hidden

node.base_pointsNative spec

Access to native plug basePoints.

Item Type / behavior
Maya path basePoints
Property return TypedArrayProxy
Declared kind array:typed:geometry
Declared default ()
Flags array, input, output, connectable
Underlying plug node.base_points.plug

node.deform_user_normalsNative spec

Access to native plug deformUserNormals.

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

node.driver_pointsNative spec

Access to native plug driverPoints.

Item Type / behavior
Maya path driverPoints
Property return TypedArrayProxy
Declared kind array:typed:geometry
Declared default ()
Flags array, input, output, connectable
Underlying plug node.driver_points.plug

node.geom_matrixNative spec

Access to native plug geomMatrix.

Item Type / behavior
Maya path geomMatrix
Property return _ValuePlugProxy · .value: tuple
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.geom_matrix.value
Descriptor assignment node.geom_matrix = value

node.use_componentsNative spec

Access to native plug useComponents.

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

node.use_components_matrixNative spec

Access to native plug useComponentsMatrix.

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

node.influence_colorNative spec

Access to native plug influenceColor.

Item Type / behavior
Maya path influenceColor
Property return _DynNumericArrayProxy
Declared kind array:float3
Declared default ()
Flags array, input, output, connectable, stored
Underlying plug node.influence_color.plug

node.influence_color_rNative spec

Access to native plug influenceColor[].influenceColorR.

Item Type / behavior
Maya path influenceColor[].influenceColorR
Property return IndexedPathProxy
Declared kind numeric:float
Declared default 0.0
Flags input, output, connectable, stored
Verified explicit path · Plug node.plugs["influenceColor"][i1]["influenceColorR"]

Observed limitation on the tested fixture: AttributeError: Child 'influenceColorR' not found under 'api_SkinCluster.influenceColor[0]'. Indices are Maya logical indices; choose existing or intended elements.

node.influence_color_gNative spec

Access to native plug influenceColor[].influenceColorG.

Item Type / behavior
Maya path influenceColor[].influenceColorG
Property return IndexedPathProxy
Declared kind numeric:float
Declared default 0.0
Flags input, output, connectable, stored
Verified explicit path · Plug node.plugs["influenceColor"][i1]["influenceColorG"]

Observed limitation on the tested fixture: AttributeError: Child 'influenceColorG' not found under 'api_SkinCluster.influenceColor[0]'. Indices are Maya logical indices; choose existing or intended elements.

node.influence_color_bNative spec

Access to native plug influenceColor[].influenceColorB.

Item Type / behavior
Maya path influenceColor[].influenceColorB
Property return IndexedPathProxy
Declared kind numeric:float
Declared default 0.0
Flags input, output, connectable, stored
Verified explicit path · Plug node.plugs["influenceColor"][i1]["influenceColorB"]

Observed limitation on the tested fixture: AttributeError: Child 'influenceColorB' not found under 'api_SkinCluster.influenceColor[0]'. Indices are Maya logical indices; choose existing or intended elements.

node.lock_weightsNative spec

Access to native plug lockWeights.

Item Type / behavior
Maya path lockWeights
Property return TypedArrayProxy
Declared kind array:numeric:bool
Declared default ()
Flags array, input, output, connectable, stored
Underlying plug node.lock_weights.plug

node.bind_pre_matrixNative spec

Access to native plug bindPreMatrix.

Item Type / behavior
Maya path bindPreMatrix
Property return TypedArrayProxy
Declared kind array:typed:matrix
Declared default ()
Flags array, input, output, connectable, stored
Underlying plug node.bind_pre_matrix.plug

node.matrixNative spec

Access to native plug matrix.

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

node.relative_space_matrixNative spec

Access to native plug relativeSpaceMatrix.

Item Type / behavior
Maya path relativeSpaceMatrix
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.relative_space_matrix.value
Descriptor assignment node.relative_space_matrix = value

node.relative_space_modeNative spec

Access to native plug relativeSpaceMode.

Item Type / behavior
Maya path relativeSpaceMode
Property return _ValuePlugProxy · .value: int
Declared kind enum
Declared default 0
Flags input, output, connectable, stored
Native enum values 0 = World, 1 = Local, 2 = Custom
Read node.relative_space_mode.value
Descriptor assignment node.relative_space_mode = value

node.paint_arr_dirtyNative spec

Access to native plug paintArrDirty.

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

The descriptor setter rejects assignment; use Plug connection operations.

node.paint_transNative spec

Access to native plug paintTrans.

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

The descriptor setter rejects assignment; use Plug connection operations.

node.paint_weightsNative spec

Access to native plug paintWeights.

Item Type / behavior
Maya path paintWeights
Property return TypedArrayProxy
Declared kind typed:doublearray
Declared default ()
Flags input, output, connectable, stored, hidden
Underlying plug node.paint_weights.plug

node.wt_drtyNative spec

Access to native plug wtDrty.

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

The descriptor setter rejects assignment; use Plug connection operations.

node.blend_weightsNative spec

Access to native plug blendWeights.

Item Type / behavior
Maya path blendWeights
Property return TypedArrayProxy
Declared kind array:numeric:double
Declared default ()
Flags array, input, output, connectable, stored
Underlying plug node.blend_weights.plug

node.per_influence_weightsNative spec

Access to native plug perInfluenceWeights.

Item Type / behavior
Maya path perInfluenceWeights
Property return ArrayCompoundProxy
Declared kind array:compound
Declared default ()
Flags array, output, connectable, hidden
Underlying plug node.per_influence_weights.plug

node.per_influence_vertex_weightsNative spec

Access to native plug perInfluenceWeights[].perInfluenceVertexWeights.

Item Type / behavior
Maya path perInfluenceWeights[].perInfluenceVertexWeights
Property return unavailable · DoubleArrayProp
Declared kind array:numeric:double
Declared default ()
Flags array, output, connectable, hidden
Verified explicit path · Plug node.plugs["perInfluenceWeights"][i1]["perInfluenceVertexWeights"]

Observed limitation on the tested fixture: AttributeError: Plug 'perInfluenceWeights[].perInfluenceVertexWeights' not found on api_SkinCluster. Indices are Maya logical indices; choose existing or intended elements.

node.weight_listNative spec

Access to native plug weightList.

Item Type / behavior
Maya path weightList
Property return ArrayCompoundProxy
Declared kind array:compound
Declared default ()
Flags array, input, output, connectable, stored
Underlying plug node.weight_list.plug

node.weightsNative spec

Access to native plug weightList[].weights.

Item Type / behavior
Maya path weightList[].weights
Property return unavailable · DoubleArrayProp
Declared kind array:numeric:double
Declared default ()
Flags array, input, output, connectable, stored
Verified explicit path · Plug node.plugs["weightList"][i1]["weights"]

Observed limitation on the tested fixture: AttributeError: Plug 'weightList[].weights' not found on api_SkinCluster. Indices are Maya logical indices; choose existing or intended elements.

Specs inherited from GeometryFilter16
Property Maya plug Returns Description
block_gpu blockGPU _ValuePlugProxy · .value: bool Native deformer GPU evaluation block.
envelope envelope _ValuePlugProxy · .value: float Overall deformer strength.
envelope_weights_list envelopeWeightsList ArrayCompoundProxy Envelope weight-list array.
envelope_weights envelopeWeightsList[].envelopeWeights AttributeError (direct access) Envelope weights beneath an indexed list.
weight_function weightFunction Any (native data) Native weight-function data; declared kind typed:unknown.
input input ArrayCompoundProxy Deformer geometry-input array.
input_geometry input[].inputGeometry IndexedPathProxy Input geometry at the requested index.
group_id input[].groupId IndexedPathProxy Input group identifier.
component_tag_expression input[].componentTagExpression IndexedPathProxy Component-tag selection expression.
map_64_bit_indices map64BitIndices TypedArrayProxy Native 64-bit index mapping.
original_geometry originalGeometry TypedArrayProxy Original deformer geometries.
output_geometry outputGeometry TypedArrayProxy Geometry output plugs; distinct from output_geometries.
function function CompoundProxy Native internal deformer data exposed by the specs.
fchild_1 function.fchild1 _ValuePlugProxy · .value: int First integer field of function.
fchild_2 function.fchild2 _ValuePlugProxy · .value: int Second integer field of function.
fchild_3 function.fchild3 _ValuePlugProxy · .value: int Third integer field of function.
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 'skinCluster'
SPEC_LAYERS get_dg_specs_all, get_geometry_filter_specs_all, get_skin_cluster_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 create() alone does not perform a bind. The example uses Maya’s native bind command, then reads weights through the wrapper function set. For plug access, distinguish vertex index from logical influence index; the latter is not the position in influenceObjects().

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 maya import cmds
from weSkel.src.core.node.dg.skin_cluster.lib import SkinCluster
from weSkel.src.core.node.dg.dag_pose.lib import DagPose
from weSkel.src.core.node.dag.transform.lib import Transform
from weSkel.src.core.node.dag.joint.lib import Joint
from weSkel.src.core.node.dag.mesh.lib import Mesh
suffix = uuid4().hex[:8]
parent = Transform("api_skin_mesh_" + suffix)
joint = Joint("api_skin_joint_" + suffix)
node = None
pose = None
try:
parent.create()
joint.create()
obj = om.MFnMesh().create(
om.MPointArray([(0, 0, 0), (1, 0, 0), (1, 0, 1), (0, 0, 1)]), [4], [0, 1, 2, 3],
parent=parent.mobject)
mesh = Mesh(obj)
native = cmds.skinCluster(joint.name, parent.name, toSelectedBones=True,
maximumInfluences=1, name="api_skin_" + suffix)[0]
node = SkinCluster(native)
pose_object = node.plugs["bindPose"].source().node()
if not pose_object.isNull():
pose = DagPose(pose_object)
component_fn = om.MFnSingleIndexedComponent()
component = component_fn.create(om.MFn.kMeshVertComponent)
component_fn.addElements([0, 1, 2, 3])
weights, influence_count = node.mfn_skin_cluster.getWeights(mesh.dag_path, component)
assert influence_count == 1 and len(weights) == 4
assert all(abs(weight - 1.0) < 1e-6 for weight in weights)
print("SkinCluster: bound mesh, one influence and four unit weights OK")
finally:
if node is not None:
node.delete(snapshot=False)
if pose is not None:
pose.delete(snapshot=False)
parent.delete(snapshot=False)
joint.delete(snapshot=False)

Expected result : SkinCluster: bound mesh, one influence and four unit weights 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.