maya模板lock工具
#lockTemple
import maya.cmds as mc
import string
if mc.window('LockWin',ex=1)==1:
mc.deleteUI('LockWin')
mc.window('LockWin',t="lockTemple",wh=(300,100),menuBar=True)
mc.menu('about..')
mc.menuItem('author : 栋栋')
mc.menuItem('qq : 27971533')
mc.menuItem(d=1)
mc.menuItem('功能:摆模板时候锁定子层级,移动父层级')
mc.columnLayout(adj=1)
mc.button('LOCK_select',l="LOCK_select",bgc=(0.8,0.2,0.2),c='LK_select()')
mc.button('unLOCK_select',l="unLOCK_select",bgc=(0.8,.8,0.2),c='UnLK_select()')
mc.button('unLK_All',l="unLOCK_All",bgc=(0.2,0.2,0.2),c='unLK_all()')
mc.showWindow('LockWin')
def LK_select():
myNeedLock=mc.ls(sl=True)
myFinalAttr=[]
myChannel=['translateX','translateY','translateZ','rotateX','rotateY','rotateZ']
for a in range(len(myNeedLock)):
myNewLOC=mc.spaceLocator( p=( 0, 0 ,0),n=myNeedLock[a]+"_LOCKconstraint")
myNeedHaveAttr=mc.listAttr(myNeedLock[a],k=1)
for b in myNeedHaveAttr:
if b in myChannel and mc.getAttr(myNeedLock[a]+'.'+b,l=1)==0 and mc.getAttr(myNeedLock[a]+'.'+b,k=1)==1:
myFinalAttr.append(b)
skipTranslate=[]
skipRotate=[]
if myFinalAttr!=[]:
for c in myChannel:
if c not in myFinalAttr:
if "translate" in c:
if c[-1] not in skipTranslate:
skipTranslate.append(c[-1])
elif "rotate" in c:
if c[-1] not in skipRotate:
skipRotate.append(c[-1])
skipTranslate= [item.lower() for item in skipTranslate]
skipRotate= [item.lower() for item in skipRotate]
mc.parentConstraint(myNewLOC[0],myNeedLock[a],mo=1,skipTranslate=skipTranslate,skipRotate=skipRotate,w=1)
def UnLK_select():
needUnLock=mc.ls(sl=True)
for a in needUnLock:
myCons=mc.listRelatives(a,type='parentConstraint')
if myCons:
mc.delete(myCons[0])
if mc.objExists(a+'_LOCKconstraint'):
mc.delete(a+'_LOCKconstraint')
def unLK_all():
myCNS_LOC=mc.select('*_LOCKconstraint')
allLoc=mc.ls(sl=True)
for a in allLoc:
myCons=mc.listConnections(a,s=0,d=1)
if myCons:
mc.delete(myCons[0])
mc.delete(a)
欢迎交流 VX:27971533
maya模板lock工具的更多相关文章
- flask模板的基本用法(定界符、模板语法、渲染模板),模板辅助工具(上下文、全局对象、过滤器、测试器、模板环境对象)
flask模板 在动态web程序中,视图函数返回的HTML数据往往需要根据相应的变量(比如查询参数)动态生成. 当HTML代码保存到单独的文件中时,我们没法再使用字符串格式化或拼接字符串的当时在HTM ...
- A Package Manager for Xcode -Xcode模板管理工具Alcatraz使用
一款功能强大的Xcode模板管理工具 一:安装之后的效果图 二:安装 1:先关闭 xcode 2: 打开 terminal 3: 复制粘贴运行如下代码 mkdir -p ~/Library/App ...
- WPF - 模板查看工具:Show Me The Template及如何查看第三方主题
原文:WPF - 模板查看工具:Show Me The Template及如何查看第三方主题 在学习WPF的模板(DataTemplate.ItemsPanelTemplate.ControlTemp ...
- 一款批量修改AE模板的工具
一.需求分析 对于视频后期剪辑及相关从业人员来说,AE(After Effects)模板效果是一个不错的开始点.在模板效果的基础上,可以很快的做出各种炫酷的后期效果.但是在网上下载的模板工程中,往往包 ...
- java下载Excel模板(工具类)
一次文件下载记录 一次不成熟的文件下载操作记录,希望能对需要的人有所帮助. 1.前端代码 $("#downloadModel").click(function(){ var mod ...
- 虚拟化技术之kvm镜像模板制作工具virt-sysprep
virt-sysprep这个工具来自libguest-tools这个工具包,它能够把kvm虚拟机对应的磁盘文件做成一个模板,后续我们启动虚拟机就可以基于这个镜像模板启动:什么是镜像模板呢?所谓模板就是 ...
- zend studio快捷模板 开发工具之zend studio一些配置
以下是以Zend Studio 10.0.0版本为基础的: 模板的配置(template): [菜单]->[Window]->[preferences]->[PHP]->[Ed ...
- [原创软件]Maya语言切换工具
软件主要功能: 切换Maya语言 软件界面截图: 开发环境及语言: c# .NET Framework 4.0 Visual Studio 2015 更新日志: v1.0(2016.7.20) 发布初 ...
- ICPC模板排版工具
感谢参考:https://www.cnblogs.com/palayutm/p/6444833.html 额外安装texlive, ubuntu环境提供参考: 1.下载镜像包 https://mirr ...
随机推荐
- yii防止延迟用户多次点击按钮重复提交数据
是不是被用户的行为所困扰? 一. 一个表单用户点击提交按钮了N次,这也导致了数据提交了N次. 为了此受到了测试的欺辱,受到了老板的批评? 不用怕,它就是来拯救你的. 第一步:打开命令行,敲入 comp ...
- Centos7 Firewall
1.1 firewall启停设置 [root@tomcat ~]# systemctl stop firewalld.service #关闭firewall [root@tomcat ~]# syst ...
- js 两数的最大公约数
function gcd(a,b){ if (b == 0){ return a; } var r = parseInt(a % b) ; return gcd(b, r);}gcd(12,5);
- 在Linux CentOS6系统中安装开源CMS程序OpenCart的教程
OpenCart是一个开放源码的店面,旨在为您提供灵活和细粒度的在线店面管理.在开始之前,您应该已经在您的Linode上设置了一个LAMP堆栈.您还应该设置主机名. PHP设置 为了使用OpenCar ...
- Ubuntu16.04下安装OpenCV3.2.0
1.安装官方给的opencv依赖包 $ sudo apt-get install build-essential $ sudo apt-get install cmake git libgtk2.0- ...
- LeetCode 102 二叉树的层次遍历
题目: 给定一个二叉树,返回其按层次遍历的节点值. (即逐层地,从左到右访问所有节点). 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 ...
- Java中常见的分页算法
在查询数据的时候或者展示数据的时候经常会使用分页,介绍几种简单的分页算法: //总的页数 int total = 30: //每页个数 int pageSize = 6; 1.one int ...
- 零基础IDEA整合SpringBoot + Mybatis项目,及常见问题详细解答
开发环境介绍:IDEA + maven + springboot2.1.4 1.用IDEA搭建SpringBoot项目:File - New - Project - Spring Initializr ...
- 精进之路之AQS及相关组件
AQS ( AbstractQueuedSynchronizer)是一个用来构建锁和同步器的框架,使用AQS能简单且高效地构造出应用广泛的大量的同步器,比如我们提到的ReentrantLock,Sem ...
- mac安装破解的Navicat
原文:https://www.jianshu.com/p/f42785e55b6b 原始文档没操作成功,折腾了一下午,后来在如下地址看的简洁版的,突然发现一句重要的话,豁然开朗. 原文链接:https ...