So because of that it's generally better to construct your scaled result from the beginning from curves rather than trying to squish around an already created solid.
So for your half cylinder case above you'd do something like this using Loft between 2 profile curves to generate your shape directly:
I guess I should clarify my comment above about extending neighboring surfaces - generally in CAD there is an operation called "local face editing" where a face is transformed and the surrounding faces stay the same and extend to meet the new face. So for example a face that is transformed by rotation would give a result like this:
So that's different from what you are trying to do, you are looking to not just scale the face surface, you are also looking to modify the "side walls", the surrounding faces as well. That's not something that you can generally do with NURBS models because of how they are constructed with an "underlying surface" that has trim curves, see the FAQ link above for more description of this.
Basically once you have done some booleans then many of the edges in the resulting solid are trim curves on an extended underlying surface. The trim curves are on the surface but they do not necessarily align with the control point structure of the surface and so you can't really squish them around the way you would with a polygon mesh model.
In a poly mesh modeling program there isn't this concept of trim boundaries that can be internal to a surface, in a polygon mesh the control points of a face are the same as the control points of the edges. That makes squishing things work well in a poly modeling program, at a cost of boolean operations not working well. The "underlying surface" with trim curve system in CAD works very well for boolean operations because when you intersect objects the "underlying surfaces" remain the same and only new trim curve boundaries are created. With a polygon mesh when you do a boolean the surfaces get diced up into small fragments and get increasingly more messy and hard to manage.
- Michael
|