各位高手、大师,我碰到一个问题,解了好几天,不得其法。需求如下:在rhino中,用户数据usertext可以粘贴到物体上,可以多次累加,修改,读取等操作。
在rhino的命令行上,使用setusertext,及getusertext可以方便地读取。在Rhino Python Editor里面也有代码的示例,我已经测试成功了!可以像批处理一样地运用rs.setusertext,及rs.getusertext函数来使用。
但我们更多是在GH中快速编程,需要封存GH的过程数据存在某一个物体本身当中,GH现在本身没有用户数据usertext的电池,我想通过GH里面的Python插件来编写这些功能。
现在遇到的问题有几个:
1、GH中的setusertext 写不进去
2、GH中的getusertext 读不出来
3、希望在建立了物体,Bake出物体形状的同时,将usertext同时就写到物体当中去,方便以后的步骤来读取。
在GHPython中,这样设定电池倒是绿了,只是数据感觉写不进去
上面的代码为:
import rhinoscriptsyntax as rs
if object_id:
print object_id
print key
print value
rs.SetUserText(object_id, key, value)
结果没有反应,用rhino命令行中的getusertext去查询,找不到任何附加的数据。
感觉 rs.SetUserText(不起作用。
再写另一个getusertex的代码,发现有usertext的物体,却取不出任何数据,感觉很是奇怪?
上面的代码为:
import rhinoscriptsyntax as rs
if object_WP:
print object_WP
print type(object_WP)
print rs.GetUserText(object_WP, "len")
a = rs.GetUserText(object_WP, "len")
在GHpython script 编辑器中,每次按下“test”按钮时,对应
print object_WP的结果都会变出不同的数值,例如:
08adc2f6-e081-4e46-a4f2-a63c3da438eb
2ad6e3f8-8ec7-4f77-a4bd-55ef60280644
ed7c3655-3cd2-4027-81a9-a2503f995fa9
……………………
这是怎么回事啊?
有那位大使能帮我解答一下,不胜感激!
如果有VB in GH的代码也可以看看。
附注:在一个叫SEG的插件中,倒是有类似的电池,但是这组插件时不时会报错,或者时间加密,版本加密引出退出,实在不敢就轻易使用这个插件。
|
|
举报