ส่วนแรกคือการ Select Object ตอนนี้ จะไม่สามารถ ได้ Element โดยตรง ต้องเป็น ElementId (อันนี้ดี จะได้เป็น ระบบหน่อย)
การเลือกในปัจจุบัน
ICollection<ElementId> collectionIds = uidoc.Selection.GetElementIds();
List<Element> founds = new List<Element>();
foreach (ElementId eid2 in collectionIds)
{
try
{
Element e2 = doc.GetElement(eid2);
founds.Add(e2);
}
catch { }
}
founds จะเป็น Array ของ Element อีกที
กรณี ต้องการ แสดง ตัวที่เลือกบนจอ เพื่อให้ Properties ทำงาน แสดงค่า Element นั้น
ต้องใช้เป็น SetElementIds( ..)
ICollection<ElementId> sIds = uidoc.Selection.GetElementIds();
sIds.Clear();
sIds.Add(showElement.Id);
uidoc.Selection.SetElementIds(sIds);
สำหรับ Parameter การอ่านค่าจะอณุญาติ ให้ 1 Parameter มี มากกว่า 1 ค่า
IList <Parameter> l4s = (Parameter)e1.GetParameters("Base Level");
ถ้ามีตัวเดียว ให้เลือก l4s.First();
กรณีเลือกทั้งหมด ใช้วิธี Filter
กรณีเลือกทั้งหมด ใช้วิธี Filter
FilteredElementCollector collector
= new FilteredElementCollector(doc)
.WhereElementIsNotElementType();
foreach (Element e in collector)
{
// do something
}