cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Extra option "owner only" for Show drawings as children

Extra option "owner only" for Show drawings as children

When the Preference "Show drawings as children" is activated, drawings are shown as children of a 3d model. However, all drawings are shown, also the drawings where the 3d model only is a component. This means that for standard components like screws hundreds of drawings could be shown. Also this makes queries very slow. When i do an "expand all" of a large assy with the preference activated this can take hours or leads to out of memory errors.

Suggestion: introduce an extra option that only shows the drawings where the 3d model is the owner. This gives more usefuil information and drastically reduces query times (in the mentioned example seconds instead of hours!)

2 Comments
Visitor

We implemented this in our Java customizations by overriding the getDisplayChildren method in the model class.  In our implementation, we added a preference flag "Suppresss Child Drawings in which Model is a Component" to control this behavior.  It works in unison with the existing "Show drawings as children" flag.

It does clean up the UI nicely skipping the display of child drawings under a model which is not the owner of the drawing.  However, I don't think it saves any query time (at least in our implementation) because it works by filtering on the standard list of children.  So it does all the querying it used to and adds a bit more querying to check if the parent is owner or component so it can include or not.  It is certainly less taxing on the UI when you do Expand All on a large assembly with lots of drawings (even with the extra querying that happens).  If PTC implemented it deeper by excluding the drawings for which the parent is a component in the original child list query, it might be faster all around.

We also solved it in our java customizations. We added a preference similar to yours "Show drawings as children only for owner". We have overwritten the getDrawings method. In the getDrawings we check for the preference, and choose for our own (faster) query when the preference is enabled. We checked the useage of getDrawings: it doesn't affect other area's.