在使用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]
|