本帖最后由 月之眼 于 2015-7-23 22:51 编辑  
 
在使用rhinopython的时候,我们有时候想选择一些特殊物件的时候,可以自定义选择的类型,这样方便我们选择。 
 
案例: 
视窗中有很多物件,我们想选择长度小于40的直线,这样我们就不方便选择。 
方法一:我们选择所有的曲线然后把不符合要求的物体从选择的列表中删除。 
方法二:我们可以自定义选择的类型,有时候挺方便的。 
 
代码: 
- #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()
 
  复制代码 
效果展示: 
 
 
源文件下载: 
 
 
 |