如何从蚱蜢中引用犀牛rhp

时间:2016-05-15 06:00:50

标签: c# .net grasshopper rhino3d

在C#中编写Grasshopper扩展时,我想访问我的Rhino插件中定义的符号。

一个常见的例子是我的插件可能会将自定义UserData类附加到对象,我希望以后能够在Grasshopper中访问该数据的成员。

在我的具体示例中,我有一个MirrorData类,它被添加到一组Breps中。我可以从我的rhino插件中设置并获取它。

问题是我的Grasshopper扩展要知道MirrorData,我需要从蚱蜢扩展引用rhino插件,但是这是不允许的,因为rhino插件输出.rhp不能用作有效参考

我通过在grasshopper扩展中的插件的obj文件夹中引用临时MirrorPlugin.dll找到了一种解决方法。但这似乎不是“正确的”方法。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

推荐的方法是创建一个引用RhinoCommon的程序集,它在Rhino插件和Grasshopper组件之间共享。在此共享程序集中,添加其他项目中所需的所有功能。如果您需要一个演示此示例的示例,请参阅以下内容:

https://github.com/dalefugier/Platonics

将来,您可能希望在我们的话语讨论论坛上发布您的Rhino开发问题:

http://discourse.mcneel.com/

我们倾向于比其他人更勤奋地监督这个论坛。 ; - )

- 戴尔

答案 1 :(得分:1)

需要注意的一点是,您的rhino插件不必是rhp文件。一个DLL工作正常但我想你失去了拖放安装功能。我使用自定义安装程序将我的插件dll和grasshopper dll安装到同一目录中。然后蚱蜢插件能够访问rhino插件没问题。我认为我最终只在内存中使用了一个rhino插件实例,但我没有明确验证这一点(在我的情况下我不关心多个实例)