在用C#编写Grasshopper扩展时,我想访问在Rhino插件中定义的符号。
一个常见的例子是,我的插件可能会将自定义的UserData类附加到对象,并且我希望稍后能够在Grasshopper中访问该数据的成员。
在我的特定示例中,我有一个添加到Brep集合中的类MirrorData。我可以从我的rhino插件中设置和获取这个。
问题是,为了让我的Grasshopper扩展了解MirrorData,我需要从grasshopper扩展中引用rhino插件,但这是不允许的,因为rhino插件输出的.rhp不能用作有效的引用。
我已经找到了一种解决方法,通过引用我的插件的obj文件夹中的临时MirrorPlugin.dll。但这似乎不是“正确”的方法。
有什么想法吗?
发布于 2016-05-16 00:58:22
推荐的方法是创建一个引用RhinoCommon的程序集,该程序集在Rhino插件和Grasshopper组件之间共享。在此共享程序集中,添加在其他项目中需要的所有功能。如果您需要一个示例来演示这一点,请参阅以下内容:
https://github.com/dalefugier/Platonics
将来,您可能希望在我们的讨论论坛上发布您的Rhino开发问题:
http://discourse.mcneel.com/
我们倾向于比其他人更努力地监控这个论坛。;-)
--戴尔
发布于 2016-05-16 01:15:14
需要注意的一件事是,rhino插件不必是rhp文件。dll运行得很好,但我猜你失去了拖放安装功能。我使用自定义安装程序将我的插件dll和grasshopper dll安装到同一个目录中。然后蝗虫插件就可以毫无问题地访问rhino插件了。我想我最终只在内存中得到了rhino插件的一个实例,但我没有显式地验证这一点(在我的例子中,我不关心多个实例)
https://stackoverflow.com/questions/37235086
复制相似问题