Aller au contenu
weSkelDOCUMENTATION
Documentation/Référence API/SurfaceShape

SurfaceShape

Propriétés communes aux surfaces et aux meshes.

ClassAPI 2.0Base
objectNodeDGNodeContainerBaseDAGNodeGeometryShapeControlPointSurfaceShape
from weSkel.src.core.node.abstract.surface_shape.lib import SurfaceShape

Dans Maya ou dans un script Python exécuté par Maya / mayapy initialisé, avec weSkel accessible. L’import de om n’est nécessaire que pour manipuler les types OpenMaya dans votre propre code.

Élément Valeur
Classe SurfaceShape
Module weSkel.src.core.node.abstract.surface_shape.lib
Parent direct ControlPoint
Descendants directs représentés Mesh, Surface
Membres propres 0 propriétés Python + 27 propriétés de specs ; 0 méthodes définies ou redéfinies ici.

Les membres des parents restent disponibles. Chaque rubrique propose des tableaux repliables par classe parente, avec un lien vers le contrat complet. Les méthodes privées et les mécanismes standard Python ne font pas partie de cet inventaire.

Signature : SurfaceShape(node) → SurfaceShape ou une sous-classe compatible déjà enregistrée.

Paramètre Types acceptés Défaut
node str, om.MObject, om.MObjectHandle, om.MFnDependencyNode, om.MDagPath, om.MFnDagNode Obligatoire

Enveloppe un nœud existant ou prépare un wrapper si le nom est introuvable ; ne crée aucun nœud. Pour un autre wrapper, passer other.mobject. Le registre partagé conserve l’identité et peut renvoyer le wrapper concret existant. Une entrée incompatible peut lever TypeError, et un conflit d’identité RuntimeError.

Cette base a un NODE_TYPE abstrait. La reconnaissance des types descendants dépend des classes concrètes déjà importées. Importer et utiliser Mesh, Curve ou Surface selon le nœud ; l’exemple en bas montre la lecture via cette base après import du wrapper concret. Ne pas appeler .create() pour tenter de créer le type abstrait.

Propriétés Python définies sur cette classe. om désigne maya.api.OpenMaya. Les propriétés issues des specs sont détaillées dans la section suivante.

Aucune propriété Python supplémentaire : cette classe ajoute les propriétés de specs ci-dessous et hérite des propriétés de ses parents.

Propriétés héritées de DAGNode20
Propriété Type retourné Accès Description
dag_fn om.MFnDagNode L Function set DAG live, ou objet non attaché si le nœud est absent ou invalide.
dag_path om.MDagPath L Un chemin vers le nœud courant ; chemin vide si indisponible.
has_valid_dag_path bool L Validité du chemin renvoyé par dag_path.
full_path_name str L Chemin DAG complet ; chaîne vide si le chemin est invalide.
short_name str L Chemin DAG partiel renvoyé par Maya, éventuellement plus long qu’un simple nom ; chaîne vide si invalide.
is_valid_dag_fn bool L Validité du function set pour l’objet courant.
is_shape bool L Compatibilité de l’objet courant avec om.MFn.kShape.
parents list[DAGNode] L Tous les parents natifs.
parent DAGNode | None L/E Premier parent uniquement ; None sous le world.
is_instanced bool L Indique plusieurs chemins / parents pour l’objet DAG ; False si absent.
children list[DAGNode] L Enfants directs, sans parcours récursif.
is_under_world bool L Nœud live directement sous le world ; False si absent.
child_count int L Nombre d’enfants directs du chemin ; 0 si invalide.
child_names list[str] L Chemins complets des enfants directs ; liste vide si le chemin est invalide.
shape_count int L Nombre de shapes directement sous ce chemin ; 0 si invalide.
shapes list[DAGNode] L Shapes enfants directes, y compris les shapes intermédiaires ; liste vide si invalide.
shape_orig DAGNode | None L Première shape enfant avec intermediateObject=True ; None si absente.
intermediate_shapes list[DAGNode] L Toutes les shapes enfants directes marquées intermédiaires.
draw_override_info om.MDAGDrawOverrideInfo | None L Informations natives d’override du chemin ; None si indisponibles.
fn_bounding_box om.MBoundingBox | None L Bounding box locale obtenue par le function set ; None si indisponible.
Propriétés héritées de DGNode15
Propriété Type retourné Accès Description
dep_fn om.MFnDependencyNode L Function set live ; objet non attaché si le nœud est absent.
uuid str | None L UUID live, ou dernière valeur mémorisée si elle reste disponible.
name str | None L/E Nom live, sinon nom mémorisé.
absolute_name str | None L Nom absolu de namespace renvoyé par MFnDependencyNode.absoluteName() ; None sans nœud.
stripped_name str | None L/E Nom sans namespace, ou None si aucun nom.
namespace str | None L/E Namespace normalisé comme a:b ; None à la racine.
plugs Plugs | None L Gestionnaire des plugs du nœud live ; None sinon.
is_valid_dep_fn bool L Compatibilité du function set avec le MObject courant.
is_default_node bool L Indique un nœud par défaut de Maya ; False sans nœud.
is_from_referenced_file bool L Indique un nœud issu d’un fichier référencé ; False sans nœud.
is_locked bool L/E Verrouillage du nœud, distinct des locks de plugs.
is_shared bool L État partagé renvoyé par Maya ; False sans nœud.
plugin_name str | None L Nom du plugin Maya associé, éventuellement chaîne vide ; None sans nœud.
affect_animation bool L Résultat de MFnDependencyNode.affectsAnimation() ; False sans nœud.
type str | None L/E Type natif live ou type mémorisé.
Propriétés héritées de Node10
Propriété Type retourné Accès Description
mobject om.MObject L/E Objet Maya live, ou objet nul.
mobject_handle om.MObjectHandle L/E Handle associé au nœud.
api_type int | None L Identifiant du type API Maya.
api_type_str str L Nom du type API, par exemple "kTime".
exists bool L Le wrapper possède actuellement un nœud live.
is_null bool L L’objet Maya retourné est nul.
is_alive bool L L’objet existe avec un handle valide et vivant.
is_valid_handle bool L Validité du handle mémorisé.
is_dag_node bool L Compatibilité avec om.MFn.kDagNode.
hash_code int L Hash du handle Maya.

