请问关于scriptcontext的帮助文档哪里可以找到?

不能!重要的事情重复三遍,上面已经说了 RhinoDoc 是个 类!类!类!, scriptcontext.doc 是个 变量!变量!变量!

班长(scriptcontext.doc)可以是小明(ghdoc),也可以是小红(Rhino.RhinoDoc.ActiveDoc),但首先必须得是个人(RhinoDoc)。

不能这样理解。

简单点理解,在 Rhino 里能选中的物件储存在 Rhino.RhinoDoc.ActiveDoc.Objects 中,只能在 GH 中选中的物件储存在 ghdoc.Objects 中,通通都有 GUID。

在 Rhino 中通过指令创建的物件,会被放置在 Rhino.RhinoDoc.ActiveDoc.Objects 中,所以也是有 GUID 的。

假如你用 RhinoCommon 中的 Rhino.Geometry.Curve 类,实例化了一个 Curve 对象,那它还不能显示在 Rhino 界面上,也没有 GUID,通过 Rhino.RhinoDoc.ActiveDoc.Objects.AddCurve() 方法添加到 Rhino.RhinoDoc.ActiveDoc.Objects 以后,有了 GUID,这时候才能显示到 Rhino 界面上,才能保存进 3dm 文件中。

rhinoscriptsyntax 简易就简易在这,其中的绝大多数函数,会自动把物件添加到 scriptcontext.doc.Objects 中。

如果 scriptcontext.doc = Rhino.RhinoDoc.ActiveDoc,就会直接把物件添加在 Rhino 场景中,不受 GH 的管理。如果 scriptcontext.doc = ghdoc,在 Rhino 场景中就看不到,就受到 GH 的管理了,必须输出给电池的 out 变量,才能显示出来。

1 个赞