作者:Jorin
先看以下的问题描述:
在用 GhPython 写代码时,有时需要把 scriptcontext.doc 切换到当前的 Rhino 文档,代码执行完毕后再切换回来:
import scriptcontext as sc import Rhino sc.doc = Rhino.RhinoDoc.ActiveDoc """ do something …… …… """ sc.doc = ghdoc
直接在 Grasshopper 中的 GhPython Script 电池中使用这个脚本是没有问题的。但当我们编译成看不到源代码的电池以后,就出现了问题:
找不到全局变量 ghdoc
解决方法:
造成这个问题的原因是找不到 ghdoc 这个全局变量,所以我们在这里手工初始化 ghdoc:
在 sc.doc = ghdoc 前面加上:
import GhPython ghdoc = GhPython.DocReplacement.GrasshopperDocument()
最后修改过的代码如下:
import scriptcontext as sc import Rhino import GhPython sc.doc = Rhino.RhinoDoc.ActiveDoc """ do something …… …… """ ghdoc = GhPython.DocReplacement.GrasshopperDocument() sc.doc = ghdoc
现在去编译就不会再有问题了,如有疑问可以到论坛跟帖
本教学完