1

我做了一件蠢事。我对 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 插件吗?

谢谢!

安迪

4

2 回答 2

1

查看这篇博文:使用 DeployRpsAddin 部署 RPS 脚本

在那篇文章中,我描述了RevitPythonShell的一个功能,让您可以创建 RevitPythonShell (RPS) 脚本的可分发版本 - 一堆要发布的脚本。

完成此操作的主要方法是提供一个用 C# 编写的包装 DLL,该 DLL 将您的脚本和配置文件存储为资源,并在运行时使用 IronPython 执行它们。这仍然意味着您的 python 代码没有“编译”到 IL,但您可以将其捆绑安装在单独的计算机上。查看DesignPerformanceViewer以获得此类插件的详细示例。

于 2014-01-17T09:23:39.783 回答
0

没关系。经过更多挖掘后,发现这个 stackoverflow 答案表明 IronPython DLL 不能从 IronPython 以外的任何地方移植/调用,因此忽略了 Revit 插件。

从 Python 代码构建 .NET DLL?(根据此链接,答案是“否”。)

于 2014-01-16T15:59:20.023 回答