1

私はばかげたことをしました。Revit 2014 で Ruby でマクロを使用できるようになったことに興奮し、RevitRubyShell をインストールし、アドインになるものを書きました。

ちょっとした問題 -- IronRuby 用の DLL コンパイラはありません。ああ!

そこで、コードを Python に変換します (そして優れた RevitPythonShell を使用します)。Python は、Revit 2014 Ruby が登場する前に Revit API の作業に使用していたものです。

私の質問は、Ruby コードを Python に変換した後、(どのように) Revit アドイン DLL を作成できますか? Python を .NET DLL にコンパイルできることは知っていますが、Revit アドインの例はすべて C# のようです。このように Revit で開発するのは非常に高速であるため、解釈された環境にとどまりたいと考えています。しかし、IExternalApplication インターフェイスに準拠するアドインを作成するためにすべてを C# に変換する必要がある場合、すべての開発を Python (または Ruby) で行っても意味がありません。

Python で Revit アドインを実行した人はいますか?

ありがとう!

アンディ

4

2 に答える 2

1

このブログ投稿を確認してください: Deploying RPS scripts with DeployRpsAddin .

その記事では、RevitPythonShellの機能について説明します。これにより、配布可能なバージョンの RevitPythonShell (RPS) スクリプト (配布するスクリプトの束) を作成できます。

これを行う主な方法は、スクリプトと構成ファイルをリソースとして保存し、実行時に IronPython で実行する C# で記述されたラッパー DLL を提供することです。これは、Python コードが IL に「コンパイル」されていないことを意味しますが、別のコンピューターにインストールするためにバンドルすることができます。このようなアドインの精巧な例については、 DesignPerformanceViewerを確認してください。

于 2014-01-17T09:23:39.783 に答える
0

どうでも。さらに掘り下げた後、IronPython DLL は移植可能ではなく、IronPython 以外から呼び出し可能ではないことを示すこのスタックオーバーフローの回答が見つかりました。そのため、Revit アドインは省略されています。

Python コードから .NET DLL をビルドしますか? (このリンクによると、答えは「いいえ」です。)

于 2014-01-16T15:59:20.023 に答える