-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathopenMayaMtxConst_wipV1.py
33 lines (24 loc) · 1.19 KB
/
openMayaMtxConst_wipV1.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import pymel.core as pm
from maya.api.OpenMaya import MTransformationMatrix, MGlobal, MSelectionList, MFnDagNode, MMatrix, MFnTransform, MFnMatrixAttribute
import maya.api.OpenMaya as om
dgn = MFnDagNode()
mobj = om.MObject()
m_dagPath = om.MDagPath()
mattr = MFnMatrixAttribute()
sel = MGlobal.getActiveSelectionList() # selection
srcDagpath = sel.getDependNode(0) # first node
srctransform_node = MFnTransform(srcDagpath) # MFnTransform
srcBaseMtx= srctransform_node.transformation().asMatrix() # matrix
srcName = (dgn.setObject(sel.getDagPath(0))).name()#dagname
srcPym = pm.PyNode(srcName)#dagPynode
tgtDagpath = sel.getDependNode(1) # first node
tgttransform_node = MFnTransform(tgtDagpath) # MFnTransform
tgtBaseMtx= tgttransform_node.transformation().asMatrix() # matrix
tgtName = (dgn.setObject(sel.getDagPath(1))).name()#dagname
tgtPym = pm.PyNode(tgtName)#dagPynode
srcBattr = mattr.create("srcBaseMtx", "mm")#createAttr
srctransform_node.addAttribute(srcBattr)#addAttr
srcPym.srcBaseMtx.set(srcBaseMtx)#setAttronPym
tgtBAttr = mattr.create("tgtBaseMtx", "mm")#createAttr
srctransform_node.addAttribute(tgtBAttr)#addAttr
srcPym.tgtBaseMtx.set(tgtBaseMtx)#setAttronPym