Python --- 【RhinoPython】自定义选择类型

[复制链接]
跳转到指定楼层
2853517 筑梦NARUTO 发表于 2015-7-23 22:15:27 楼主
在使用rhinopython的时候,我们有时候想选择一些特殊物件的时候,可以自定义选择的类型,这样方便我们选择。

案例:
视窗中有很多物件,我们想选择长度小于40的直线,这样我们就不方便选择。
方法一:我们选择所有的曲线然后把不符合要求的物体从选择的列表中删除。
方法二:我们可以自定义选择的类型,有时候挺方便的。

代码:
[mw_shl_code=applescript,true]#coding=utf-8
#作者:月之眼  联系:naruto@n-dda.cn
import rhinoscriptsyntax as rs
import scriptcontext as sc
import Rhino as r

#自定义选择类型
def select_line(rhino_objects,geo,geo_index):
    cv = rs.coercecurve(geo)
    return rs.IsLine(cv) and rs.CurveLength(cv)<40


def commond():
    geos = rs.GetObjects("选择直线",rs.filter.curve,True,True,custom_filter = select_line)
    color = rs.GetColor(0)
    if geos and color:
        [rs.ObjectColor(i,color) for i in geos]


if __name__=="__main__":
    commond()
[/mw_shl_code]
效果展示:


源文件下载:下载链接[/hide]


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
关于大陆地区Rhino原厂培训中心
kietsuc 发表于 2015-7-24 03:53:11
2
原来还能这样写,受教了
wjjsoft 发表于 2015-8-3 11:01:43
3
衷心感谢筑梦NARUTO版主! Python在三维软件中应用广泛值得深入
 楼主| 筑梦NARUTO 发表于 2015-8-3 11:18:00
4
wjjsoft 发表于 2015-8-3 11:01
衷心感谢筑梦NARUTO版主! Python在三维软件中应用广泛值得深入

现在很多三维建模软件都加入python作为脚本语言了
A525346 发表于 2015-9-22 10:15:46
5
我是來學習的!!
36868927 发表于 2015-11-12 08:45:35
6
能否增加选取圆和圆弧,脚本
 楼主| 筑梦NARUTO 发表于 2015-11-13 19:36:30
7
36868927 发表于 2015-11-12 08:45
能否增加选取圆和圆弧,脚本

自己改下就行吧。把判断换成圆弧或者圆的应该就可以了
 楼主| 筑梦NARUTO 发表于 2015-11-14 20:43:09
8
这样就行了。稍微改一下
  1. #coding=utf-8
  2. #作者:月之眼

  3. import rhinoscriptsyntax as rs
  4. import scriptcontext as sc
  5. import Rhino as r

  6. #自定义选择类型
  7. def select_line(rhino_objects,geo,geo_index):
  8.     cv = rs.coercecurve(geo)
  9.     return rs.IsArc(cv)


  10. def commond():
  11.     geos = rs.GetObjects("选择圆弧",rs.filter.curve,True,True,custom_filter = select_line)
  12.     color = rs.GetColor(0)
  13.     if geos and color:
  14.         [rs.ObjectColor(i,color) for i in geos]


  15. if __name__=="__main__":
  16.     commond()
复制代码


zrg031882 发表于 2015-12-31 17:45:40
9
老师太厉害了,啥都会。向你学习。
shupuyun 发表于 2016-1-5 11:55:06
10
这真是学习者们的福音!支持支持!
您需要登录后才可以回帖 登录 | 注册成为会员

本版积分规则