Thanks for coming forward.DeepSOIC wrote: ↑Tue Oct 16, 2018 11:16 am I'm actually guilty for this.
I did that essentially because I kept running into it again and again: after finishing one body, I would make a new one, while the old one was selected. Result was unpleasant enough for me to put this nonsense block in the code. I also couldn't come up with any reason why one would base a body on another body, but now it's clear there is a good reason.
I understand your reasoning. This is basically a usability issue, and it's not something easy to decide on. You're "screwed" one way or the other.
I could give you quite a few more reasons why you would want a Body based on another. I'll just give you two here.
Have you happened to check out the PartDesign Bearingholder Tutorial I & II that Jan Rheinlaender wrote 5 years ago when he first programmed the PartDesign changes? For the past year I've been trying to update it because much was changed when his code was salvaged and expanded by you guys. I also wanted it to be more friendly to less experienced users, and introduce them to a more robust modelling work flow using datum planes.
The first tutorial shows how to model a die-cast bearing holder. Die casting being an imprecise process, the holder is modelled bigger for the casting, then there is some machining done on it. Jan made all features inside a single Body, but I just realized that if this was something I needed made for the company I work for, then I'd need to create two separate parts. One is the die-cast part, and the other is the die-cast part after the machining. So two parts, two drawings.
So a better way in this case would be to end the first Body right up to the "Machining starts here", then create a second Body based on the first to add the feature of the final machined part. This way it would be easier to get separate drawings in TechDraw for each Body. Now that I'm thinking about it, I may very well change the tutorial to propose this method.
Second use case is similar. Almost 10 years ago I was working freelance and designed a complex plastic enclosure. The manufacturing process was injection molding. There were a lot of features to get the basic shape, the details (holes, ribs, mounting bosses...) and finally the filleting. If I recall correctly, there were more than 400 features in total. After about 100-150 features the model was taking forever to recompute after edits, so I used a trick I read from a Solidworks expert: basically what we are talking about here, a Body based on a Body (but in this case, they were separate files). I actually had 3 levels: a first Body defining the outer shape; a second Body based on the first for detailing; and a third Body based on the second with all the fillets added.