Hi guys i need to filter the selected elements by family. We have a timber beam family and i need to modify only selected elements that are part of the timber family.
Any ideas?
First solution that came to my mind:
Go trough all you elements in selection and...
1. First of all accept only those which can be casted to FamilyInstance(s).
2. Get the family symbol with FamilyInstance::Symbol and furthermore family with FamilySymbol::Family
3. If family element ID is same than timber family's ID, you got your element 😉
This is just quick sample I wrote (C++ CLI)...not even tested that it compiles. If you are using C#, you have to figure out your self how to convert syntax 😉
List<Element^> timberElems; for each (Element ^elem in ActiveUIDocument->Selection->Elements) { try { FamilyInstance ^fInst = safe_cast<>(elem); Family ^selFam = fInst->Symbol->Family; if (selFam->Id->IntegerValue == timberFam->Id->IntegerValue) timberElems.Add(elem); } catch (InvalidCastException^) { ; }
Can't find what you're looking for? Ask the community or share your knowledge.