public static CC_CoreData.Instance[] GetInstances(List <Element> ElementList, Param[] Paramset) { Document currentDoc = ElementList.FirstOrDefault().Document; ProjectInfo info = currentDoc.ProjectInformation; List <CC_CoreData.Instance> instances = new List <CC_CoreData.Instance>(); for (int i = 0; i < ElementList.Count(); i++) { FamilySymbol symb = ElementList[i] as FamilySymbol; Family fam = symb.Family; if (ElementList[i].get_Parameter(ParameterLibrary.ToFile.ID) != null) { Parameter inclparam = ElementList[i].get_Parameter(ParameterLibrary.ToFile.ID); if (inclparam.AsInteger() == 1) { Couplet[] pairs = new Couplet[Paramset.Count()]; for (int j = 0; j < pairs.Count(); j++) { if (ElementList[i].get_Parameter(Paramset[j].ID) != null) { //Couplet pair = ParamEdits.GetParameterValue(Paramset[j], ElementList[i]); //pairs[j] = pair; } else { Couplet pair = new Couplet(Paramset[j], ""); pairs[j] = pair; } } CC_CoreData.Instance e = new CC_CoreData.Instance(pairs); instances.Add(e); } } } return(instances.ToArray()); }
private static CC_CoreData.Instance GetParamValues(Element e, Param[] paramset) { Couplet[] vals = new Couplet[paramset.Count()]; vals[0] = new Couplet(paramset[0], e.get_Parameter(BuiltInParameter.REF_TABLE_ELEM_NAME).AsString()); foreach (Parameter p in e.Parameters) { if (paramset.Any(x => x.ShortName == p.Definition.Name.ToUpper())) { vals[Array.IndexOf(paramset, paramset .Where(x => x.ShortName == p.Definition.Name.ToUpper()).First())] = new Couplet(paramset.Where(x => x.ShortName == p.Definition.Name.ToUpper()).First(), p.AsString()); } else { if (paramset.Any(x => x.AlternateNames.Any(y => y == p.Definition.Name.ToUpper()))) { vals[Array.IndexOf(paramset, paramset .Where(x => x.AlternateNames.Any(y => y == p.Definition.Name.ToUpper())).First())] = new Couplet(paramset.Where(x => x.AlternateNames.Any(y => y == p.Definition.Name.ToUpper())).First(), p.AsString()); } } } return(new CC_CoreData.Instance(vals)); }