关联"可见" FamilyParameter

时间:2017-08-11 12:45:46

标签: c# revit-api

我正在编写代码来创建一个可变的行网格(不同数量的列或行)。我想要"可见"与特定FamilyParameter关联的每一行的参数。

switch (One_Param_Name)
{
    case "Use 2 Rows": { Part_Formula = "Rows = 2)"; break; }
    case "Use 3 Rows": { Part_Formula = "Rows = 3)"; break; }
    case "Use 4 Rows": { Part_Formula = "Rows = 4)"; break; }
    case "Use 5 Rows": { Part_Formula = "Rows = 5)"; break; }
    case "Use 6 Rows": { Part_Formula = "Rows = 6)"; break; }
    case "Use 2 Columns": { Part_Formula = "Columns = 2)"; break; }
    case "Use 3 Columns": { Part_Formula = "Columns = 3)"; break; }
    case "Use 4 Columns": { Part_Formula = "Columns = 4)"; break; }
    case "Use 5 Columns": { Part_Formula = "Columns = 5)"; break; }
    case "Use 6 Columns": { Part_Formula = "Columns = 6)"; break; }
    case "Use 7 Columns": { Part_Formula = "Columns = 7)"; break; }
    case "Use 8 Columns": { Part_Formula = "Columns = 8)"; break; }
    case "Use 9 Columns": { Part_Formula = "Columns = 9)"; break; }
    case "Use 10 Columns": { Part_Formula = "Columns = 10)"; break; }
}
FamilyParameter New_Param = Familial.AddParameter(One_Param_Name, Groupie, ParameterType.YesNo, true);
string ParamFormula = "and(Show Grid, Number Of " + Part_Formula;
if (!One_Param_Name.Equals("Show Grid"))
{
    Familial.SetFormula(New_Param, ParamFormula);
}
else
{
    Familial.Set(New_Param, 0);
}

以前在代码中,我已经定义了整数参数" Number Of Columns"和"行数"。此代码有效地创建了可变数量的YesNo参数,这些参数由公式控制,表示"如果要显示网格,列数为7,则将参数设置为true"。

但是,现在,我想将我家族中各行的可见性设置为适当的参数(您可以在属性中执行," ="(关联族参数)。找到了参数方法.AssociateWithGlobalParameter(gpid),如果这些是全局的,我可以使用它,但参数是FamilyParameter,并且没有类似的.AssociateWithFamilyParameter(fpid)方法。

是否有人知道将族元素的可见性参数(或其他可关联参数)与FamilyParameter相关联的方法(如果有的话)?

注意:答案是将FamilyManager与Element.Parameters结合使用。首先,你必须找到元素"可见"参数。确定所需的FamilyParameter(字符串列表中的IndexOf?)。然后:

FM.AssociateElementParameterToFamilyParameter(VisibleParam,FamilyParam);

0 个答案:

没有答案