The case for zero thickness geometry
In the recent multi-body thread on the SolidWorks forum, there was a side discussion about zero thickness geometry. It later spilled over into twitter and other places. This topic comes up every now and then, and a dedicated lot go on about how they could do such and such if only they could make zero thickness geometry. I have to admit, I only understand part of their claims. Some people were making a lot of claims around FEA, and I have to say I’m not familiar enough with FEA to say anything about what they need. I’d be willing to bet, however, even knowing nothing about it, that a simpler improvement on the FEA side would take care of the problem. They might have been complaining about low-end FEA with intentional limitations – and they wanted SW software to be reconfigured to unlimit these limitations.
Anyway. One fellow kept lecturing me that you could draw the parts and you could make the parts. It didn’t seem to matter to him that the parts couldn’t match the drawing. The same guy claimed you could make a casting with two cores that touched at a point inside the casting. He even seemed to be claiming at one point that the number zero doesn’t get special treatment in mathematics. One fellow asked for “Ability to merge non-contacting bodies“. Leaves me shaking my head. I don’t really understand what motivates folks like this. Maybe they left in yesterday’s apocalypse.
Then there was a blogger that tried to distract folks with the use of decimal points and zeros. He said the same thing several times, but I’m not sure it helped anyone understand. I think he was advocating the “cheat” workaround where you make really small gaps or bridges. That didn’t satisfy the folks who demand real zero thickness geometry within a single contiguous solid body. Nor did it satisfy the folks who said that zero is a real number that is treated as a singularity in much math.
We haven’t really started to examine the details of how geometry kernels handle or don’t handle zero-thickness. Most laymen don’t know answers like this. I know I don’t. Would it be nice to be able to do whatever you want, and it never ever turns out to be a mistake? Yes, I guess it might. Especially if doing the impossible is someone else’s problem.
That being said, I think there are a few isolated cases where you might find a real use for zero-thickness modeling, crackpots aside. No one on the forums was able to cite anything that was realistic. But on twitter, a fellow named Evan Yares did pose the issue about a totally closed coil spring. This is a single part that is actually manufactured such that there is line-to-line zero-thickness contact between faces, and yet the part does not fall apart, and is actually manufactured to the model with no crazy exceptions or conditions. So. Springs. This opens up an entire genre of manufacturable geometry where zero thickness is realistic. And you can’t deny that everybody who has drawn a fully compressed spring has run up against this limitation.
Ok, so that’s 1.
Does anyone have another? Sheet metal that is folded over to a 0 radius bend is something kind of similar (zero gap instead of zero thickness).
My intention with this post is not to extend the argument with crackpots, I’m quite done with that, but rather to examine cases that have some validity like the spring. I’m also not trying to get around limitations in intentionally hobbled FEA software by proposing rule-changing changes to CAD software. Maybe the philosophical validity ofzero-thickness geometry in a single body, and if the workarounds that exist (using multiple bodies, or using tiny gaps/bridges) are adequate for modeling real parts. And is the only goal of CAD to model “real parts”? Does CAD have an obligation to model whatever we can imagine?
Yeah, this would fail with a sweep, unless you sweep half of it and mirror. It really should be a set of extrudes.
Check this drawing. https://i.pinimg.com/564x/97/06/ca/9706ca3a234d007df3e1a1641a7ca981.jpg
I know this is simple. But if you create this using sweep command in SW, it fails for the same error but when I created in another software, model was created.