Dynamo :: 特定のカテゴリ以外を非表示にする
今回は、DynamoでRevitの[表示/グラフィックス設定の上書き]の[モデル カテゴリ]設定を上書きして、指定したカテゴリ以外を非表示にするということをやってみました。
レシピ
レシピは以上の通りです。一部パッケージのClockworkを使用しています。
では手順について説明します。
1.ビューを指定
まずは、[Views]ノードで設定したいビューを指定します。
2.非表示にするカテゴリのリストを作成
次に表示させておくカテゴリを[Categories]ノードで選択し、複数ある場合は[List.Join]ノードで一つのリストにまとめます。
Clockworkパッケージの[BuiltInCategories]ノードで、全てのカテゴリを読み込み、[SetDifference]ノードで選んだカテゴリ以外が残るリストを作成します。
上書き設定
今回はデフォルトのままですが、必要に応じて上書き設定を[ByProperties]ノードで行います。
非表示設定
ここではカテゴリを非表示にするので、ブール値の[true]を入力します。
上書き実行
[SetCategoryOverrides]ノードに、ここまでに作成したノードを繋ぐと上書きを実行できます。
Dynamoを実行すると、
↓
↓
↓
このように指定したカテゴリ以外を非表示にできました。
終わりに
いかがでしたか。
ここでは一つのビューのみをコントロールしましたが、複数のビューを同時に設定したいシチュエーションなどに使えそうですね。
ぜひお試しください。
使用した主なノード
- [SetCategoryOverrides] (Revit > Views > View > SetCategoryOverrides)
- [Views] (Revit > Selection > Views)
- [Categories] (Revit > Selection > Categories)
- [BuiltInCategories] (Clockwork > Revit > Document > Document > BuiltInCategories)
- [ByProperties] (Revit > Filter > OverrideGraphicSettings > ByProperties)