Revit API の言語環境、開発ツール、ベスト プラクティス、その他の一般的な問題に関するよくある質問とその回答です。
Revit API 開発には、Visual Studio のどのバージョンが必要ですか?Visual C# Express を使用することはできますか?
Revit API 開発ではどの言語がサポートされていますか?
Revit アドインの生成を支援するウィザードはありますか?
C++ アドインが構築されないのはなぜですか?
外部コマンドが表示されないのはなぜですか?
Revit の起動時に、アプリケーションの OnStartup メソッドが呼び出されないのはどうしてですか?
Revit ではどのようにして要素を参照するのですか?
モデルが使用できる共有パラメータ ファイルは 1 つだけですか?
共有パラメータ ファイルは、パラメータに関するわずかな情報を保持するために使用します。情報の最も重要な部分が GUID (Globally Unique Identifier)であり、単一ファイル内および複数モデル間でのパラメータのユニーク性を保証するために使用します。
Revit は複数の共有パラメータ ファイルで作業することができますが、一度に 1 つのファイルからのみパラメータを読み込むことができます。すべてのモデルに同一の共有パラメータ ファイルを使用するか、各モデルに別のファイルを使用するかは開発者が選択できます。
さらに、API アプリケーションがユーザのパラメータ ファイルと干渉が発生しないようにする必要があります。アプリケーションは、開発者が用意したパラメータを含む独自のパラメータ ファイルとともに出荷してください。Revit ファイルにパラメータをロードするには、次の手順を実行します。
他のプログラムで共有パラメータを使用できるように、モデルと一緒に共有パラメータファイルを配布する必要がありますか?
対応する要素がコピーされると、共有パラメータ値もコピーされますか?
要素のユニークな ID (UID)は普遍的にユニークですか、また変更することはできますか?
アプリケーションがデータをモデルに戻す際に Revit の更新に時間がかかります。速度を速めるためにはどのようにすればいいですか?
共有パラメータをバインドする機能を持たない要素に共有パラメータを追加する場合は、どのようにすればいいですか?たとえば、通芯やマテリアルなどです。
保存されたモデルやコンテンツ BMP にはどのようにしてアクセスするのですか?
Preview.dll はシェル プラグインであり、IExtractImage インタフェースを実装するオブジェクトです。IExtractImage は Windows のシェル フォルダで使用されるインタフェースであり、既知のファイル タイプのイメージを抽出します。
詳細については、『Revit API 開発者用ガイド』を参照してください。
CRevitPreviewExtractor は次のように標準 API 関数を実装します。
STDMETHOD(GetLocation)(LPWSTR pszPathBuffer,
DWORD cchMax,
DWORD *pdwPriority,
const SIZE *prgSize,
DWORD dwRecClrDepth,
DWORD *pdwFlags);
STDMETHOD(Extract)(HBITMAP*);
自身をレジストリに登録します。
Element.Parameters へのアクセスに時間がかかるのはなぜですか?
構造要素の既定の終端のリリースがモデルを不安定にレンダリングする場合があります。このような場合どうしたらよいですか?
梁の方向を回転させているため、弱方向に回転します。たとえば、W14X30 の I は、90 度回転させると H のように見えます。回転角度は API でどのようにアクセスされますか?位置は LocationPoint ではなく LocationCurve であり、Rotation 値にアクセスする権限がありません。確認する必要があるものは何ですか?確認する FamilyInstance 要素があります。これで何をするのですか?
新しいコンクリート梁や柱のサイズをモデルに追加するにはどうしたらよいですか?
真のデッキ レイヤを表示するにはどうしたらよいですか?
片持ち梁がある場合はどうしたらわかるのですか?
|
[モーメント接合始点]と[モーメント接合終点]という 2 つのパラメータがあります。これらの 2 つの値セットが[なし]でない場合は、同一直線上にあり、[なし]以外の値セットを持つ梁があるかどうか確認する必要があります。ユーザが[構造フレーム]オプションではなく、[片持ちモーメント]オプションを選択しているかどうかも尋ねます。 |
おおよそ 1 つまたは 2 つの要素を超えて接続性を追跡します。
要素のリリース条件を確認します。
グループを含むモデルを外部プログラムに書き出すときに、書き出しの最後に「「グループ 1 への変更」はグループ編集モードでのみ許可されます」というエラーが表示されます。グループのすべてのインスタンスに変更を加えるには、[グループを編集]コマンドを使用します。変更されたグループ インスタンスをグループ解除してこの変更を続行するには、[グループを解除]オプションを使用します。
API バイナリはメジャー リリース同士で互換性がありますか?