在使用Maya的时候经常需要对大纲视图进行操作管理,比如下图中要删除选择的中间层级。直接删除的话会连带子节点一起删除,需要先改变链接关系再删除。如果数量过多的话还是比较让人烦恼的。

选择需要移除的中间层,运行脚本就可以删除中间层保留子级。

import pymel.core as pydef FindRoot(sl):'获取所有根节点'root = []for obj in sl:if not (py.listRelatives(obj, allParents=True, fullPath=1)[0] in sl):# print py.listRelatives(obj, allParents = True,fullPath=1,noIntermediate=1)[0]root.append(py.listRelatives(obj, allParents=True, fullPath=1, noIntermediate=1)[0])return rootdef FindChildren(sl):'获取所有需要改变链接的子节点'Children = []for obj in sl:if not ([False for chi in py.listRelatives(obj, children=True, fullPath=1, type='transform') if chi in sl]):#print py.listRelatives(obj, allDescendents=True, fullPath=1, noIntermediate=1)[-1]for x in (py.listRelatives(obj, children=True, fullPath=1, type='transform')):Children.append(x) return Childrendef ChangeParent(sl):py.select(clear=True)root = FindRoot(sl)children = FindChildren(sl)if not (len(root) == 1):for chi in children:print "children is " + str(chi)for roo in root:print "Root is " + str(roo)if (chi in py.listRelatives(roo, allDescendents=True, fullPath=True)):print 'parent ' + str(chi) + ',' + str(roo)py.parent(str(chi), str(roo))py.select(clear=True)breakelse:if not (len(children) == 0):print 'parent ' + str(children) + ',' + str(root)    py.parent(*(children+root))sl = py.ls(selection=1)
ChangeParent(sl)
py.delete(sl)

Maya批量删除选择的中间层级相关推荐

  1. Maya批量删除namespace

    Maya批量删除namespace 该脚本可以一键删除所有namespace,解决了无法批量删除的问题 string $getAllNS[] = `namespaceInfo -recurse -li ...

  2. 易语言多线程批量登录选择框数组加入删除账号

    如下图,我们点击左边一个选择框账号,需要自动加入右边超级列表框,取消选中,则不加入,实现的思路就是,我们先声明一个账号数组,选中选择框,就把这个账号加入数组,取消选中,则从数组里删除. 选择框被单击事 ...

  3. 中软实习---批量删除和搜索,过滤器和权限管理---7.24-7.26

    继续完善剩下的功能.中间空了两天没有写博客,这次一次性都完成吧. 一.批量删除 1.首先,前端中处理选择复选框进行删除的响应事件 function deleteSelectedUser() {var ...

  4. oracle procedures批量删除带索引条件数据很慢_见微知著,数据库应用设计优化浅谈...

    作者简介 刘晨 中航信研发中心 运维经理 前言:众所周知对于 OLTP 的交易系统最重要的操作就是数据库的CRUD,数据库层面或者SQL优化的程度,对于整个系统的并发处理能力起到至关重要的作用. 很多 ...

  5. hibernate批量删除和更新数据

    转载自:http://blog.csdn.net/yuhua3272004/article/details/2909538 Hibernate3.0 採用新的基于ANTLR的HQL/SQL查询翻译器, ...

  6. EasyUI-DataGrid之批量删除

    简单介绍一下,涉及到的几个知识点: 1.checkbox,多选 2.前台到后台传值,我用的是字符串拼接,到了后台在拆分的方式 3.批量删除的底层实现 效果图 前台view [html] view pl ...

  7. 空行替换_Word怎么批量删除空行和空格?有技巧很简单!

    使用Word进行文字编辑的时候,偶尔会有存在多余空行,或不经意间留下的空格,影响整体文本排版及阅读的情况.或是有时从其他地方复制过来的文本,存在大量换行符的情况发生,遇到这种情况是否有能够快速去除这些 ...

  8. angularJS 全选反选批量删除

    <th> <label for="flag"> <span ng-hide="master">全选</span> ...

  9. iphone同步助手_iPhone怎么批量删除联系人?

    最近很多人问iPhone怎么批量删除联系人,今天哎妹就告诉大家如何批量删除联系人的方法: iPhone7plus怎么批量删除联系人? iPhone不允许批量删除联系人,如果想删除可以借助第三方app进 ...

最新文章

  1. HDU1013 POJ1519 Digital Roots(解法二)
  2. sde表空间无法导入数据和编辑
  3. php如何连接wsdl,PHP如何调用wsdl
  4. 团队管理(3)---有效降低企业员工离职率
  5. workbench拓扑优化教程_轻量化及拓扑优化软件GENESIS介绍——可集成到Workbench
  6. Go语言基础练习题系列1
  7. Uber新CEO的第一把火:停止运营Xchange Leasing租车业务
  8. [postgresql]postgresql的VACUUM 介绍
  9. 基于Kylin的数据统计分析平台架构设计与实现
  10. php主动防御,汽车主动防御系统
  11. nssa和stub_OSPF stub,totally stub , NSSA , totally nssa
  12. spline本地运行的方法
  13. Jenkins使用时,报No valid crumb was included in the request的解决方法
  14. android 延时拍照,手机如何延时拍摄 手机延时拍摄技巧有哪些
  15. cadence常用快捷键及小技巧(画斜线、开balloons等)
  16. 微信小程序--------商品物流跟踪模板
  17. isdisposed java_Java Shell.isDisposed方法代碼示例
  18. ASP.NET c# 实验日记(1)
  19. 移动硬盘,U盘出现USBC病毒乱码恢复的可能性分析
  20. SpringCloud实用篇02

热门文章

  1. cmd切换壁纸 适用windows10
  2. 《我不是药神》 观影感
  3. uniapp小视频项目:消息列表开发
  4. bat 批处理文件 中if else 语句写法
  5. SnapdragonCamera无法录像问题
  6. 讲述非科班的面试过程:阿里三面+交叉面试+技术面试+HR面试,一路艰难,中拿下了字节跳动的offer!
  7. Facebook广告投放技巧及思路、如何最大化发挥广告效益!
  8. 64. Extjs中grid 的ColumnModel 属性配置
  9. 结合axios(formdata)+vue-cropper+element ui实现头像图片剪切上传
  10. contenteditable元素的光标控制,自制emoji插件