集計のために一連のモデル要素を関連付けるために使用するパラメータを追加するために、いくつかの Revit 梁および柱ファミリを修正しました。上司から、そのパラメーターの名前を変更するように依頼されました (彼が最初に提案した名前から)。
このパラメータはインスタンス パラメータであり、共有パラメータではないことに注意してください。
ここで、プログラムで 2 つのことを行いたいと考えています。最初に、そのパラメーターが新しい名前に使用されるたびに名前を変更したいと考えています。次に、そのパラメータ(新しい名前)が他の梁/柱ファミリで定義されていない場合は、これらのファミリに追加したいと思います。
次のようないくつかの方法をオンラインで調べました。
BindingMap All_Binding = doc.ParameterBindings;
DefinitionBindingMapIterator Iterator = All_Binding.ForwardIterator();
Iterator.Reset(); List<string> BindingList = new List<string>();
while (Iterator.MoveNext())
{
Definition def = Iterator.Key;
ElementBinding Binders = (ElementBinding)Iterator.Current;
BindingList.Add(def.Name);
}
BindingList.Sort();
これにより、プロジェクトで使用可能な共有パラメータのリストが返されます。
FamilyManager についても調査しましたが、十分に文書化されていません。私は試した:
doc.FamilyManager.RenameParameter(FamilyParameter ***** , "Label Group") ですが、FamilyManager オプションは十分に文書化されていません (リストされている「FamilyParameter」が「.rfa」内で定義されたパラメーターと一致するかどうかさえわかりません)ファイル、または完全に別のもの)。ElementName.Parameters に関連付けられたパラメーターを FamilyParameter *******として配置しようとしましたが、Visual Studio は間違った型を表示し、「ファミリー パラメーターとして」追加しようとすると、「パラメーターを暗黙的に FamilyParameter に変換できません」と表示されます。
すでにプロジェクトにあるファミリのパラメータを追加または名前変更する方法について、誰かが私に指針を提供できますか?