关于ghpy插件显示如何添加分割线

我运用GHPY的框架进行制作插件,但是我需要在状态栏中的同一类电池,用切割线分离。
请教各位,在Python如何实现这个功能。
image

重写GH_Exposure Exposure函数。(我没有在python里试过,应该是可以的)

3 个赞

感谢月神 我试试

月神 我想再问一个问题,我在py输入端口类型选择Brep,我怎么调出它的guid

Brep 好比是几何体的生产图纸,它是没有生成编号 (Guid) 的,几何体生产出来放到文档里面了,才有 GUID。

如果输入的是 GUID,你可以直接再代码里使用这个编号从 Rhino 文档里找到对应的物件,从而把 Brep 数据提取出来。

如果输入的是 Brep,那相当输入端把 Brep 数据从文档里的这个物件上提取下来传到电池里给你用了。

所以如果你要的是输入到电池以前的 GUID,就不要选 Brep ,选成 Guid ,然后通过 GUID 再得到 Brep 才是正确的方式。

如果是从 GH 里直接输入的,那是没有 GUID 的,这种如果想有 GUID,就必须添加到文档里才能得到 guid,有两个文档可以用,一个是 ghdoc,添加进去不会直接显示在界面上,还有一个是 Rhino.RhinoDoc.ActiveDoc ,添加完就直接添加到 Rhino 场景中了。

具体看下面的范例:

贴上代码,方便复制:

import Rhino

print("从 Rhino 中引用的物件才能以 Guid 输入:")
print in_guid
doc_object = Rhino.RhinoDoc.ActiveDoc.Objects.Find(in_guid)
print("找到的文档物件:")
print doc_object
true_brep = doc_object.Geometry
print("从文档物件身上找到的Brep:")
print true_brep

print("GH 中输入的Brep:")
print in_brep
print("添加到文档中才能得到!!!")
new_ghdoc_guid = ghdoc.Objects.AddBrep(in_brep)
print("添加到 ghdoc 以后得到的 guid:")
print(new_ghdoc_guid)

new_rhino_doc_guid = Rhino.RhinoDoc.ActiveDoc.Objects.AddBrep(in_brep)
print("注意:添加到 Rhino 文档以后,会直接在场景中生成物件。")
print("添加到 RhinoDoc 以后得到的 guid:")
print(new_rhino_doc_guid)
5 个赞

这样的方法我也已经实现。非常感谢你的回答.