2017-08-11 27 views
0

我正在編寫代碼以創建可變的網格線(不同數量的列或行)。我希望每行的「可見」參數與特定的FamilyParameter相關聯。將家族元素的「可見」參數與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); 
} 

以前在代碼中,我定義了整數參數「列數」和「行數」。這段代碼有效地創建了一個可變數量的YesNo參數,這些參數由公式控制,這些公式由「如果要顯示網格,列數爲7,將參數設置爲true」公式來控制。但是,現在,我想將我家族中各行的可見性設置爲相應的參數(您可以在屬性中執行「=」(Associate Family Parameter)。我已經找到了參數方法.AssociateWithGlobalParameter(gpid),我可以使用如果這些是全局的,但參數是FamilyParameter,並且沒有類似的.AssociateWithFamilyParameter(fpid)方法。

有沒有人知道要關聯的方法(如果有的話) FamilyParameter的家庭元素的可見性參數(或其他可關聯的參數)?

注意:答案是將FamilyManager與Element.Parameters一起使用。首先,您必須找到元素的「可見」參數。確定你想要哪個FamilyParameter(IndexOf在一個字符串列表中?)。然後:

FM.AssociateElementParameterToFamilyParameter(VisibleParam,FamilyParam); 
+0

傑里米的答案提供了必要的信息,並進行了一些調查。請注意,AssociateElementParameterToFamilyParameter是通過FamilyManager ... FM.AssociateElementToFamilyParameter(Element.Parameter,FamilyParameter)訪問的,而AssociateWithGlobalParameter是通過Element.Parameters訪問的屬性。一旦你可以識別這兩個參數,這個效果很好。 – KeachyPeenReturns

回答