Reloading multiple family types

Reloading multiple family types

L.Maas
Mentor Mentor
1,768 Views
11 Replies
Message 1 of 12

Reloading multiple family types

L.Maas
Mentor
Mentor

I am working on a function that reloads family types with overwrite parameters.

 

At the moment I am reloading each family type separately.

doc.LoadFamilySymbol(filename:=famPath, name:=FamSymbol.Name, familyLoadOptions:=loadOps, symbol:=ReloadFamily)

This often results in multiple times reloading the same family. I have considered to reload the whole family and then delete the unnecessary family types. However several of the families are quite large (over 250 types) while only 3-5 types needed in the project resulting in long loading times.

 

In the GUI you can reload a family, with a type catalog, select several types in the type catalog window and then have those reloaded with overwrite parameters.

Can we do this, reloading multiple types at once, with the API or is it a matter of reloading each type separately?

 

Louis

EESignature

Please mention Revit version, especially when uploading Revit files.

0 Likes
1,769 Views
11 Replies
Replies (11)
Message 2 of 12

jeremytammik
Autodesk
Autodesk

Dear Louis,

 

Thank you for your query.

 

I am checking with the development team for you.

 

Cheers,

 

Jeremy



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

0 Likes
Message 3 of 12

L.Maas
Mentor
Mentor

Jeremy,

 

Was wondering if you did manage to get an answer from the development team?

 

Regards,

 

Louis

Louis

EESignature

Please mention Revit version, especially when uploading Revit files.

0 Likes
Message 4 of 12

jeremytammik
Autodesk
Autodesk

Dear Louis,

Thank you for your update and sorry for the delay.

I have not heard anything at all back from the development team on this yet.

 

I re-prompted them for an answer.

Cheers,

Jeremy



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

Message 5 of 12

jeremytammik
Autodesk
Autodesk

Dear Louis,

 

Thank you for your patience.

 

I heard back from the development team.

 

Unfortunately, this functionality is currently not available.

 

We have an existing change request number REVIT-68222 [As Revit API user, i need ability to load more than one symbols via LoadFamilySymbol(String, String) method.] for this issue, which will require exploration and possibly a modification to our software. Please make a note of this number for future reference. I have added a note of your request to this item in order to make the development team aware of its importance.

 

You are welcome to request an update on the status of this issue or to provide additional information on it at any time quoting this change request number.

 

This issue is important to me. What can I do to help?

 

This issue needs to be assessed by our engineering team, and prioritised against all of the other outstanding change requests. Any information that you can provide to influence this assessment will help. Please provide the following where possible:

 

  • Impact on your application and/or your development.
  • The number of users affected.
  • The potential revenue impact to you.
  • The potential revenue impact to Autodesk.
  • Realistic timescale over which a fix would help you.
  • In the case of a request for a new feature or a feature enhancement, please also provide detailed Use cases for the workflows that this change would address.

 

This information is extremely important. Our engineering team have limited resources, and so must focus their efforts on the highest impact items. We do understand that this will cause you delays and affect your development planning, and we appreciate your cooperation and patience.

 

Cheers,

 

Jeremy



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

0 Likes
Message 6 of 12

L.Maas
Mentor
Mentor

Jeremy,

 

Thanks for answering my question.

 

Some answers to your questions

-Impact is that reloading the same family multiple times slows down operation of the add-in, loading family once and then getting multiple types would be (much) faster.

-Number of affected users in my company is limited (<10).

-No major revenue impact, little bit time lost every time this functions runs (minutes).

-Function is not a showstopper. So a fix on short term wished for but not needed.

-I can imagine that reloading family types is a common used operation and used in many add-ins worldwide.

The more family types have to be reloaded the bigger hit on execution time. This function is available through the GUI (reload from families with type catalogs) where you can select the family types to be reloaded. The add-in might seem slow in comparison to the GUI.

 

In our case, as an example, we reload 10 family types from a single family with over 250 family types. The family is relative large and loading it ten times is time consuming. With several of these families time 'waisted' will start to add up.

 

Hope these answers helps you.

Louis

EESignature

Please mention Revit version, especially when uploading Revit files.

Message 7 of 12

jeremytammik
Autodesk
Autodesk

Dear Louis,

Thank you for your update, background info and business case.

I added your input to the change request number REVIT-68222 [As Revit API user, i need ability to load more than one symbols via LoadFamilySymbol(String, String) method.] to make the development team aware of its importance.

Cheers,

Jeremy



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

Message 8 of 12

Anonymous
Not applicable
Thank you Jeremy. I"m having the same issue when trying to update my structural steel framing type against an Etabs model. I need to load the new wide flange family symbol. Revit is taking a long time because it load it multiple times. I will stay tuned to hear what happens.
0 Likes
Message 9 of 12

jeremytammik
Autodesk
Autodesk

Dear Danny,

 

Thank you for your note.

 

I don't understand exactly. You mention loading "the new wide flange family symbol". That should be one call to load the family with all its symbols. You say "loads it multiple times". Why?

 

The change request REVIT-68222 [As Revit API user, i need ability to load more than one symbols via LoadFamilySymbol(String, String) method.] we discuss above is for the case when you have a large family definition containing many types and you wish to load a small subset, but significantly more than one.

 

The single symbol and all symbol cases are already covered.

 

From your description, I do not see how this affects you at all.

 

You sound as if you would like to prevent Revit from loading one or all symbols multiple times.

 

And so you should.

 

Please clarify.

 

Cheers,

 

Jeremy



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

0 Likes
Message 10 of 12

Anonymous
Not applicable

Hello Jeremey,

 

I hope you had a nice weekend.

 

I will try my best to explain what sometimes is a bit complex.  I’m comparing elements by location and shape from outside analysis software to Revit then changing its type if the shape don't match.  If the size doesn’t exist in my project I go to my library and load it from the catalog.  The element types often repeats for example: W14x22, W16x26, W18x35, W14x22.  The LoadFamilySymbol(String, String) loads the W14x22 twice.  I can’t seem to have Revit refresh and understand that it has already loaded the W14x22. 

 

It’s early in my development and I haven’t tried many solutions. I’ve been doing some research and ran across this post.  This might not be the same issue since Enllnt is trying to reload multiple families and I’m trying to load multiple families.

 

I’m using an example posted earlier on your blog of loading the family and then rolling it back and loading the type.  One solution I may try would be to build an array of all sizes. Then eliminate duplicates and just load family types that aren’t found before changing the family type using the LoadFamilySymbol(String, String) in my method.  

 

Here is the earlier post I'm using:

http://thebuildingcoder.typepad.com/blog/2011/05/loading-only-selected-family-types.html 

 

Thank you 

 

Danny. 

Message 11 of 12

trevor.taylor
Enthusiast
Enthusiast

I was recently updating an addin that uses this API feature. Currently, loading a family with multiple types from a type catalog causes the family to reload with each type (unless I'm missing something.) Can we get an update on the status of this feature? 

 

Thanks!

Message 12 of 12

jeremy_tammik
Alumni
Alumni

Dear Trevor,

 

Thank you for the update. I added your query to the development ticket REVIT-68222 [As Revit API user, i need ability to load more than one symbols via LoadFamilySymbol(String, String) method] and raised its priority to make the development team aware of this need.

 

Cheers,

 

Jeremy

  

Jeremy Tammik Developer Advocacy and Support + The Building Coder + Autodesk Developer Network + ADN Open
0 Likes