Les noms Python et Maya sont reproduits exactement. Type déclaré, retour Python et défaut déclaré sont des informations différentes. Le défaut d’une spec n’est pas nécessairement la valeur live d’un nœud, ni une valeur automatiquement écrite à sa création.

Les retours ci-dessous décrivent les descriptors de cette classe ; les observations live utilisent un network, un container, un transform, un mesh ou un skinCluster selon la classe. Certains plugs dépendent du type concret. Une sous-classe peut redéfinir un membre et ses possibilités d’écriture. Les noms de proxies identifient le résultat actuel : ne pas importer leurs classes privées.

Forme Utilisation
_ValuePlugProxy .value lit la valeur ; .plug donne un Plug, .mplug un MPlug.
IndexedPathProxy Objet d’accès indexé. Sa résolution présente des limites au checkpoint documenté : les fiches donnent des alternatives vérifiées avec node.plugs[...].
Flags / écriture stored, input, output, connectable décrivent le contrat de replay. Ils ne garantissent pas qu’un plug natif soit modifiable dans son état courant.

Pour une écriture dont il faut vérifier l’échec, utiliser explicitement le Plug et contrôler le résultat live : certains setters de descriptors peuvent mémoriser la valeur sans propager une erreur d’écriture Maya.

Propriété Plug Maya Retour
bounding_box_scale boundingBoxScale _ValuePlugProxy · .value: tuple[float, float, float]
bounding_box_scale_x boundingBoxScale.boundingBoxScaleX _ValuePlugProxy · .value: float
bounding_box_scale_y boundingBoxScale.boundingBoxScaleY _ValuePlugProxy · .value: float
bounding_box_scale_z boundingBoxScale.boundingBoxScaleZ _ValuePlugProxy · .value: float
display_hw_environment displayHWEnvironment _ValuePlugProxy · .value: bool
hold_out holdOut _ValuePlugProxy · .value: bool
smooth_shading smoothShading _ValuePlugProxy · .value: bool
feature_displacement featureDisplacement _ValuePlugProxy · .value: bool
texture_treshold textureTreshold _ValuePlugProxy · .value: int
ignore_hw_shader ignoreHwShader _ValuePlugProxy · .value: bool
normal_treshold normalTreshold _ValuePlugProxy · .value: float
double_sided doubleSided _ValuePlugProxy · .value: bool
opposite opposite _ValuePlugProxy · .value: bool
initial_sample_rate initialSampleRate _ValuePlugProxy · .value: int
extra_sample_rate extraSampleRate _ValuePlugProxy · .value: int
collision_depth_velocity_increment collisionDepthVelocityIncrement ArrayCompoundProxy
collision_depth_velocity_increment_position collisionDepthVelocityIncrement[].collisionDepthVelocityIncrement_Position IndexedPathProxy
collision_depth_velocity_increment_float_value collisionDepthVelocityIncrement[].collisionDepthVelocityIncrement_FloatValue IndexedPathProxy
collision_depth_velocity_increment_interp collisionDepthVelocityIncrement[].collisionDepthVelocityIncrement_Interp IndexedPathProxy
collision_depth_velocity_multiplier collisionDepthVelocityMultiplier ArrayCompoundProxy
collision_depth_velocity_multiplier_position collisionDepthVelocityMultiplier[].collisionDepthVelocityMultiplier_Position IndexedPathProxy
collision_depth_velocity_multiplier_float_value collisionDepthVelocityMultiplier[].collisionDepthVelocityMultiplier_FloatValue IndexedPathProxy
collision_depth_velocity_multiplier_interp collisionDepthVelocityMultiplier[].collisionDepthVelocityMultiplier_Interp IndexedPathProxy
collision_offset_velocity_multiplier collisionOffsetVelocityMultiplier ArrayCompoundProxy
collision_offset_velocity_multiplier_position collisionOffsetVelocityMultiplier[].collisionOffsetVelocityMultiplier_Position IndexedPathProxy
collision_offset_velocity_multiplier_float_value collisionOffsetVelocityMultiplier[].collisionOffsetVelocityMultiplier_FloatValue IndexedPathProxy
collision_offset_velocity_multiplier_interp collisionOffsetVelocityMultiplier[].collisionOffsetVelocityMultiplier_Interp IndexedPathProxy

node.bounding_box_scaleLecture / écriture

Échelle native de la bounding box de surface.

Élément Type / comportement
Chemin Maya déclaré boundingBoxScale
Retour de la propriété _ValuePlugProxy · .value: tuple[float, float, float]
Type déclaré par la spec float3
Défaut déclaré (1.5, 1.5, 1.5)
Flags input, output, connectable, stored
Lire la valeur node.bounding_box_scale.value
Affectation node.bounding_box_scale = value

node.bounding_box_scale_xLecture / écriture

Composante X de bounding_box_scale.

Élément Type / comportement
Chemin Maya déclaré boundingBoxScale.boundingBoxScaleX
Retour de la propriété _ValuePlugProxy · .value: float
Type déclaré par la spec numeric:float
Défaut déclaré 1.5
Flags input, output, connectable, stored
Lire la valeur node.bounding_box_scale_x.value
Affectation node.bounding_box_scale_x = value

node.bounding_box_scale_yLecture / écriture

Composante Y de bounding_box_scale.

Élément Type / comportement
Chemin Maya déclaré boundingBoxScale.boundingBoxScaleY
Retour de la propriété _ValuePlugProxy · .value: float
Type déclaré par la spec numeric:float
Défaut déclaré 1.5
Flags input, output, connectable, stored
Lire la valeur node.bounding_box_scale_y.value
Affectation node.bounding_box_scale_y = value

node.bounding_box_scale_zLecture / écriture

Composante Z de bounding_box_scale.

