近期热门
粉丝0
关注 0
获赞 0
遍历模型的脚本问题--新手问题

[其他] 遍历模型的脚本问题--新手问题

[复制链接]
3523 9 0 0 8年前 举报
先上脚本:   
max select all
    ungroup $selection


--如果名字是Geometry 就改成父节点的名字
for obj in selection do
(
if  obj.name=="Geometry"  do

    obj.name= obj.parent.name+"Geometry"

   )
两个问题
1-- 匿名 codeblock; 文件名: ; 位置: 153; line: 9 中发生错误
-- 语法错误: 位于 if,需要 <因子>
--  所在行: if o


2
obj.name= obj.parent.name+"Geometry"
取父节点的名字该怎么取?

谢谢各位了。入门级的错误帮忙解决下。
0
点赞
0
打赏
0
添加到收藏夹

0

点击复制链接

使用微信扫码分享
一次扣10个券
全部评论12
您需要登录后才可以回帖 登录

脚本没错。要全选物体才可以运行脚本
7年前
回复

使用道具 举报

GYGYGGY 发表于 2016-9-20 09:41
首先谢谢你不厌其烦的解答我的问题。
我研究了下代码,好像和我理想的有点差距,因为我对3DMAX的脚本对 ...

你这图上的2和1之间有什么关系没?如果两者之间完全没关系,可能不太好做判断筛选

8年前
回复

使用道具 举报

zxy8784 发表于 2016-9-19 19:20
max select all
    ungroup $selection

首先谢谢你不厌其烦的解答我的问题。
我研究了下代码,好像和我理想的有点差距,因为我对3DMAX的脚本对象不太了解可能描述错了。 麻烦你再看下我截图中的需求,怎么改前面你的代码。
代码运行效果


我的业务需求是这样的。




8年前
回复

使用道具 举报

zxy8784 发表于 2016-9-19 19:20
max select all
    ungroup $selection

我看了半天,试图回答楼主的问题,但没看明白。
看了你的回答,才恍然大悟,你说的是对的。
父节点有没有也要判断一下的。有父节点的时候才可以运算。

8年前
回复

使用道具 举报

max select all
    ungroup $selection


--如果名字是Geometry 就改成父节点的名字
for obj in selection do
(
if  obj.name =="Geometry" then
        (
        try  obj.name = (obj.parent.name + "Geometry" ) catch ()
        )
)

1.if 后面接then而不是do
2.报错是因为你选择到的对象可能没有父节点,所以获取父节点的名字会报错。
3.获取父节点名称的方式的对的,这里没有问题
8年前
回复

使用道具 举报

大神 帮我看看这张图 里面描述的很详细

问题描述

问题描述
8年前
回复

使用道具 举报

zxy8784 发表于 2016-9-19 18:40
if  obj.name=="Geometry"  do
可以改成 if classof obj == Geometry
obj可以替换成变量名,比如 a,b,c,d ...

可能理解错我的意思了。 看看这个图

2016-09-19_184623.png
8年前
回复

使用道具 举报

本帖最后由 zxy8784 于 2016-9-19 19:01 编辑

{:1_330:}
8年前
回复

使用道具 举报

本帖最后由 zxy8784 于 2016-9-19 19:00 编辑

{:1_330:}
8年前
回复

使用道具 举报

您当前使用的浏览器IE内核版本过低会导致网站显示错误

请使用高速内核浏览器或其他浏览器