This post aims to get some feedback on an idea for a tool to assist in improving project performance. First, rest assured there are continual efforts to improve machine performance. Despite this we often receive models that have specific issues that can be fixed or modeled in an alternative way that mitigates the problem. Sometimes the results are dramatic. There is also a wealth of existing knowledge out there on how to improve performance that could be captured and shared.
Imagine then an audit tool that can run on demand against a project file.
The tool would iterate through the Revit project and report on conditions that exist within a file that are known to harm file performance:
Some sample items that it could report on (not comprehensive):
- Families
- Large in size (Too many elements modeled)
- Complex with many nested un-used Instances. (Suggest purge of the family or breaking it out into separate families.)
- Duplicate instances in the same place
- Unused families or types in project
- Views
- Disabled clipping. (Enabling clipping can exclude extra geometry from view calculations.)
- Sketch
- Multiple non overlapping loops create to many dependencies
- Excessively large sketch (number of lines)
- Walls:
- Host too many inserts. (Suggest splitting into smaller walls or using stacked walls)
- Overlapping walls
- Import/Links
- Missing external files
- Imports shown in perpendicular view directions (Many lines seen on end). view specificness.
A report would be generated that allows you to quickly review items and the extent to which they are present. Each report item will state a problem, why it is a problem, scope, and suggest a mitigation based on best known practices. The last item might take the form of a link to help documentation, tutorials or on-line references.
Any thoughts on such a tool? Even if known issues are eventually addressed through redesign I feel something like this could help people get a handle on potential issues in the interim. While we are at it feel free to post any best practices that might be a good candidate for reportable criteria. I am starting a collection.
_erik
Reportable criteria: Coarse/Medium/Fine. If an object is modeled to a "fine" level of detail, the report could suggest adding Coarse and Medium levels of Detail. Would be cool to have some kind of a "shrink wrap" function which could auto-magically dumb down complex detail into a more coarse level.
Posted by: Scott D Davis | October 14, 2009 at 04:35 PM
Where's the spell checker for comments? Or an Edit button. :-) That should have said "shrink wrap".
Posted by: Scott D Davis | October 14, 2009 at 04:36 PM
This is a wonderful idea,imo.
Just to add to imports/links -- being able to find/delete (regardless of view orientation)at our choosing would be great. Running that kind of audit in a large file with inexperienced users pulling in dwgs all day is extremely cumbersome, as it is now.
Posted by: Donnie | October 14, 2009 at 04:59 PM
Scott. I am your spell checker. Fixed. : )
Posted by: Anthony Hauck | October 14, 2009 at 05:07 PM
Build it and I will use it! Sent you a sample report...via email.
Posted by: Steve Stafford | October 14, 2009 at 05:34 PM
Already doing this using Solibri
Can check most of what you list and more.
We routinly check for
Overlapping geometry of any sort
Objects with too many attachments (I think it will pick up on the inserts, I will have to look at the rule)
Also gives object counts duplicates and we then compare it to the Revit database using SQL to find unused items.
We are also developing rules to check counts of certain items that can tell us the overall level of completeness of the model.
I agree with this track, but people should look at the existing solutions. They work.
Posted by: Chris Hubbard | October 14, 2009 at 06:10 PM
Nice. Do you have any examples of gains after you audited and fixed a file?
Posted by: Anthony Hauck | October 14, 2009 at 06:51 PM
Looking for too many instances/types of in-place families with similar names would be helpful.
There's a number of items that I currently search for in schedules, but then much of it is a manual process. This would be a good learning tool for new users if there was a reporting mechanism with explanations as to why a particular modeling technique is more efficient. If you make it too robust, consultants may not like you anymore. ;)
Posted by: Sean Burke | October 14, 2009 at 07:00 PM
Erik,
We search for many items in our QC check including hosting errors, room bounding(all four sides) duplicates and general clashes. So its a little hard to say our model performs better. However we perform better as a team because the errors get caught and removed often.
I saw another presentation by Ashen + Allen on how they are exporting large amounts of data to Excel and using in house algorithems to analyze their data for QC and completeness. They wont tell me what the algorithms are just show me the resulting data and graphs.
This is something we are working heavily on to try and improve the self checking ability of models both from a BIM and Architecture POV
Posted by: Chris Hubbard | October 14, 2009 at 07:26 PM
Sounds useful, but wonder if should be part of Revit or a stand-alone tool (or both) that can interrogate multiple projects and report on them. Each of our "projects" is 3 or 4 Revit files, x 85 facilities x how many times to do this...
(If Scott is on IE check out iespell)
Posted by: RobiNZ | October 14, 2009 at 09:35 PM
I would use this tool every day. Most of all, to show my users where they can improve on their revit knowledge and modeling technique.
Posted by: troels olsen | October 15, 2009 at 02:13 AM
I think in theory it would be a nice tool. I think in practice it would be fairly useless. I dont mean that as a slam, but here is why:
*WHOS* criteria is such an audit being run against?
Case in point: The new autodesk Family Modeling Guide advocates not using more than one level of Nested Family. Have you tried to build a parametric radial ANYTHING in Revit with only one level of nested family?
Thats one example, but a LOT of things that are *Autodesk recommended best practices for performance* are total nightmares in the field.
Only a few come to mind unless i sit and pour through the Modeling guids from autodesk, but these come to mind:
1. Advising against Nested Families.
2. Advising against grouped and associated arrays
3. Advising that worksets be set to not visible by default in views.
4. Advising against Linked Files
Some of the other things you mention seem like they would be very worthwhile, but my concern is that without an EXTENSIVE vetting process, who and by what criteria discerns what is acceptable?
That pertains to:
1. Floor sketches. Its complex? That’s because the floor is complex!
2. Wall has a lot of hosted elements, consider breaking it up. No!!! See, the BEAUTY of revit is we model things the way theyre built. If its one wall, im modeling it as one wall. Even if i DID split it up, then id constrain them. Would that really be better?
3. Family has too much stuff modeled. This one is a MASSIVE gray area. What gets modeled versus what gets represented is VERY dependant on the firm, the job, the project, the client, and the strategy.
******
Dont get me wrong, i think the CONCEPT of the tool is interesting. But if it CAN do THAT, i think such an inquiry or audit can be put to MUCH better use. For instance:
Youve made such advancements in Linked Files that many offices (myself included) now use them extensively. But managing content (Both component families and system families) across Linked Files is a giant nightmare. If you have the power in this new tool, to go in and query a family called "Door1", then you have the power to compare "Door1" in one file to "Door1" in another, and report back.
The compare Models extension doesnt count, its not practical for such an application, but such an application is in DIRE need. Model groups, walls, doors, floors, materials (Notes???) all need to stay consistant for good QC. The POTENTIAL of the capabilities you suggest is amazing.
Again: Copy Monitor. If you have the ability to query a family and find out how many items are modeled in it specifically, AND how many nested families are in it, then i HAVE TO BELIEVE you can query that family to find the exact OPENING object. If you can do THAT, can we use this potential to fix the way CM handles wall hosted openings / doors / windows?
Ive got more, but I have to leave the office, LOL
Posted by: Aaron | October 15, 2009 at 05:10 PM
I love the longer comments. Such a wealth of information. The points raised are very good. Some criteria is more obvious but others are gray areas. What I envision is just a mechanism that reports on the criteria but the decision on what to do is up to you. I also think it could be expanded or simplified as the product evolves and designs out certain items that are current issues. You post also points to a possible need to configure the mechanism to set the thresholds or ignore certain items.
Posted by: Anthony Hauck | October 15, 2009 at 05:20 PM
Aaron,
I hate to be a salesman for any software but if you read my post above, you will see that the external model checkers are able to adjust what is checked.
I dug in the rules a bit today to see if we could catch some of the items Erik was looking at for perfromance hits.
It looks large families, complex sketches, large links overlapped walls and duplicate instances are all checkable in Solibri. Some of the other items like unused families and unused nested instances would not be caught because they would not export. I am updating our ruleset to see if we can automate any of these. BTW Export takes about 5-10 minutes on a medium model, check takes about 30 but is automated. We do it at lunch or end of day.
Posted by: Chris Hubbard | October 15, 2009 at 07:24 PM
Chris- I am far from one of the people against using external tools for such a thing, but the fact remains: Using an external tool is likened to the problem i mentioned of "it tells you whats wrong but you cant do much about it at that point." Solibri telling me that wall type 45 is different in six models is great... Provided i have the knowledge base in revit to fix it. But if i dont understand why that happened when i copied the wall 5 times, all it is is a letter of demarcation, with no forward progress.
If they have the capabilities to check "Item 1" in one model against "Item 2" in another model, thats HUGE!! BTW, kudos to the factory, becuase the underlying foundation of this tool sounds like they HAVE that capability. Imagine it that asking "Which one would you like to populate the models with?" much the same way it asks if it would "Overwrite" or "Load new types only" when you drop the hammer on loading 40 families in to a model...
But instead of worrying about overly complex families, id rather worry about things that can affect the PROJECT as a whole, not just the revit model. CONTENT management is a HUGE use of this tool.
Theyre talking about being able to compare objects, basically. Or query objects based on varying criterion. Think back to all the things we as users have asked for over the years:
1. Capabilities to compare LOADED families with LIBRARY families.
2. Compare loaded content in model 1 with loaded content in model 2. (FYI- i have a projec that is 6 models linked together... Keeping consistancy in WALL TYPES with embedded wall sweeps, materials, stacked walls, etc... STINKS!)
3. Compare views imported-from-file, with views in standard libraries.
I am *all for* the AUDIT tool. I just think its being looked at on a micro lieve, a-la "how can we best serve the revit model," when the potential is there to say (macro level) how can this best serve the ARCHITECTURE that Revit is doing.
THAT, would- plain and simple- blow my mind. :)
Posted by: Aaron | October 16, 2009 at 02:31 PM
Can I have such a tool tomorrow? Got 2 really large projects to advice and audit this week...
Posted by: Matthew Pettengell | October 19, 2009 at 04:51 AM
Aaron,
I agree that the model checkers are like the thrid party spell checkers we had 15 years ago and were replaced by the internal check and fix spell checkers we have today. I think BIM software needs to progress to that point but I question the internal engine with "Jack of all Trades, Master of None." We are seeing this with the clash detection now, no BIM software has adequete clash detection despite all three having it for over 3 years. We still need 3rd party for that.
I think we will need the external checkers due to the complexity of the problem, what I hope for is the ability to "round trip" the data so the checker can "Flag" the incorrect items for manual correction. Only after I throughly trust the checker would I allow it to begin replacing the problems. There are too many issues that could occur. Look at the structural analysis right now. Most engineers have a healty distrust of the software because it does a poor job of documenting the changes. Incorporating it into the BIM did not help that either.
Till we fully trust the programmers to become architects and engineers and contractors I think we need human intervention and external software lest we take a half baked approach. (I will preface the last statement with,"I have not seen any checking solutions from ADESK so I am speculating based on past experience."
Posted by: Chris Hubbard | October 19, 2009 at 12:16 PM
There was a plugin similar to this called BIMReview created by Avatech, but I heard it was bought up by Autodesk. It may not have all the features depicted here, but the philosophy was the same. Editing could all be done through the model checker. Hopefully, these ideas get regurgitated by Autodesk and implemented directly into Revit with trhese additional features.
Posted by: Greg Hale | October 19, 2009 at 03:19 PM
I spoke too soon. It looks like these elements are part of Autodesk Revit Model Review available today (10/21) as a plugin/download to subscription customers. I believe this is the resurfacing of BIMReview and it looks like some of these items are covered in this plugin. Am I right?
Posted by: Greg Hale | October 21, 2009 at 04:53 PM