【发布时间】:2014-02-04 17:47:13
【问题描述】:
我做了一件蠢事。我对 Revit 2014 允许在 Ruby 中使用宏感到非常兴奋,安装了 RevitRubyShell,并编写了将成为插件的内容。
小问题——IronRuby 没有 DLL 编译器。哦!
所以,我要将我的代码转换为 Python(并使用出色的 RevitPythonShell),这是我在 Revit 2014 Ruby 出现之前用于 Revit API 工作的。
我的问题是——在我将我的 Ruby 代码转换为 Python 之后,(如何)我可以创建一个 Revit 插件 DLL 吗?我知道您可以将 Python 编译为 .NET DLL,但 Revit 加载项的每个示例似乎都在 C# 中。我想留在解释型环境中,因为以这种方式在 Revit 中开发非常快。但是,如果我必须将所有内容都转换为 C# 以制作符合 IExternalApplication 接口的插件,那么在 Python(或 Ruby)中进行所有开发是没有意义的。
有人用 Python 做过 Revit 插件吗?
谢谢!
安迪
【问题讨论】:
-
你想要编译这个项目的原因是什么?隐藏来源?还是容易部署?
-
易于部署,比什么都重要。我将开源代码。我最终弄清楚了如何在启动时将 Ruby 代码安装到 Revit 宏模块中,所以我现在继续制作一个加载项 DLL。
-
这个问题(我是OP)现在已经有1000多浏览量了,既然关注这么多,我就这么说吧,以后的读者可能会感兴趣:我已经将我所有的 Revit 加载项转换为 C# 和 Visual Studio Express。我发现它只是一个用于创建和调试 Revit 插件的更简单的环境。
-
+1,我也认为 C# 是一种很好的开发语言。RPS 的诞生是为了在不重新启动 Revit 的情况下测试 C# 插件的零碎部分(当时的版本 9,我想想)并测试一些 API / 探索......可能是一种混合模式,在 RPS 中快速尝试一些东西,然后将其转换为 C# 混凝土,这将是我用于专业插件开发的方式。
-
好点!我的加载项通常会执行需要重新启动的操作,因此当我切换时,我并没有放弃 RPS 的 优势。我只是硬着头皮失去了其他好处。 :) 可能是 VS 调试和网络上大量的 C# Revit 代码示例是我很高兴只用 C# 完成这一切的原因。那,我几乎不知道 Python 。 . .