数年前、私は要素のリストを現在の選択に変換する方法を模索していました(「レベルへのコピー」または「現在のビューへのコピー」に使用する)。ユーザーは、Revitののフィルタに組み込まれてのように、複数の家族の名前/種類だけではなく、「構造フレーム(桁)」を選択することができる「スマートフィルタ」から-program先の解決策がもう役に立たない
ソリューションがされていた:。
SelElementSet SelSet = uiDoc.Selection.Elements;
SelSet.Add(Element1);
SelSet.Remove(Element2);
問題は、これはもはやRevit 2016(+)では動作していないようです。これらの行でコードを実行すると、プログラム終了エラーが発生します:
"RevitでSystem.MissingMethodExceptionが発生しました:Autodesk.Revit.UI.Selection.SelElementSet Autodesk.Revit.UI.Selection.Selection.get_Elements();" ( "SelElementSet SelSet = uiDoc.Selection.Elements 「
私は
Selection All_Guys = uiDoc.Selection;
を使用して現在の選択を取得する()私のプログラムの開始時にできていますし、このことから、私が使用してに基づいて、などのIListまたはリストにすべてを変換することができます).get_Elementsを呼び出し特定のカテゴリ/ファミリ名/ファミリタイプを削除するためのツリーノード。しかし、私はこれをすべて現在の選択に戻すことができるようにする必要があります(うまくいけば、SelSet.Remove(Element2)を使用してフィルタリングと一致しない要素を探します)、SelElementSetを使用するたびに、 。
2014年9月に私は同様の質問をしました。このサイトには、既に答えられているように質問を表示するのが嫌なパワフルな仲裁人がいることはわかっています。これは「以前の回答はもう機能しません」というカテゴリの下にあります。質問をもっと慎重に読んでください、あなたが力を持っているからといってそれを投げ捨てないでください。