Working with linked files brings some advantages on the performances of the computer but it introduces also many coordination issues. Even the same firm can use multiple linked files of the same discipline linked together to split the project into more manageable parts. In that scenario when a component family has to be updated in the geometry and/or the type parameters such as the Type Mark, the Description and so on, it's required the user intervention.
Some operations are really easy to do (for example reload a family), let's say it's just time consuming to open the file, reload and save for each one of the linked files where the family is loaded.
Some others such as filling in the type parameters can be tedious and unfortunately can also introduce coordination errors between the files. This means there's a lot of double checking going on and when there's an issue the user has to manually update the values as many times as the number of the linked files or at least the number of the errors catched by his eye during this process. The basic idea of BIM is to insert data in the model only once and possibly in one place in order to avoid this kind of mistakes.
In the example above I'm demonstrating how it is possible through the API to coordinate two different documents, a source (File1) and a destination document (File2) that share a family (for the sake of the examples it's a furniture family called GEN-1).
In File1 the GEN-1 family has just one type (Type 1) with all the parameters filled correctly, while in File2 the same family has a different shape, has three types but their parameters have to updated. There's also another family GEN-2 with a Type 1 just to show that it's not involved in the process even if it is a furniture component and has the same Type name.
Notice that the macro can be run even with no document opened. What I'm gonna do next is to create a private method that updates the family content for specified categories (doors, windows, furniture, and all system families such as walls and floors) for all the files linked in a source project.
It's something close to the idea of the Transfer Project Standards but extended to external families with the ability to override type parameters too.
After the macro has been launched the files are saved, the definition for GEN-1 is the same for both files (rectangular shape) and only Type 1 has been updated to comply with the source file.
After the macro has been launched the files are saved, the definition for GEN-1 is the same for both files (rectangular shape) and only Type 1 has been updated to comply with the source file.
This is a little step closer to what I believe to be an ideal tool for Revit project management.
Nessun commento:
Posta un commento