今天一个朋友问我“Rhino如何根据text类型选择text,比如只选择下图中的数字而不选择中文”。
去年老板也提过需要这个功能,所以我去年写了SelTextType指令。简单示范一下我写的指令效果。
rs.GetObjects()函数中的custom_filter参数是一个函数类型的参数,可以自定义filter类型,以下代码为自定义只选择text为数字的代码。 [AppleScript] 纯文本查看 复制代码 #coding=utf-8
import rhinoscriptsyntax as rs
"""
作者:月之眼
版权:引用请注明出处
作用:选择数字类型的text
"""
def IsNumber(text):
try:
float(text)
except ValueError:
return False
else:
return True
def select_Text(rhino_objects, geometry, geometry_index):
#自定义选择类型
text = rs.TextObjectText(geometry)
return rs.IsText(geometry) and IsNumber(text)
allText = rs.GetObjects("根据类型选择text",select = True,custom_filter = select_Text)
然后再把写好的RhinoPython代码打包成rhino的指令就行了。这里就不细讲了。
|