Python --- 新人脚本出问题,求各位大神指导

[复制链接]
跳转到指定楼层
20587 kietsuc 发表于 2015-5-19 23:15:20 楼主
各位大神好:
       我在写一个脚本时遇到如下问题,求各位大神指导,拜谢了。
以下是脚本代码:

#coding=utf-8
import rhinoscriptsyntax as rs
import scriptcontext as sc
while True:
    rs.Command("_Circle ")
    Cir = rs.LastCreatedObjects(False)
    rs.SelectObject(Cir)
    if Cir == None:
        break
    rs.Command(" _Offset ")
    rs.Command("_History _R=是 _U=是 _L=否 " + " _Enter", False)
    rs.SelectObject(Cir)
    rs.EnableObjectGrips(Cir)
    rs.UnselectAllObjects()
    while True:
        point = rs.GetObjectGrip("选取要调整的控制点")
        rs.Command("_Move " + str(point[2]))
        if point == None:
            continue
    rs.EnableObjectGrips(Cir,False)
    rs.SelectObject(Cir)
    if sc.escape_test(False):
        break

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
关于大陆地区Rhino原厂培训中心
 楼主| kietsuc 发表于 2015-5-19 23:19:12
2
C:\Users\kietsuc526\Desktop\YKQ`$3IAM$7I1I5AJ7PY2DE.png
由于我不知道怎么在发图的时候上图片,所以我只好在评论里上图片了

我遇到如下两个问题:

第一个问题是,拾取控制点后,在移动的时候,移动起点定位不到控制点上面。
 楼主| kietsuc 发表于 2015-5-19 23:21:49
3
唉,我真不知道怎么上传图片,真的不好意思,看看附件能不能上传了
 楼主| kietsuc 发表于 2015-5-19 23:29:27
4
第二个问题:

while True:
        point = rs.GetObjectGrip("选取要调整的控制点")
        rs.Command("_Move " + str(point[2]))
        if point == None:
            continue
当point我不选择的时候,软件提示:
Message: 'NoneType' object has no attribute 'OwnerId'

我做这个的想法是,如果point==None, 这脚本跳过这次循环,继续从头运行。




帖子很乱,我会回去好好看看论坛公告,打扰各位大神了,谢谢各位大神。
筑梦NARUTO 发表于 2015-5-20 00:51:33
5
先整理下帖子吧。。。发帖的时候有个高级模式啊。。。这样就可以发图片链接啥的了。。。。

还有就是写脚本的时候能用函数解决的问题就少调用rhino的命令了比如(rs.MoveObject函数)。。。。你写的和写宏一样了。。。没有发挥脚本的优势啊。。。


QQ图片20150520004158.png (19.81 KB, 下载次数: 22)

QQ图片20150520004158.png
 楼主| kietsuc 发表于 2015-5-20 03:10:40
6
好的,我重新整理过大神。我对脚本确实还欠缺一种感觉,每次写,总是感觉抓不到要领,不知道为什么。
 楼主| kietsuc 发表于 2015-5-20 10:32:50
7
之前因为浏览器问题,一直找不到图片上传的选项,现在重新整理好帖子。



首先第一个问题:

运行到选取控制点,然后移动时,我将移动的起点设定为控制点所在的3d点,下图是在添加圆的平面上拾取的。



然后,我转到右视图进行移动,就变成了下面这样,移动起点不在控制点上。



转到正视图也是一样。


我的疑问是,rs.GetObjectGrip函数的返回值列表,第三个元素是代表操作点位置的 3-D 点,但是为什么会出现这样的情况?我该从哪个方面去解决?



{E1OS0O70WOPSJE{ZT42}US.png (47.45 KB, 下载次数: 15)

{E1OS0O70WOPSJE{ZT42}US.png
 楼主| kietsuc 发表于 2015-5-20 10:36:53
8
第二个问题是关于循环的问题,我的想法是:整个脚本需要循环直到我停止,然后在整个脚本的循环里面再加入控制点  “选取---移动” 的循环,直到我停止后,继续整个脚本的循环。但是当 “ point = rs.GetObjectGrip("选取要调整的控制点")” 里面面,我不选取控制点后,脚本跳出,并有如下提示:

这个是哪里除了问题?
您需要登录后才可以回帖 登录 | 注册成为会员

本版积分规则