NCF参数化建筑论坛
标题:
【RhinoPython】查找替换字符
[打印本页]
作者:
月之眼
时间:
2019-8-9 18:31
标题:
【RhinoPython】查找替换字符
本帖最后由 月之眼 于 2019-8-9 18:33 编辑
rhino中经常会用到查找替换text和dot文字的需求,简单分享一下代码,希望对各位有用。
比如案例中把dot和text中的”XM“字符替换成“月之眼”字符。
在rhino中执行 _EditPythonScript指令,调出rhinopython编辑器,把代码复制到编辑器中,点击绿色三角形执行代码就行了。
[attach]51796[/attach]
[attach]51797[/attach]
代码如下:
#coding=utf-8
#月之眼
import rhinoscriptsyntax as rs
import string as s
import Rhino.Geometry as rg
def select_Text(rhino_objects, geometry, geometry_index):
return rs.IsTextDot(geometry) or rs.IsText(geometry)
def ReplaceText(text,oldText,newText):
if (s.find(text,oldText)!=-1):
return text.replace(oldText,newText)
def ChangeText(oldText,newText):
geometrys = rs.GetObjects("选择要替换的text和dot",0,True,True,custom_filter = select_Text)
if(geometrys):
for i in geometrys:
if(rs.IsTextDot(i)):
string1 = rs.TextDotText(i)
string2 = ReplaceText(string1,oldText,newText)
rs.TextDotText(i,string2)
else:
string1 = rs.TextObjectText(i)
string2 = ReplaceText(string1,oldText,newText)
rs.TextObjectText(i,string2)
else:
print("没有text和dot")
if __name__=="__main__":
ChangeText("XM","月之眼")
复制代码
作者:
lidalin666
时间:
2020-4-17 21:05
好用,真不错
欢迎光临 NCF参数化建筑论坛 (http://ncf-china.com/)
Powered by Discuz! X3.2