本帖最后由 月之眼 于 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()
复制代码
效果展示:
源文件下载:
|