Revit API

Reply
Active Member
ricobano
Posts: 7
Registered: ‎06-28-2011
Message 1 of 4 (295 Views)

Filter selection of elements by family

295 Views, 3 Replies
06-30-2011 02:36 AM

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?

Mentor
ollikat
Posts: 162
Registered: ‎04-01-2011
Message 2 of 4 (283 Views)

Re: Filter selection of elements by family

06-30-2011 05:16 AM in reply to: ricobano

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::smileyfrustrated:ymbol and furthermore family with FamilySymbol::Family

3. If family element ID is same than timber family's ID, you got your element ;-)

Active Member
ricobano
Posts: 7
Registered: ‎06-28-2011
Message 3 of 4 (279 Views)

Re: Filter selection of elements by family

06-30-2011 06:42 AM in reply to: ollikat

Thanks Any chance of some code.  Im all new to autodesk

Mentor
ollikat
Posts: 162
Registered: ‎04-01-2011
Message 4 of 4 (249 Views)

Re: Filter selection of elements by family

06-30-2011 11:08 PM in reply to: ricobano

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^)
    {
      ;
    }

 

Post to the Community

Have questions about Autodesk products? Ask the community.

New Post
Need installation help?

Start with some of our most frequented solutions or visit the Installation and Licensing Forum to get help installing your software.