生産Revitの二次開発のシールド部材を繰り返したレプリケーション・タイププロンプトウィンドウ

ブログの習慣を書いていない、長い時間のためのヤードの農家を行い、初めてブログを書き始めました。

この問題は、オンラインで、また一日、私を投げるに近く、該当ボーエンはありません、小さなパートナーは、参照の問題を抱えているために、あなたと共有することを決めました。

メンバーを生成するときに現在シール機能で、すでにプロジェクトをやってからのコンテンツになります

 

 

ポップの下で。

 

思想は、Revitの自身の情報が検索コンポーネントは、ドキュメントの現在のコンポーネント、唯一見つけたらコピー操作を見つける際に原因があることを示唆しているとは思いませんでした、前任者のメッセージ警告の残っているので、(ElementTransformUtils.CopyElementsを呼び出すために来ます)この機能。

API次のように:

 

 

 最後のものは、私たちのパラメータの一部が設定されます。

この関数を呼び出すときに、ソースコードのパラメータは、以下ので

だから、CopyPasteOptionsクラスをジャンプ、我々はIDuplicateTypeNamesHandlerイベントインターフェイスました。

このインタフェースは、イベントの上にポップアップ表示するために捧げていますが、デフォルトのコンストラクタ関数が直接CopyPasteOptionsクラスをコピー呼び出すときにパラメータを渡すに起因するので、私はとても迅速なポップを与えるために、何をすべきか、この時間Revitのは確か推測されます。

そして、次はそれにライン上の取り扱いを与え、私たち自身のCopyPasteOptionsクラスを作成することが容易になります。

次のようにターンコードの後次のとおりです。

                transaction.Start(" copyElement " ); 
                CopyPasteOptionsオプト = 新しい)(CopyPasteOptionsを。
                opt.SetDuplicateTypeNamesHandler(新しいCopyEventHandler()); 
                IDが =のElementTransformUtils.CopyElements(SDOC、elementsToCopy、DDOC、Transform.Identity、OPT)。
                transaction.Commit();
CopyEventHandlerは以下を達成するためにIDuplicateTypeNamesHandlerインタフェース、インタフェースから継承されました:
    パブリック クラスCopyEventHandler:IDuplicateTypeNamesHandler 
    { 
        公共DuplicateTypeAction OnDuplicateTypeNamesFound(DuplicateTypeNamesHandlerArgs引数)
        { 
            戻りDuplicateTypeAction.UseDestinationTypes。
        } 
    }
列挙型であるDuplicateTypeActionは、二つのオプションのUseDestinationTypesや中止があります。
前者は、これは間違いではない、操作を中断したRevitを伝えることです我々が必要とする操作です。

テストの後、ポップは、再び起こる取得されていません。
類似した他のポップ、限り、我々は意思決定を行うために、コードでRevitのを助けるように、それは我々がどのように依頼するポップアップしなくなり、エラーと警告がブロガーを介して送信されてきたポップそれを見つけるためにインターフェースに対応、私はここでそれらを繰り返すことはしません。

おすすめ

転載: www.cnblogs.com/FireFlyWings/p/11493348.html