Insets Along Curved/Tapered Surface

 From:  Michael Gibson
4010.4 In reply to 4010.1 
Hi Skwerm, so the steps go something like this:

You can start out with just the original 2D curve and your surface like so:



Select the surface and do a Ctrl+C to copy it to the clipboard, because you're going to want a duplicate of it in a minute since we will be cutting it up.

Then select the surface and run the Edit > Trim command - Trim has projection of planar cutting curves built into it so it is not necessary to do a separate projection step beforehand.

Then inside the Trim command, select your planar curve as the cutting object, and then pick these 2 pieces as the pieces to discard:



Then when you right-click or push the Done button to finish the Trim command it will leave you with this surface piece here:



Actually this would also be a good time to either delete or hide the original 2D cutting curve to get it out of the way. I happened to do that a little bit later in my screenshots here, but often times it can be good to get things that are in the middle of your model like that out of the way so that you won't accidentally pick them when doing other steps.

So another note is that you usually want to use the Trim command to cut an open surface into surface fragments. The boolean commands also cut up objects but the booleans are more oriented towards working on solids that make a closed volume. The different variants of boolean (like union, difference, etc...) decide which pieces to discard based on which volume they are in. When you don't have any volumes and only have surfaces, you use the Trim command instead which makes all the cut up fragments available and then you pick which pieces you want to discard.

So anyway, now you want to take this surface fragment and make it into a cutting object with some depth to it - you can do that by selecting it and running the Construct > Extrude command on it. You will need to use the "Set Dir" option in Extrude to tell it which direction to extrude in - pick 2 points to define the direction and then a 3rd point to define the extrusion distance.

That will generate a kind of plug solid object like this:



Now use the Transform > Array > Circular command to duplicate it into a radial pattern:



Now do Ctrl+V to bring back the original full revolve surface before it was trimmed:

If you forgot to copy it to the clipboard earlier, then do some undos until you get back to it, then select it and Ctrl+C to copy it, and then use Redo to get back again. Sometimes this undo + copy + redo sequence can be a quick way to bring back a duplicate of some original piece that you have just modified recently.

So that will look like this now:



Now to do a boolean you need to solidify the revolve surface - you can do that by selecting it and running the Construct > Planar command on it - that will build some planar surfaces at the top and bottom and join them to the revolve to make it a solid object which will then work well with booleans:



Then select the center revolve piece and run Construct > Boolean > Difference and select those plugs as the cutting objects. This is also where you want to make sure not to select the 2D curve that was used to trim with earlier, because if you did select that it would also be used as a cutting object and cut a hole all the way through the revolve:




But one thing that was kind of odd was that the boolean was taking a much much longer time than normal to complete for this case, something seemed to be confusing it, possibly something to do with the directly overlapping pieces. It went back to a more normal quick calculation time when I ran the "ShrinkTrimmedSrf" command on the cutting pieces:
http://moi3d.com/2.0/docs/moi_command_reference10.htm#shrinktrimmedsrf

So normally when you do a trim, the full original surface is actually there as part of the cut piece - that's how trimmed NURBS surfaces work, where there is an "underlying surface" that then has areas of it marked as inactive spots by trim curves on it. The ShinkTrimmedSrf command shrinks down the underlying surfaces and throws away parts of the surface that are larger than the current active piece of it.

Normally it should not be necessary to use it, but in this case it seems to clear up some confusion that the booleans are having with resolving the coincident surfaces.

Anyway, hope this helps!

- Michael