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 ...
随机推荐
- JAVA中时间格式(SimpleDateFormat)和数字格式(DecimalFormat)转换详解(转)
时间格式转换SimpleDateFormat: //定义日期的格式 SimpleDateFormat format =new SimpleDateFormat("yyMMdd"); ...
- js 回调
function getTittleLableData(callback) { $.ajax({ type : 'POST', url : ctx + '/feeInf/getDataValue', ...
- ORACLE数据库管理员的职责
ORACLE数据库管理员的职责 一.概述 ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期监控: (1). 每天对ORACLE数据库的运行状态,日志文件,备份情况,数据库的空间使用情 ...
- BluePrism初尝2
在接近三周的自学中,初步体验到了RPA的甜头. 在对BP这个工具慢慢的深入接触中,从0 到1的探索式学习,从最开始的一个个的小功能模块的用途,每一个的属性的功能,到现在自己能初步尝试组织一些简单的流程 ...
- 2018-2019-2 《网络对抗技术》Exp0 Kali安装 Week1 20165326
kali的安装及配置 目录 下载 安装 相关配置 一.下载 官方下载网址https://www.kali.org/downloads/ 选择64位的.iso文件下载 返回 二.安装kali 打开VMw ...
- Vim+Taglist+AutoComplPop之代码目录分栏信息和自动补全提示(Ubuntu环境)
一步: 首先在Ubuntu环境中安装ctags: sudo apt-get install ctags 第二部: 安装Taglist-------------Taglist是vim的一个 ...
- SqlServer 游标逐行更新数据,根据上一行的数据来更新当前行
工作中用到的记录一下,游标的详细定义及说明请百度 --游标格式化数据 DECLARE cursor_jxsmb CURSOR FOR --定义一个游标 SELECT F0 FROM dbo.JXSMB ...
- django学习系列——python和php对比
python 和 php 我都是使用过,这里不想做一个非常理性的分析,只是根据自己的经验谈一下感想. 在web开发方面,无疑 php 更甚一筹. 从某种角度来说,php 就是专门为 web 定制的语言 ...
- SQA计划与系统测试
(一)目的 本计划的目的是定义我们该小组所做的“爱上长大”项目的SQA任务和职责,在项目过程中应遵循的流程.规范和约定等,以确保软件质量得到维持. (二)范围 本计划应用于“爱上长大”项目开发的整个生 ...
- Fescar: Fast & Easy Commit And Rollback
Fescar is an easy-to-use, high-performance, java based, open source distributed transaction solution ...