Hi Martin,
> I know this is the norm for all the CAD systems that I've used (not that many), but I
> wondered why this is the case? Is it too complex to compute the resulting intersections,
> or something like that?
It's because the most straightforward way to do the calculation is not by doing intersections at all but rather by generating an offset curve from the base profile and then moving that offset curve upwards and doing a loft between those curves.
That approach works well for regular areas of the tapering but the overall approach does not work well when the side walls intersect with one another, in order to handle that a much different approach would be needed, probably one that involved doing intersections instead. But also intersections are quite complex when they're between surfaces that are also self-intersecting too.
In order to get ridge lines I'd think that it would need quite a lot of areas of special treatment in the algorithm, it would probably need to detect areas that would result in a surface being self intersecting and break things apart at those spots, then intersect all the generated pieces and determine how to trim the side walls. None of that stuff needs to be done in the "standard case".
So basically there would be a substantial amount of special work involved in order to make an implementation of that, it's a much more complex case to try to handle.
- Michael
|