Élément Type / comportement
Chemin Maya déclaré boundingBoxScale.boundingBoxScaleZ
Retour de la propriété _ValuePlugProxy · .value: float
Type déclaré par la spec numeric:float
Défaut déclaré 1.5
Flags input, output, connectable, stored
Lire la valeur node.bounding_box_scale_z.value
Affectation node.bounding_box_scale_z = value

node.display_hw_environmentLecture / écriture

Affichage de l’environnement matériel.

Élément Type / comportement
Chemin Maya déclaré displayHWEnvironment
Retour de la propriété _ValuePlugProxy · .value: bool
Type déclaré par la spec numeric:bool
Défaut déclaré False
Flags input, output, connectable, stored, hidden
Lire la valeur node.display_hw_environment.value
Affectation node.display_hw_environment = value

node.hold_outLecture / écriture

Option native de holdout.

Élément Type / comportement
Chemin Maya déclaré holdOut
Retour de la propriété _ValuePlugProxy · .value: bool
Type déclaré par la spec numeric:bool
Défaut déclaré False
Flags input, output, connectable, stored
Lire la valeur node.hold_out.value
Affectation node.hold_out = value

node.smooth_shadingLecture / écriture

Activation du smooth shading.

Élément Type / comportement
Chemin Maya déclaré smoothShading
Retour de la propriété _ValuePlugProxy · .value: bool
Type déclaré par la spec numeric:bool
Défaut déclaré True
Flags input, output, connectable, stored
Lire la valeur node.smooth_shading.value
Affectation node.smooth_shading = value

node.feature_displacementLecture / écriture

Option native de feature displacement.

Élément Type / comportement
Chemin Maya déclaré featureDisplacement
Retour de la propriété _ValuePlugProxy · .value: bool
Type déclaré par la spec numeric:bool
Défaut déclaré True
Flags input, output, connectable, stored
Lire la valeur node.feature_displacement.value
Affectation node.feature_displacement = value

node.texture_tresholdLecture / écriture

Seuil natif textureTreshold ; orthographe de l’API conservée.

Élément Type / comportement
Chemin Maya déclaré textureTreshold
Retour de la propriété _ValuePlugProxy · .value: int
Type déclaré par la spec numeric:int
Défaut déclaré 0
Flags input, output, connectable, stored
Lire la valeur node.texture_treshold.value
Affectation node.texture_treshold = value

node.ignore_hw_shaderLecture / écriture

Option pour ignorer le shader matériel.

Élément Type / comportement
Chemin Maya déclaré ignoreHwShader
Retour de la propriété _ValuePlugProxy · .value: bool
Type déclaré par la spec numeric:bool
Défaut déclaré False
Flags input, output, connectable, stored
Lire la valeur node.ignore_hw_shader.value
Affectation node.ignore_hw_shader = value

node.normal_tresholdLecture / écriture

Seuil natif normalTreshold ; orthographe de l’API conservée.

Élément Type / comportement
Chemin Maya déclaré normalTreshold
Retour de la propriété _ValuePlugProxy · .value: float
Type déclaré par la spec numeric:float
Défaut déclaré 30.0
Flags input, output, connectable, stored
Lire la valeur node.normal_treshold.value
Affectation node.normal_treshold = value

node.double_sidedLecture / écriture

Option d’affichage / rendu double face.

Élément Type / comportement
Chemin Maya déclaré doubleSided
Retour de la propriété _ValuePlugProxy · .value: bool
Type déclaré par la spec numeric:bool
Défaut déclaré True
Flags input, output, connectable, stored
Lire la valeur node.double_sided.value
Affectation node.double_sided = value

node.oppositeLecture / écriture

Inversion de l’orientation utilisée par la shape.

Élément Type / comportement
Chemin Maya déclaré opposite
Retour de la propriété _ValuePlugProxy · .value: bool
Type déclaré par la spec numeric:bool
Défaut déclaré False
Flags input, output, connectable, stored
Lire la valeur node.opposite.value
Affectation node.opposite = value

node.initial_sample_rateLecture / écriture

Taux initial d’échantillonnage de la surface.

Élément Type / comportement
Chemin Maya déclaré initialSampleRate
Retour de la propriété _ValuePlugProxy · .value: int
Type déclaré par la spec numeric:int
Défaut déclaré 6
Flags input, output, connectable, stored
Lire la valeur node.initial_sample_rate.value
Affectation node.initial_sample_rate = value

node.extra_sample_rateLecture / écriture

Taux supplémentaire d’échantillonnage.

Élément Type / comportement
Chemin Maya déclaré extraSampleRate
Retour de la propriété _ValuePlugProxy · .value: int
Type déclaré par la spec numeric:int
Défaut déclaré 5
Flags input, output, connectable, stored
Lire la valeur node.extra_sample_rate.value
Affectation node.extra_sample_rate = value

node.collision_depth_velocity_incrementAccès structuré

Rampe native d’incrément de vitesse selon la profondeur de collision.

Élément Type / comportement
Chemin Maya déclaré collisionDepthVelocityIncrement
Retour de la propriété ArrayCompoundProxy
Type déclaré par la spec array:compound
Défaut déclaré None
Flags array, input, output, connectable, stored
Accès au plug node.collision_depth_velocity_increment.plug

La propriété renvoie une structure. Modifier un enfant explicite ou utiliser les opérations du Plug ; ne pas remplacer le proxy par une affectation Python.

node.collision_depth_velocity_increment_positionAccès limité

Position d’un point de la rampe collision_depth_velocity_increment.

