大数跨境
0
0

应答如牛第11期:Grasshopper & Python 解疑 | Tips

应答如牛第11期:Grasshopper & Python 解疑 | Tips Rhino3D
2018-12-28
0
导读:本期我们来聊一聊GH与Python的一些事儿。

整理:Simon

在Rhino3D(犀牛)中文网论坛技术交流群中经常出现具有学习参考价值的问答或技术讨论内容,因此摘录下来以应答如“牛”作系列,方便小伙伴们查阅。

本期我们来聊一聊GH与Python的事儿。

关于GH提问:

设置物体的用户文本。健就是key,,给key赋值后,在gh里如何获得这个用户文本的健值?

Jorin版主回答:

Grasshopper 里面没有电池能够直接读取,但是GH 也是支持 python的,你可以在GH里用脚本读取。
假如我有个几何体,我在上面写入了一组键值对,“length” 对应的是"300":

但是需要注意的是,在 GH 中用 GHpython 读取的时候,要把数据输入类型设置为 GUID ,还要在代码中把当前的文档设置为 Rhino 文档,通过引用把集合体拿到 GH 以后,GH 文档拿进来的只是几何体,没有把 UserData 拿进来,UserData 是记录而在 RhinoDoc 里面的。GH 默认是 ghdoc ,里面没有你在 Rhino 里面写好的 UserData。通过上下两个电池的对比就可以看出区别了:

获取完键值对以后,记得像上面那个电池最后一行这样把文档切换回 ghdoc ,不然之后用 ghpython 写的几何体全部都跑到 Rhino 文档里面去了,哪怕重启 Rhino 和 GH 以及换个 ghpython 电池,也会跑到 Rhino 里面去。

GH每次复制就卡住了   然后出现这个截面  请问应该如何设置? 这是GH的Bug吗?

Jorin版主回答:

这个问题实际上并不是GH的bug ,而是金山词霸、有道词典或是搜狗输入法等占用了剪贴板,导致 GH 无法在剪贴板写入文件造成的。

GH的Bake可选Display,假设我Display选择框线模式Bake进Rhino之后,不管Rhino改变成其他显示模式,刚刚Bake出来的模型永远就是会以框架模式显示。
想请教各位,此功能有没办法不透过GH直接在Rhino设定吗?

筑梦NARUTO版主回答:

请尝试这个SetObjectDisplayMode指令,单独给一个物件设置显示模式。

假如有很多的多段线和各种半径的圆,现在想把多段线和该多段线内的圆孔批量成组,我只想到多段线和只有一种半径的圆的方法,请各位指教一下

筑梦NARUTO版主回答:

其实你的程序都写得差不多了,可能是你对GH还不熟悉,可以直接bake的。

▼参考下图

关于Python提问:

在python脚本里调用rs.command,是如何选取之前定义的变量?

Jorin版主回答:

按照问题的描述,下面这样写就能达到要求(选取物件后将物件向X方向移动一个单位。):

但实际上这样的脚本是没有任何意义的,都已经要用脚本来解决问题了,最好调用现成的函数来实现,调用 rs.Command 是下下策,不到万不得已,最好不要用直接调用 Rhino 的指令。

喜欢以上内容的朋友请点个赞哦!

点击▼这里有福利!

在线视频 | 跟我读 《RhinoPython 101》系列

欢迎加入Rhino3D原厂课堂 ① 

群号码:308638931


欢迎分享这篇小Tips给身边的朋友


往期文章

课程回放 | 新版Grasshopper新增工具和改进详解第2讲

插件 | TopMostViewport for Rhino 6

Rhino6 SR9 新增Grasshopper教学中文化


点击下方关键词,查看更多精选内容

(也可以在公众号后台回复哦)

Rhino6

教学

细分建模

离线课程

在线课程

教育版

在线Help

gh案例

... ...



欢迎加入Rhino3D原厂课堂 ① 

群号码:308638931

关注Rhino原厂微信公众帐号获取更多资讯

【声明】内容源于网络
0
0
Rhino3D
Rhino(犀牛)原厂中国技术支持与推广中心服务号
内容 493
粉丝 0
Rhino3D Rhino(犀牛)原厂中国技术支持与推广中心服务号
总阅读56
粉丝0
内容493