I do use multibodies in a single part to model separate components ... judiciously.
For instance, I am working on a make-or-break project for a new company right now, and because of the schedule and budget I concluded that I could not ethically or responsibly consider working this project any other way.
Here are the rules that I use to decide whether to do master-model/multi-body based on its impact to the delivery time and overall editability/flexibility/usefulness of the dataset.
- I only model multiple components in a single part when those components are so intimately intertwined that in-context is a terribly complicated or unworkable option.
Two metal plates that relate to one another? (or other simple shapes, like the elements of the wood furniture I've been working on for myself) - go in-context.
Components of a more elaborate product that, on analysis, still have only a few relations to each other? - go in-context.
Multiple components of a molded or cast product that require dozens (and dozens and dozens...) of relations to each other - multi-body. On my current project, I am using a mix. Some in-context, some master-model. It depends on the component and where I feel its best to have the features that make it.
- Use multi-bodies if the relations are handled best with a sense of 'history'. In-context refs are always to the final state of the referenced model after it has been rebuilt.
Most folks with experience know to make in-context refs to things that can't be changed by subsequent features - sketches and planes (we learn that edges and faces can be fouled by fillets, split lines, drafts, etc) But sometimes its such a spiders web of stuff that its best to deal with refs via a linear feature tree that you can absolutely and intuitively control, which is what multi-body master models affords you.
- Use 'Master model' only until the refs between components are established, then finish the parts in the offspring.
I want to keep the rebuild time of the master model as short as possible - its too much stupid overhead to have all the drafts, fillets, etc. required to finish components in the master model because then all the other components also have to rebuild it (then discard it!) to find out what they look like.
I also have engineers who want dims in models so they can work with them and ultimately insert them into the drawing. Dims from the master model don't transfer to the child parts - dims in the child parts are there for everyone to use. I put as many CTF (critical to function) dims into the child parts as possible so they are available for the engineers/drawing.
- I may be tempted to do a fast, down-and-dirty assembly as a master model instead just to get a concept out. Heck, if we are presenting a concept, there is a really good chance it will change as we develop it, and an excellent chance that it will be discarded altogether (if we present five concepts and they pick on, that's an 80% rejection rate) But even so, if I suspect it might go further, I will be careful and start to apply the above rules. That's a decision made from job-to-job based on economics, experience, hunches, a little voodoo, etc. And, of course, I have learned from experience that if it goes to the next level, it saves time and money to rebuild stuff in separate part files * that really needs to be in separate part files * instead of trying to keep the master model when it is not consistent with the above rules (pennywise/pound-foolish).
and... oh, I bet I missed a few other good rules.
Post script: It was odd to hear you say that the SWx establishment is opposed to multi-body modeling. I thought that the establishment was moving towards multi-body modeling - there are multiple, distinct ways of doing it (if it wasn't supported, they wouldn't' keep coming up with ways to pass bodies onto new parts, like split, RMB save body to new part, insert part, etc) there are features/modeling techniques like 'weldments' that rely on it, and at SWx word I've seen sessions by SWx employees that unapologetically demonstrate it. Thanks for clarifying that it was your VAR and community college instructor. In Concord, I know that it is considered to be a very important part of SWx.
It would be good if those folks gave you the context for their opinions or let you know what informed their opinions. There are a lot of really good reasons not to use it - its 'seeming' convenience is not justification.
- There are important stability/recoverability issues. Hint-use insert part to make your child parts < used to be called insert base part> because it is always recoverable (though you can use anything if you are really clever and dedicated, like matt, who can make anything work.) Split part where you save bodies out has a lot of KNOWN PROBLEMS (hint), same with RMB save body to new part. Example - I had a client in last week whose file had gone FUBAR because of that last one, and we had to use 'insert part' in the child part to save it.
- There is a big file-management negative (how does a file management system deal with a part model that doesn't actually get a part number, because it is the parent of a number of other parts? Boy, I have run into issues about that with customers)
- There is an education/responsibility issue. If you work with someone who isn't familiar with it, they can easily (and innocently) screw everything up.
- There is an overhead issue - if the assembly is initially modeled in a single part, each component essentially carries the rebuild time of all of the other parts of the assembly (again, depending on how you do it)
- Then there is lots of stuff that matt mentioned - drawings being a big one, sheetmetal being one I don't recall being mentioned (no multi-bodies in sheetmetal). I could go on at length. (and did, to some extent, at last SWx world - files on our site)
If someone tells you not to do something, I would hope they would also take the time to tell you why.