問題タブ [revit-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ViewSheetSetting.InSession.Views プロパティの設定
InSession.Views
プロパティの設定に取り組んだ人はいますか?私が抱えている問題は、ドキュメントを開いた直後に次のプロパティを設定すると機能しないことです (つまり、viewSet
4 つのアイテムがあるにもかかわらず、ビューのサイズがまだ 0 のままです)。
しかし、 の印刷ダイアログを使用してインセッション ビュー/シート セットを変更した後revit
、それに割り当てることができます。
誰かが理由を知っていますか?
c# - 同期または再ロード後に変更された Revit API 2013 ドキュメントに、新しく追加または変更された要素が表示されない
2 台の異なるマシンで中央ファイル モデルと 2 つのローカル ファイルを操作する際に問題があります。あるマシンに要素を追加し、同期を行ってから別のマシンに再読み込みすると、API はこの新しく追加された要素を DocumentChanged イベントで認識しません。
これはコードです:
このコードの直後にこれを行います:
問題は、削除された要素の場合は (リロード後に) 完全に機能しますが、変更および追加された要素の場合は何もしないことです。
ローカル ファイル内の要素を追加または変更する場合、コードは完全に機能しますが、これは私が必要としているものではありません。これらの変更を中央ファイルに同期した他のユーザーからの変更および追加された要素を処理する必要があります。
私が何か間違ったことをしているのか、それともこれを達成するための他の方法があるのか 誰かが知っていますか?
revit - Revit を閉じる準備ができているかどうかを確認する
まず、タイプミスなどをお詫びします。英語は私の母国語ではありません:)
Revit 用のアドインを作成し、アドインの自動更新に取り組んでいます。私はすでに更新をソートしていますが、小さな問題に遭遇しました。
Revit の起動時に更新をチェックしています(Revit がアドイン アプリケーションを作成するとき)
更新が利用可能な場合は、ユーザーに更新するかどうかを尋ねるメッセージを表示しています。はいの場合は、Revit を閉じて更新を開始します。
問題は、この時点で Revit 自体のロードが完了していないことです。プログラムで閉じると、さらに 5 秒間閉じる準備ができていないため、エラーがスローされます。
私のマシンの問題は解決しますが、必ずしもユーザーの問題ではありません。そのため、Revit を閉じる準備ができているかどうか (閉じることができる状態) を確認する方法が必要です。
問題は、Revit を閉じることができるかどうかを確認する方法はありますか? 誰かがこのような問題を抱えていて、それを解決しましたか?
(ユーザーが Revit を閉じたときに更新を確認できることはわかっていますが、理想的ではありません...
何か案は?
c# - 外部エリア境界と一致するロケーション ラインで壁を作成する方法は?
エリア境界線の上に壁を作成していますが、ロケーション ライン「仕上げ面: 外部」で配置する方法が見つかりません。
領域境界から幾何学的データを取得しています:
次に、それに基づいて線を作成して壁を構築します。
このコードにより、ロケーション ラインとエリア境界が中央に配置された壁が得られます。外部領域の境界と一致するロケーション ラインを持つ壁を作成する方法はありますか?
これはRevitのスクリーンショットです。
前もって感謝します!
c# - Revit API: 壁とマテリアル キーノートの要素キーノートを作成する方法は?
壁用のエレメント キーノートとそのマテリアル用のマテリアル キーノートを作成しようとしています (このイメージのビットのようにするために、完全に固執しています。
このブログ投稿に示されている方法でタグを作成しようとしました: http://thebuildingcoder.typepad.com/blog/2010/06/set-tag-type.htmlOST_KeynoteTags
しかし、基調タグを変更することはできません。壁またはマテリアルに関連付ける:
しかし、Revit ではこれを行うことができません。
それとも私は間違った道を進んでいます...
c# - 別のスレッドで WPF 進行状況ウィンドウを作成する
Revit という建築モデリング ソフトウェアの API を使用して、カスタム アドイン コマンドを作成しています。コマンドが完了するまでに時間がかかる場合があるため、進行状況バーを含むウィンドウをユーザーに表示したいと考えています。
通常、このような進行状況ウィンドウを作成する場合、それはメイン UI スレッド上にあり、実行中の実際の作業はセカンダリ ワーカー スレッド上で発生します。ただし、Revit では、カスタム コマンドを呼び出すスレッドを介して API にアクセスする必要があります。したがって、2 番目のスレッドでプログレス バーを作成する必要があります。
別のスレッドで WPF ウィンドウを起動することに関するこのブログ投稿を見つけ、それに基づいてソリューションを作成しました。これが私のカスタム コマンド クラスです。
そして、これが私の ProgressWindow クラスの UpdateProgress() メソッドです
私の最初の質問は、一般的に、私はこれを正しく行いましたか? 動作しているように見えますが、マルチスレッド プログラミングについては、今日動作するからといって、明日も動作するわけではないことを十分に知っています。
次に、進行状況ウィンドウにキャンセル ボタンを追加して、プロセスをキャンセルできるようにしたいと考えています。これを行う最善の方法は何ですか?最終的には、作業スレッドによって定期的にチェックされる「cancelRequested」ブール値フラグになることを理解していますが、進行状況ウィンドウのスレッドからこれを設定するにはどうすればよいですか?
c# - ElementTransformUtils.CopyElement Revit 2012 の平行移動ベクトル
Revit Api 2012 c# でユーザーが入力した選択したオブジェクトのインスタンスを作成しようとしていますが、ElementTransformUtils.CopyElement への 3 番目の入力が新しい場所ではなく平行移動ベクトルであることを発見したので、要素から固定点を選択しようとしていますを選択し、そこから新しい場所の位置を減算し、結果を並進ベクトルとして配置します。問題は: pickobject.globalPoint を使用して、コードを実行するたびに変更される選択したオブジェクトからポイントを取得するので、質問: ユーザーが入力した要素を選択するたびに同じポイントを取得する方法は? 前もって感謝します