One useful function would be to allow inserted parts to be patterned wtihin the multiple body part. I often run into the need to have multiple copies of an inserted part, but cannot use sketch driven or linear patterns on the inserted part. This would be useful in Sheet metal when inserting PEMs onto existing hole patterns. Right now, I'm forced to insert each PEM individually, even the hole pattern itself is already seeded.
Oh in some cases I do use an assembly file with virtual parts to serve as a multi-body part. This is fine for COTS items. However, for manufactured items, I can't create details of individual virtual parts-where as I can select a body to detail when I create a drawing. Additionally, I can't drive dimensions and parameters with a design table in an assembly file-things like extrude heights, draft angles and the like.
My argument is that you can do 70% of assembly functions in a part file and 70% of multi-body in an assembly file. I occasionally find out I need the other 30% in my modeling approach too late in the design process. So I think CAD needs to go the rest of the way and say, here's your geometry; here's your meta data; here's you bom; here are your presentation tools: you decide how they relate.
For example, I had an off the shelf 2-piece clamp that secured a rifle scope to a rail that I modeled as two separate bodies. OK, when I created my exploded view, I had to back-track, go into the clamp models and add configurations showing them disassembled so that they would-well clamp around my assembly. This (among other similar examples) got me thinking, what is existentially wrong or technologically forbidding about having exploded views for a multi-body part?
conversely, how come a weldment has per-body properties that can populate a BOM; a wire route has to use some voodoo metadata and you're completely SOL with a multi-body part.
I know that there are some sticky technical issues to iron out. Just because the difference is semantics, doesn't mean it's simple to resolve.
SolidWorks would have to figure out how to handle external references; revision management on individual bodies and rules to determine how bom records behave when multiple bodies merge or separate.
Take a close look at Paul's example below.
Imagine what the part would look like if you made only HALF of the part. OK? There would be a curved point that looks like a stinger that tapers down to ZERO thickness.
The length of the zero thickenss zone is 1/infinity. Which I can assure you is very small, but there is in fact a very small piece of geometry that is zero thickness.
In reality, this part can be machined down to one atom on an electron microscope. So that isn't "really" zero. We all understand that. But we are dealing with virtual reality, not reality. Please distinguish the difference. If you want reality, then why does SolidWorks allow you to design machined parts down to eight decimal places? Should it limit that as well.
The CAD doesn't have any problem creating half of Paul's example and according to your argument, SolidWorks should not allow this condition either because you really can't PERFECTALLY make this part due to the zero thickness area at the tip will probably distorting a little.
So if SW doesn't mind half of the part, what is the difference with dealing with the part as shown??? Why does SolidWorks fall on it's face with one and not the other?
Could you machine this complete part down to maybe one atom, theoretically? Would one atom be enough to qualify as zero thickenss?
If I wanted to make Paul's part in SW, I would have to fudge the simple tangent mate and either break through or create a small bridge of .00000001 inch. Why should I have to do that and what is the difference between .00000001 and zero? Not much, but SolidWorks seems to think so.
Paul's bearing example is really good as well. What if somebody wants a single bodied part made out of a ball bearing or needle bearing assembly? You can't do it. I would be interested in seeing if other CAD systems could do it.
I would also be interested if importing zero thickness geometry is the reason that SolidWorks can't properly import some files from other CAD??
So in summary, I believe that you can make Paul's part on a mill, and depending on machining tolerances and other factors you may break through or have a small bridge, but that is reality, not virutal reality. And I personally want my virtual reality perfect and we'll work on reality as we go.
I've attached another part that you CAN easily machine with zero geometry, hopefully it shows up. It is a block of metal that has a hole machined in one side. Flip the block over and machine another hole TANGENT to the first hole up to the bottom surface of the second hole. There is absolutely no problem with machining this part. We can sit here and split atoms or you can admit that this is a LEGITIMATE operation.
So now that we've determined that zero thickness geometry IS a reality, lets see what SolidWorks can do to fix it in the virtual reality.
zero thickness.JPG 79.5 KB
Thanks Matt for pointing that out.
It's funny, but you seemed to be the most confused! You kept asking that poor individual to prove his point by posting a part that showed zero thickness geometry. The point his he CAN'T! otherwise we wouldn't be having this discussion.
There are many times that I need to creat a part with zero thickness geometry, philosophical arguments about machining aside. If I want to take a bearing assembly and put it in our companies purchased part archive, I want to save it as a part. I can do this now with the multibodied part, thank Heaven. As some of you will remember, in the past, SolidWorks did not have multibodied parts. I was one of perhaps many who requested this feature. So in the past, it would have been completely impossible for me to save the bearing as a part unless I modified the races or balls so that there was interference.
Now, even with the multibody part, there may be times when I want to save the part as a single body for whatever reason. Why are there those people here who are passionate about saying that I shouldn't be allowed to? What you are saying is that since it's OK for you we should all shut up and just live with it?
I posted a part concept above that was a block with two holes machined from either side and tangenet to one another and the bottom of the holes coincident. This is a machinable part. The zero thickness geometry that exists on this part is infinitely small. There is plenty of material due to the radius of the holes intersecting at an outside tangent that there is no issue of breakthrough during a maching operation. This part could also be a cast part where the two cylindrical cores just touch at the tangent edge. I bet you didn't think of that. There is no reason I shoud not be able to draw this part in SolidWorks.
I don't like to 'FUDGE" my parts. I don't like to add infintesimally small changes to features to trick the software into working. these small features can cause mating problems when things aren't exact.
It's really sad that since some of you haven't had the need or experienced the frustration that others of us have, you feel you have the right to say that there is somthing wrong with us...that we're doing something wrong. One of the times I have needed to be able to use zero thickness geometry in the past is when I have wanted to do some quick analysis of complex welded structures. Often I would like to combine the assembly into a single bodied part and add some fillets or chamfers to simulate actual welds. More times than not, I would get zero thickenss errors and would have to spend an inordinate amount of time monkeying around with the model to get all of the bodies to combine.
Repeat after me, "SolidWorks can't do zero thickness geometry. I don't need it. I don't want it. But it would be great if it could do it for those that do feel they need it."
Attached is a weldment that can't be combined into a single body due to four cylindrical bodies that create zero thickness conditions.
Would love to see this type of limitation removed.
404-D-566 - UF WELDMENT.zip 1.1 MB
thanks for posting the example. What is the reason that you'd like the weldments to be combined into a single body?
Of course, this warning comes from our Parasolid kernal in that it is geometrically impossible to create a single body out of the circular tube section and the strut that butts up to it. If our weld bead were actually solid (verses just annotation) - then it would be possible.
Machining is not philosophy. If you can't machine it to the model, you can't machine it to the model.
I don't like to 'FUDGE" my parts.
Fudging is exactly what you do if you manufacture a part that you can't make to print - you fudge the infinitely thin wall because you can't make it. Give the print to an experienced mold or pattern builder, and he'll give you one of those "greenhorn" lectures.
I was looking for an example of a product which has some sort of real world feature you can't achieve with the current limitation.
Paul showed a sketch that can't be extruded, which I think is something we all agree on. Where we differ is that a bunch of people think it's an entirely reasonable limitation, and it may be pointless to make it work, or at least that there are probably a couple hundred other things that are higher priority.
If SW adds that capability then even in a best-case scenario someone else will start crying that you can't fillet or shell or offset around the zero thickness. In a worst case scenario, SW starts delivering bad geometry instead of failing. Aside from the mfg issue, I think the bigger issue is the math. Zero is a red-headed stepchild in math.
Anyway, this topic doesn't deserve the attention it has already received. I've said what I have to say. My only goal in saying anything at all is to help convince SW to put development time into other more deserving projects.
It seems that some customers have the need to model a part to its ideal state, with tolerences that allow the real-world part to deviate from the ideal state. This is a normal requirement for any solid model/real-world part relationship. In the case of zero-tolerence error message, some customers are prevented from making a feature in the ideal state, but the feature is consistant with real-world capabiliites as it deviates from the ideal. It's not yet clear where this issue follows in the SW priority list, but it should still be on that list (even if it is near the bottom).
In this case, the customer wanted to perform a first pass SimulationXpress deflection analysis. Given SimulationXpress only supports a single body, they wanted to combine the bodies.
Given the cylindrical extrusions meet other adjacent plates where merging is possible, the failure where tangent point on the cylinders meet the struts "could" be considered irrelevant.
If I try to do an extrude cut of a circle where the edge lines up with one of the bodies of a multi body part (i.e. the circle will divide the body into two) the zero thichness geomertry error comes up.
This is not something to fudge in manufacturing only in SW which is a shame. I always resist fudging in SW as it often courses errors later on.
untitled.bmp 778.0 KB
When working in “Isolate” mode, objects that are hidden get in the way of the selection of the shown elements.
Well Matt, the air must be pretty thin up there on your high horse.
Despite myself and others saying that we could really use this capability, the fact that you don't need it or understand it is all that apparently matters.
My block example with tangential holes on opposite sides is a real example of a part that CAN be machined or molded. the question of "why would somebody want to do that?" is irrelevant. Just because you don't mind having to distort your CAD models to get things to work doesn't mean the rest of us should have to as well.
My explanation that half of Paul's example part above also includes zero thickness geometry, just not from two sides, is also a legitimate argument. You haven't sufficiently answered that one. The thickness of every edge in SW is ZERO. So why is it OK to approach zero from one direction but not two?
We all understand that the kernel can't do the math, but apparently Inventor's can. If I were a programmer at SolidWorks, I would lose some sleep over that one.
"Anyway, this topic doesn't deserve the attention it has already received. I've said what I have to say. My only goal in saying anything at all is to help convince SW to put development time into other more deserving projects."
I say the opposite. This topic doesn't get the attention it deserves and I would like to convince SW to continue investigating it. I've been asking for over a decade.
I don't like being limited.
I don't like when SW can't perform a fillet for some reason.
I don't like when SW can't perform a lofted cut for some reason.
I don't like when I can't perform a section due to zero thickness geometry (another problem you failed to address)
If there is a way to fix this, dear friends at SW, that would be great. And if they do fix it, Matt, feel free not to use it.
Matt, zero is not a red-headed stepchild in math. It is an essential. Apparently you didn't take any college-level math? What's the geometerical thickness of any edge? Zero.
Oh, and Matt, I'd put my practical experience up against yours any day of the week.
PRO E DOES ZERO THICKNESS!!
The zero thickness thread on the forum from '09 said it can't but now it can!!!
The first picture shows my block concept beatifully. I think most people can easily see that this is a valid part.
The second picture isn't so great, but it is a solid. It could not do it in one operation. The person had to do an extruded circle then the tangential circular cut.
ZERO is not a problem for PRO!!!
Being right feels SOOOOO good!
If a multi-body part is being created and all features are to be separate bodies, it would be helpful if the Merge Result option remained at it's deselected state. Having to deselect it for every feature is inefficient.
Also having a RMB option to toggle the Merge Result option (from a selected feature) would be helpful. If a merge deselection is missed during feature creation, the feature has to be put into edit mode before being able to deselect the option.