Élément Type / comportement
Chemin Maya déclaré collisionDepthVelocityIncrement[].collisionDepthVelocityIncrement_Position
Retour de la propriété IndexedPathProxy
Type déclaré par la spec numeric:float
Défaut déclaré 0.0
Flags input, output, connectable, stored
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["collisionDepthVelocityIncrement"][i1]["collisionDepthVelocityIncrement_Position"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.collision_depth_velocity_increment_float_valueAccès limité

Valeur d’un point de la rampe collision_depth_velocity_increment.

Élément Type / comportement
Chemin Maya déclaré collisionDepthVelocityIncrement[].collisionDepthVelocityIncrement_FloatValue
Retour de la propriété IndexedPathProxy
Type déclaré par la spec numeric:float
Défaut déclaré 0.0
Flags input, output, connectable, stored
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["collisionDepthVelocityIncrement"][i1]["collisionDepthVelocityIncrement_FloatValue"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.collision_depth_velocity_increment_interpAccès limité

Interpolation d’un point de la rampe collision_depth_velocity_increment.

Élément Type / comportement
Chemin Maya déclaré collisionDepthVelocityIncrement[].collisionDepthVelocityIncrement_Interp
Retour de la propriété IndexedPathProxy
Type déclaré par la spec enum
Défaut déclaré 0
Flags input, output, connectable, stored
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["collisionDepthVelocityIncrement"][i1]["collisionDepthVelocityIncrement_Interp"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.collision_depth_velocity_multiplierAccès structuré

Rampe native de multiplicateur de vitesse selon la profondeur de collision.

Élément Type / comportement
Chemin Maya déclaré collisionDepthVelocityMultiplier
Retour de la propriété ArrayCompoundProxy
Type déclaré par la spec array:compound
Défaut déclaré None
Flags array, input, output, connectable, stored
Accès au plug node.collision_depth_velocity_multiplier.plug

La propriété renvoie une structure. Modifier un enfant explicite ou utiliser les opérations du Plug ; ne pas remplacer le proxy par une affectation Python.

node.collision_depth_velocity_multiplier_positionAccès limité

Position d’un point de la rampe collision_depth_velocity_multiplier.

Élément Type / comportement
Chemin Maya déclaré collisionDepthVelocityMultiplier[].collisionDepthVelocityMultiplier_Position
Retour de la propriété IndexedPathProxy
Type déclaré par la spec numeric:float
Défaut déclaré 0.0
Flags input, output, connectable, stored
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["collisionDepthVelocityMultiplier"][i1]["collisionDepthVelocityMultiplier_Position"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.collision_depth_velocity_multiplier_float_valueAccès limité

Valeur d’un point de la rampe collision_depth_velocity_multiplier.

Élément Type / comportement
Chemin Maya déclaré collisionDepthVelocityMultiplier[].collisionDepthVelocityMultiplier_FloatValue
Retour de la propriété IndexedPathProxy
Type déclaré par la spec numeric:float
Défaut déclaré 0.0
Flags input, output, connectable, stored
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["collisionDepthVelocityMultiplier"][i1]["collisionDepthVelocityMultiplier_FloatValue"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.collision_depth_velocity_multiplier_interpAccès limité

Interpolation d’un point de la rampe collision_depth_velocity_multiplier.

Élément Type / comportement
Chemin Maya déclaré collisionDepthVelocityMultiplier[].collisionDepthVelocityMultiplier_Interp
Retour de la propriété IndexedPathProxy
Type déclaré par la spec enum
Défaut déclaré 0
Flags input, output, connectable, stored
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["collisionDepthVelocityMultiplier"][i1]["collisionDepthVelocityMultiplier_Interp"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.collision_offset_velocity_multiplierAccès structuré

Rampe native de multiplicateur de vitesse selon l’offset de collision.

Élément Type / comportement
Chemin Maya déclaré collisionOffsetVelocityMultiplier
Retour de la propriété ArrayCompoundProxy
Type déclaré par la spec array:compound
Défaut déclaré None
Flags array, input, output, connectable, stored
Accès au plug node.collision_offset_velocity_multiplier.plug

La propriété renvoie une structure. Modifier un enfant explicite ou utiliser les opérations du Plug ; ne pas remplacer le proxy par une affectation Python.

node.collision_offset_velocity_multiplier_positionAccès limité

Position d’un point de la rampe collision_offset_velocity_multiplier.

Élément Type / comportement
Chemin Maya déclaré collisionOffsetVelocityMultiplier[].collisionOffsetVelocityMultiplier_Position
Retour de la propriété IndexedPathProxy
Type déclaré par la spec numeric:float
Défaut déclaré 0.0
Flags input, output, connectable, stored
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["collisionOffsetVelocityMultiplier"][i1]["collisionOffsetVelocityMultiplier_Position"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.collision_offset_velocity_multiplier_float_valueAccès limité

Valeur d’un point de la rampe collision_offset_velocity_multiplier.

Élément Type / comportement
Chemin Maya déclaré collisionOffsetVelocityMultiplier[].collisionOffsetVelocityMultiplier_FloatValue
Retour de la propriété IndexedPathProxy
Type déclaré par la spec numeric:float
Défaut déclaré 0.0
Flags input, output, connectable, stored
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["collisionOffsetVelocityMultiplier"][i1]["collisionOffsetVelocityMultiplier_FloatValue"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.collision_offset_velocity_multiplier_interpAccès limité

Interpolation d’un point de la rampe collision_offset_velocity_multiplier.

Élément Type / comportement
Chemin Maya déclaré collisionOffsetVelocityMultiplier[].collisionOffsetVelocityMultiplier_Interp
Retour de la propriété IndexedPathProxy
Type déclaré par la spec enum
Défaut déclaré 0
Flags input, output, connectable, stored
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["collisionOffsetVelocityMultiplier"][i1]["collisionOffsetVelocityMultiplier_Interp"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

Specs héritées de ControlPoint32
Propriété Plug Maya Retour Description
blind_data_nodes blindDataNodes list[str] Données de liens vers les nœuds de blind data.
color_set colorSet ArrayCompoundProxy Tableau des color sets.
current_color_set currentColorSet _ValuePlugProxy · .value: str Nom du color set courant.
color_name colorSet[].colorName IndexedPathProxy Nom du color set indexé.
clamped colorSet[].clamped IndexedPathProxy État clamped du color set.
representation colorSet[].representation IndexedPathProxy Mode de représentation des couleurs.
color_set_points colorSet[].colorSetPoints AttributeError (accès direct) Couleurs sous un color set indexé.
color_set_points_r colorSet[].colorSetPoints[].colorSetPointsR IndexedPathProxy Composante R de color_set_points.
color_set_points_g colorSet[].colorSetPoints[].colorSetPointsG IndexedPathProxy Composante G de color_set_points.
color_set_points_b colorSet[].colorSetPoints[].colorSetPointsB IndexedPathProxy Composante B de color_set_points.
color_set_points_a colorSet[].colorSetPoints[].colorSetPointsA IndexedPathProxy Composante A de color_set_points.
control_points controlPoints ArrayCompoundProxy Tableau natif des control points / tweaks ; ce n’est pas une lecture universelle des positions finales.
control_points_x_value controlPoints[].xValue IndexedPathProxy Composante X du control point indexé.
control_points_y_value controlPoints[].yValue IndexedPathProxy Composante Y du control point indexé.
control_points_z_value controlPoints[].zValue IndexedPathProxy Composante Z du control point indexé.
tweak tweak _ValuePlugProxy · .value: bool État natif de tweak.
relative_tweak relativeTweak _ValuePlugProxy · .value: bool Mode de tweak relatif.
tweak_location tweakLocation Any (donnée native) Données natives de localisation des tweaks.
display_immediate displayImmediate _ValuePlugProxy · .value: bool Option native d’affichage immédiat.
display_color_channel displayColorChannel _ValuePlugProxy · .value: str Canal de couleur affiché.
display_colors displayColors _ValuePlugProxy · .value: bool Activation de l’affichage des couleurs de composants.
current_uv_set currentUVSet _ValuePlugProxy · .value: str Nom du UV set courant.
uv_set uvSet ArrayCompoundProxy Tableau des UV sets.
uv_set_name uvSet[].uvSetName IndexedPathProxy Nom du UV set indexé.
uv_set_points uvSet[].uvSetPoints _DynNumericArrayProxy Paires UV du UV set ; accès via son élément parent pour choisir le set.
uv_set_points_u uvSet[].uvSetPoints[].uvSetPointsU IndexedPathProxy Coordonnée U à deux indices logiques.
uv_set_points_v uvSet[].uvSetPoints[].uvSetPointsV IndexedPathProxy Coordonnée V à deux indices logiques.
uv_set_tweak_location uvSet[].uvSetTweakLocation IndexedPathProxy Données de localisation des tweaks du UV set.
uv_pivot uvPivot _ValuePlugProxy · .value: tuple[float, float] Pivot UV à deux composantes.
uv_pivot_x uvPivot.uvPivotX _ValuePlugProxy · .value: float Première composante du pivot UV.
uv_pivot_y uvPivot.uvPivotY _ValuePlugProxy · .value: float Deuxième composante du pivot UV.
weights weights TypedArrayProxy Poids natifs des control points ; distincts des poids d’influences d’un skinCluster.
Specs héritées de GeometryShape32
Propriété Plug Maya Retour Description
as_background asBackground _ValuePlugProxy · .value: bool Option native d’utilisation en arrière-plan.
depth_jitter depthJitter _ValuePlugProxy · .value: bool Option native de depth jitter.
primary_visiblity primaryVisibility _ValuePlugProxy · .value: bool Visibilité primaire au rendu.
antialiasing_level antialiasingLevel _ValuePlugProxy · .value: int Niveau d’antialiasing de la géométrie.
geometry_antialiasing_override geometryAntialiasingOverride _ValuePlugProxy · .value: bool Activation de l’override d’antialiasing.
component_tags componentTags ArrayCompoundProxy Tableau des tags de composants.
component_tag_name componentTags[].componentTagName IndexedPathProxy Nom du tag à l’indice demandé.
component_tag_contents componentTags[].componentTagContents IndexedPathProxy Contenu du tag de composants.
casts_shadows castsShadows _ValuePlugProxy · .value: bool Participation à la projection d’ombres.
hardware_fog_multiplier hardwareFogMultiplier _ValuePlugProxy · .value: float Multiplicateur de brouillard matériel.
ignore_self_shadowing ignoreSelfShadowing _ValuePlugProxy · .value: bool Option pour ignorer l’auto-ombrage.
max_shading_samples maxShadingSamples _ValuePlugProxy · .value: int Nombre maximal d’échantillons de shading.
receive_shadows receiveShadows _ValuePlugProxy · .value: bool Réception des ombres.
shading_samples shadingSamples _ValuePlugProxy · .value: int Nombre d’échantillons de shading.
shading_samples_override shadingSamplesOverride _ValuePlugProxy · .value: bool Activation de l’override des échantillons de shading.
inst_material_assign instMaterialAssign list[str] Données d’affectation de matériau par instance.
pick_texture pickTexture None Connexion native de sélection de texture.
comp_inst_obj_groups compInstObjGroups ArrayCompoundProxy Groupes de composants par instance.
comp_object_groups compInstObjGroups[].objectGroups AttributeError (accès direct) Groupes sous une instance de composants.
comp_object_grp_comp_list compInstObjGroups[].objectGroups[].objectGrpCompList IndexedPathProxy Liste de composants du groupe indexé.
comp_object_group_id compInstObjGroups[].objectGroups[].objectGroupId IndexedPathProxy Identifiant du groupe de composants indexé.
reference_object referenceObject None Connexion à l’objet de référence de la shape.
max_visibility_samples maxVisibilitySamples _ValuePlugProxy · .value: int Nombre maximal d’échantillons de visibilité.
max_visibility_samples_override maxVisibilitySamplesOverride _ValuePlugProxy · .value: bool Activation de l’override des échantillons de visibilité.
render_type renderType _ValuePlugProxy · .value: int Type de rendu natif de la shape.
render_volume renderVolume _ValuePlugProxy · .value: bool Option native de rendu volumique.
visible_fraction visibleFraction _ValuePlugProxy · .value: float Fraction visible native.
visible_in_reflections visibleInReflections _ValuePlugProxy · .value: bool Visibilité dans les réflexions.
visible_in_refractions visibleInRefractions _ValuePlugProxy · .value: bool Visibilité dans les réfractions.
volume_samples volumeSamples _ValuePlugProxy · .value: int Nombre d’échantillons de volume.
volume_samples_override volumeSamplesOverride _ValuePlugProxy · .value: bool Activation de l’override des échantillons de volume.
motion_blur motionBlur _ValuePlugProxy · .value: bool Participation au motion blur.
Specs héritées de DAGNode93
Propriété Plug Maya Retour Description
use_object_color useObjectColor _ValuePlugProxy · .value: int Mode d’utilisation de la couleur de l’objet.
visibility visibility _ValuePlugProxy · .value: bool Visibilité locale du nœud ; elle ne résume pas la visibilité de toute sa hiérarchie.
template template _ValuePlugProxy · .value: bool Affichage de l’objet en mode template.
lod_visibility lodVisibility _ValuePlugProxy · .value: bool Visibilité associée au niveau de détail.
object_color objectColor _ValuePlugProxy · .value: int Indice de couleur de l’objet.
object_color_rgb objectColorRGB _ValuePlugProxy · .value: tuple[float, float, float] Couleur RGB de l’objet.
object_color_r objectColorR _ValuePlugProxy · .value: float Composante R de object_color_rgb.
object_color_g objectColorG _ValuePlugProxy · .value: float Composante G de object_color_rgb.
object_color_b objectColorB _ValuePlugProxy · .value: float Composante B de object_color_rgb.
wire_color_rgb wireColorRGB _ValuePlugProxy · .value: tuple[float, float, float] Couleur RGB du wireframe.
wire_color_r wireColorRGB.wireColorR _ValuePlugProxy · .value: float Composante R de wire_color_rgb.
wire_color_g wireColorRGB.wireColorG _ValuePlugProxy · .value: float Composante G de wire_color_rgb.
wire_color_b wireColorRGB.wireColorB _ValuePlugProxy · .value: float Composante B de wire_color_rgb.
hidden_in_outliner hiddenInOutliner _ValuePlugProxy · .value: bool Masquage dans l’Outliner.
use_outliner_color useOutlinerColor _ValuePlugProxy · .value: bool Activation de la couleur personnalisée dans l’Outliner.
outliner_color outlinerColor _ValuePlugProxy · .value: tuple[float, float, float] Couleur RGB dans l’Outliner.
outliner_color_r outlinerColorR _ValuePlugProxy · .value: float Composante R de outliner_color.
outliner_color_g outlinerColorG _ValuePlugProxy · .value: float Composante G de outliner_color.
outliner_color_b outlinerColorB _ValuePlugProxy · .value: float Composante B de outliner_color.
ghosting ghosting _ValuePlugProxy · .value: bool Activation du ghosting Maya.
ghosting_mode ghostingMode _ValuePlugProxy · .value: int Mode de ghosting.
ghost_custom_steps ghostCustomSteps CompoundProxy Réglages composés des pas de ghosting.
ghost_pre_frames ghostCustomSteps.ghostPreFrames _ValuePlugProxy · .value: int Nombre de frames avant la frame courante.
ghost_post_frames ghostCustomSteps.ghostPostFrames _ValuePlugProxy · .value: int Nombre de frames après la frame courante.
ghosts_step ghostCustomSteps.ghostsStep _ValuePlugProxy · .value: int Pas entre les échantillons de ghosting.
ghost_frames ghostFrames TypedArrayProxy Liste native des frames de ghosting.
ghost_use_driver ghostUseDriver _ValuePlugProxy · .value: bool Utilisation d’un driver pour le ghosting.
ghost_driver ghostDriver None Connexion au driver de ghosting.
ghost_color_pre ghostColorPre _ValuePlugProxy · .value: tuple[float, float, float] Couleur des ghosts précédents.
ghost_color_pre_r ghostColorPre.ghostColorPreR _ValuePlugProxy · .value: float Composante R de ghost_color_pre.
ghost_color_pre_g ghostColorPre.ghostColorPreG _ValuePlugProxy · .value: float Composante G de ghost_color_pre.
ghost_color_pre_b ghostColorPre.ghostColorPreB _ValuePlugProxy · .value: float Composante B de ghost_color_pre.
ghost_color_post ghostColorPost _ValuePlugProxy · .value: tuple[float, float, float] Couleur des ghosts suivants.
ghost_color_post_r ghostColorPost.ghostColorPostR _ValuePlugProxy · .value: float Composante R de ghost_color_post.
ghost_color_post_g ghostColorPost.ghostColorPostG _ValuePlugProxy · .value: float Composante G de ghost_color_post.
ghost_color_post_b ghostColorPost.ghostColorPostB _ValuePlugProxy · .value: float Composante B de ghost_color_post.
ghost_opacity_range ghostOpacityRange _ValuePlugProxy · .value: tuple[float, float] Plage composée d’opacité du ghosting.
ghost_near_opacity ghostOpacityRange.ghostNearOpacity _ValuePlugProxy · .value: float Opacité des ghosts proches.
ghost_far_opacity ghostOpacityRange.ghostFarOpacity _ValuePlugProxy · .value: float Opacité des ghosts éloignés.
render_info renderInfo CompoundProxy Informations composées de rendu du nœud.
identification renderInfo.identification _ValuePlugProxy · .value: int Identifiant natif dans les informations de rendu.
layer_renderable renderInfo.layerRenderable _ValuePlugProxy · .value: bool Participation au rendu du layer.
layer_override_color renderInfo.layerOverrideColor _ValuePlugProxy · .value: int Indice de couleur de remplacement du layer.
render_layer_info renderLayerInfo ArrayCompoundProxy Tableau d’informations par render layer.
render_layer_id renderLayerInfo[].renderLayerId IndexedPathProxy Identifiant du render layer à l’indice demandé.
render_layer_renderable renderLayerInfo[].renderLayerRenderable IndexedPathProxy Participation au rendu du layer à l’indice demandé.
render_layer_color renderLayerInfo[].renderLayerColor IndexedPathProxy Indice de couleur du render layer.
selection_child_highlighting selectionChildHighlighting _ValuePlugProxy · .value: bool Surlignage des enfants lors de la sélection.
inst_obj_groups instObjGroups ArrayCompoundProxy Groupes d’appartenance par instance DAG.
object_groups instObjGroups[].objectGroups AttributeError (accès direct) Groupes de composants sous une instance DAG.
object_grp_comp_list instObjGroups[].objectGroups[].objectGrpCompList IndexedPathProxy Composants du groupe à deux indices logiques.
object_group_id instObjGroups[].objectGroups[].objectGroupId IndexedPathProxy Identifiant du groupe de composants.
object_grp_color instObjGroups[].objectGroups[].objectGrpColor IndexedPathProxy Indice de couleur du groupe de composants.
matrix matrix _ValuePlugProxy · .value: om.MMatrix Matrice locale évaluée par Maya.
inverse_matrix inverseMatrix _ValuePlugProxy · .value: om.MMatrix Inverse de la matrice locale.
parent_matrix parentMatrix TypedArrayProxy Matrices des parents, indexées par instance.
parent_inverse_matrix parentInverseMatrix TypedArrayProxy Inverses des matrices des parents.
world_matrix worldMatrix TypedArrayProxy Matrices monde, indexées par instance DAG.
world_inverse_matrix worldInverseMatrix TypedArrayProxy Inverses des matrices monde.
intermediate_object intermediateObject _ValuePlugProxy · .value: bool Marqueur Maya de shape intermédiaire.
draw_override drawOverride CompoundProxy Ensemble des overrides d’affichage.
override_enabled overrideEnabled _ValuePlugProxy · .value: bool Activation des overrides d’affichage.
override_display_type overrideDisplayType _ValuePlugProxy · .value: int Type d’affichage imposé par l’override.
override_level_of_detail overrideLevelOfDetail _ValuePlugProxy · .value: int Niveau de détail imposé par l’override.
override_shading overrideShading _ValuePlugProxy · .value: bool Activation du shading dans l’override.
override_texturing overrideTexturing _ValuePlugProxy · .value: bool Activation des textures dans l’override.
override_playback overridePlayback _ValuePlugProxy · .value: bool Affichage pendant la lecture, selon l’override.
override_visibility overrideVisibility _ValuePlugProxy · .value: bool Visibilité imposée par l’override.
override_color overrideColor _ValuePlugProxy · .value: int Indice de couleur de l’override.
hide_on_playback hideOnPlayback _ValuePlugProxy · .value: bool Masquage pendant la lecture.
override_rgb_colors overrideRGBColors _ValuePlugProxy · .value: bool Utilisation de la couleur RGB pour l’override.
override_color_rgb overrideColorRGB _ValuePlugProxy · .value: tuple[float, float, float] Couleur RGB de l’override.
override_color_r overrideColorRGB.overrideColorR _ValuePlugProxy · .value: float Composante R de override_color_rgb.
override_color_g overrideColorRGB.overrideColorG _ValuePlugProxy · .value: float Composante G de override_color_rgb.
override_color_b overrideColorRGB.overrideColorB _ValuePlugProxy · .value: float Composante B de override_color_rgb.
override_color_a overrideColorA _ValuePlugProxy · .value: float Composante alpha de la couleur d’override.
bounding_box boundingBox CompoundProxy Plugs composés de la bounding box ; distincts de fn_bounding_box.
bounding_box_min boundingBox.boundingBoxMin _ValuePlugProxy · .value: tuple[float, float, float] Coin minimum de la bounding box locale.
bounding_box_min_x boundingBox.boundingBoxMin.boundingBoxMinX _ValuePlugProxy · .value: float Composante X de bounding_box_min.
bounding_box_min_y boundingBox.boundingBoxMin.boundingBoxMinY _ValuePlugProxy · .value: float Composante Y de bounding_box_min.
bounding_box_min_z boundingBox.boundingBoxMin.boundingBoxMinZ _ValuePlugProxy · .value: float Composante Z de bounding_box_min.
bounding_box_max boundingBox.boundingBoxMax _ValuePlugProxy · .value: tuple[float, float, float] Coin maximum de la bounding box locale.
bounding_box_max_x boundingBox.boundingBoxMax.boundingBoxMaxX _ValuePlugProxy · .value: float Composante X de bounding_box_max.
bounding_box_max_y boundingBox.boundingBoxMax.boundingBoxMaxY _ValuePlugProxy · .value: float Composante Y de bounding_box_max.
bounding_box_max_z boundingBox.boundingBoxMax.boundingBoxMaxZ _ValuePlugProxy · .value: float Composante Z de bounding_box_max.
bounding_box_size boundingBox.boundingBoxSize _ValuePlugProxy · .value: tuple[float, float, float] Dimensions de la bounding box locale.
bounding_box_size_x boundingBox.boundingBoxSize.boundingBoxSizeX _ValuePlugProxy · .value: float Composante X de bounding_box_size.
bounding_box_size_y boundingBox.boundingBoxSize.boundingBoxSizeY _ValuePlugProxy · .value: float Composante Y de bounding_box_size.
bounding_box_size_z boundingBox.boundingBoxSize.boundingBoxSizeZ _ValuePlugProxy · .value: float Composante Z de bounding_box_size.
center center _ValuePlugProxy · .value: tuple[float, float, float] Centre de la bounding box locale.
center_x center.boundingBoxCenterX _ValuePlugProxy · .value: float Composante X de center.
center_y center.boundingBoxCenterY _ValuePlugProxy · .value: float Composante Y de center.
center_z center.boundingBoxCenterZ _ValuePlugProxy · .value: float Composante Z de center.
Specs héritées de ContainerBase21
Propriété Plug Maya Retour Description
black_box blackBox _ValuePlugProxy · .value: bool Présentation du container en boîte noire dans Maya.
border_connections borderConnections list[str] Données de connexions à la frontière du container.
creator creator _ValuePlugProxy · .value: str Métadonnée de créateur du container.
creation_date creationDate _ValuePlugProxy · .value: str Métadonnée de date de création.
custom_treatment customTreatment _ValuePlugProxy · .value: str Traitement personnalisé du container.
hyper_layout hyperLayout None Connexion au layout de l’Hypergraph.
icon_name iconName _ValuePlugProxy · .value: str Nom d’icône associé au container.
is_collapsed isCollapsed _ValuePlugProxy · .value: bool État replié du container dans les vues Maya.
is_hierarchical_connection isHierarchicalConnection TypedArrayProxy Indicateurs de connexions hiérarchiques.
rmb_command rmbCommand _ValuePlugProxy · .value: str Commande de menu contextuel associée au container.
template_name templateName _ValuePlugProxy · .value: str Nom du template du container.
template_path templatePath _ValuePlugProxy · .value: str Chemin du template du container.
template_version templateVersion _ValuePlugProxy · .value: int Version du template du container.
container_type containerType _ValuePlugProxy · .value: str Métadonnée de type du container.
ui_treatment uiTreatment _ValuePlugProxy · .value: int Mode de présentation du container.
view_mode viewMode _ValuePlugProxy · .value: int Mode de vue du container.
view_name viewName _ValuePlugProxy · .value: str Nom de la vue du container.
published_node_info publishedNodeInfo ArrayCompoundProxy Tableau des informations sur les nœuds publiés.
published_node publishedNodeInfo[].publishedNode IndexedPathProxy Connexion vers le nœud publié à un indice donné.
is_hierarchical_node publishedNodeInfo[].isHierarchicalNode IndexedPathProxy Indicateur hiérarchique d’un nœud publié.
published_node_type publishedNodeInfo[].publishedNodeType IndexedPathProxy Type déclaré d’un nœud publié.
Specs héritées de DGNode6
Propriété Plug Maya Retour Description
message message None Plug de message du nœud ; sert aux connexions, sans valeur numérique.
frozen frozen _ValuePlugProxy · .value: bool État natif de gel de l’évaluation.
is_historically_interesting isHistoricallyInteresting _ValuePlugProxy · .value: int Niveau d’intérêt du nœud dans l’historique Maya.
bin_membership binMembership _ValuePlugProxy · .value: str Appartenance aux bins Maya.
caching_enabled caching _ValuePlugProxy · .value: bool Activation du cache natif du nœud.
caching_node_state nodeState _ValuePlugProxy · .value: int État d’évaluation natif nodeState.

Aucune nouvelle méthode publique sur cette classe. Utiliser les méthodes héritées ci-dessous ; la présence d’une base abstraite ne fournit pas un nouveau type Maya créable.

Méthodes héritées de DAGNode5
Méthode Retour Description
create None Crée un nœud DAG absent avec son éventuel parent préparé.
delete None Utilise la suppression de DGNode.
snapshot DAGSnapshot Étend le dictionnaire DG avec parent (chemin partiel) et parent_long_name (chemin complet), et utilise schema_version="dag-1.0".
finalize None Mémorise le dictionnaire puis délègue le replay à DGNode.finalize().
set_parent None Reparente le nœud live.
Méthodes héritées de DGNode3
Méthode Retour Description
snapshot_svd SVDSnapshot Capture Source / Value / Destinations pour la liste demandée.
svd SVDView Renvoie une vue live en lecture seule de la source, de la valeur et des destinations ; ce n’est pas une capture figée.
clear_attr_cache None Vide le cache d’attributs de cette instance ; ne supprime aucun nœud et ne vide pas le registre global de wrappers.
Méthodes héritées de Node2
Méthode Retour Description
has_fn(fn_type) bool Tester la compatibilité avec un function set Maya.
clear_node_registry() None Détacher les wrappers enregistrés et vider leur registre partagé.
Attribut Type Valeur / rôle
NODE_TYPE str | None "surfaceShape"
SPEC_LAYERS list[SpecLayer] Layers du parent + get_surface_shape_specs_all

Attributs définis ou redéfinis ici. NODE_REGISTRY est hérité de Node. COMPATIBLE_MAYA_FN_TYPES est hérité ; pour une classe avec NODE_TYPE explicite, son utilisation dépend aussi de la politique de compatibilité décrite dans le constructeur.

Les types SurfaceShapeSnapshot exportés par ces modules sont des descriptions TypedDict, pas des classes à instancier pour effectuer une capture. Utiliser node.snapshot().

Point Comportement
Identité Le wrapper suit l’objet Maya ; un remplacement portant le même nom n’est pas le même nœud.
Lecture Lecture live prioritaire ; vérifier exists avant les opérations natives.
Specs Décrivent les plugs existants ; n’ajoutent pas automatiquement d’attributs Maya.
Exemples La démonstration crée et supprime uniquement ses propres nœuds nommés avec un suffixe aléatoire.

Exemple autonome pour le Script Editor Python de Maya. Pour l’exécuter depuis mayapy, initialiser maya.standalone avant ce bloc et le fermer ensuite, comme dans la référence Node.

La shape de démonstration est un mesh vide : le test concerne la propriété héritée, pas la création de topologie.

from uuid import uuid4
from weSkel.src.core.node.abstract.surface_shape.lib import SurfaceShape
from weSkel.src.core.node.dag.mesh.lib import Mesh
from weSkel.src.core.node.dag.transform.lib import Transform
prefix = "api_shape_" + uuid4().hex[:8]
parent = Transform(prefix + "_parent")
node = Mesh(prefix + "Shape")
try:
parent.create()
node.parent = parent
node.create()
assert SurfaceShape(node.mobject) is node
node.double_sided = False
assert node.double_sided.value is False
print("SurfaceShape: inherited shape property OK")
finally:
node.delete(snapshot=False)
parent.delete(snapshot=False)

Résultat attendu : SurfaceShape: inherited shape property OK. Les nœuds de démonstration sont supprimés dans le finally.

Référence du checkpoint SDK 87c3486. Inventaire et exemples vérifiés sur les sources sous Maya 2025.3 et 2026.3 ; cela ne valide pas le package compilé.