NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 61646|回复: 31
打印 上一主题 下一主题

[心得体会] 【RhinoPython】自定义选择类型

  [复制链接]
跳转到指定楼层
1m
发表于 2015-7-23 22:51:02 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 月之眼 于 2015-7-23 22:51 编辑

在使用rhinopython的时候,我们有时候想选择一些特殊物件的时候,可以自定义选择的类型,这样方便我们选择。

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

                               
登录/注册后可看大图

代码:
  1. #coding=utf-8
  2. #作者:月之眼  联系:naruto@n-dda.cn

  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.IsLine(cv) and rs.CurveLength(cv)<40


  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()
复制代码

效果展示:


源文件下载:
游客,如果您要查看本帖隐藏内容请回复



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享分享

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 )    辽公网安备21021102000973号

GMT+8, 2024-5-16 03:51 , Processed in 0.180454 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表