「FamilyInstance.GetHost」を使用することで、ドアのホストとなっている壁を取得することができます。
下図では「All Elements of Category」でPJにあるすべてのドアを取得し、「FamilyInstance.GetHost」でそのホストとなっている壁を取得しています。
このホスト関係を活用すれば、防火扉のホストが防火壁となっているかを、dynamoでチェックすることができます。(ネーミングルール等で防火扉と防火壁を判別できるようにしていることが前提です。)
例外的に、防火壁がホストになっていないことがあります。(竪穴周り等)
その時は、「Element.BoundingBox」と「BoundingBox.Intersects」を使用し、防火壁と干渉しているかチェックが良いと思います。
「Element.BoundingBox」…要素の周りに四角形のboxを配置
「BoundingBox.Intersects」…そのbox同士が干渉しているか判定
他にも活用法がありそうですので、ぜひ試してみて下さい。
0 件のコメント:
コメントを投稿