Closed corners on tapered extrudes

Is there a technical reason that Extrude Tapered (curve or surface) can’t create closed corners when extruding in a direction other than normal to the object - even with a simple planar input?

See attached image - both are extruded from the same simple plane surface with a draft in the same direction. Is there any easy workaround for closing corners other than tedious exploding, extending, and trimming/splitting for every corner?

Also, the ToBoundary option doesn’t work when tapered extruding at a non-normal angle, either.

Actually, if you look more closely, the corners have been filled with triangular surfaces.

For simple shapes like planes and rectangles, these fillers are created. They have not been “special cased”. The tools makes more sense with curved edge objects.

To clean up the corners on a boxy object, MergeAllFaces should prove helpful.

Thanks for the reply John. Yes, the extrude on the left has the corners filled in. The rotated one on the right, extruded straight down, not normal to the object, does not fill in the corners.

That happens on sharp edged objects like that when you specify a different direction that isn’t normal to the surface.
Again, it’s an unintended consequence of writing the tool intended for curvy objects.
When I need a sharp edged version like yours, I don’t use that tool. I make the curves and Loft or rail sweep.

Okay, then I’m requesting that the commands work for objects with corners. Corners is a command line option for Extrude Tapered, it seems strange that it has so little functionality when corners are actually involved in the object.

With your other construction options, what method do you use to easily get the result of a consistent draft angle on all edges in a non-normal direction?

The request has been on the wish list for a long time. Since there are so many other relatively simple ways to accomplish the same result, it’s never made it to the top of the to-do list.

With your other construction options, what method do you use to easily get the result of a consistent draft angle on all edges in a non-normal direction? Extrude can work on a batch of objects at once if using the same angle and direction, so the other commands you mention will already be significantly more time-consuming.

I think it would be best for someone else to chime in here. I do not use Rhino in a production, professional environment like most of the others here do, so I’m the wrong one to ask.

in your example pic, the object on the right doesn’t have a solution, does it? or, how do you expect the corners to look?

that said, there is a problem in these commands which hasn’t been fixed yet… i’ll see if i can find the thread (from maybe this time last year).

Everything I do is for injection molding, so it always has to have draft on it.

Whenever I need to do a lot of sharp-edged extrusions, and thankfully it’s not often, I usually try the ConnectSrf command.

When it fails then I extend the surfaces and try ConnectSrf again.

When THAT fails, I do the ol’ intersect, extend intersection line on both surfaces, and trim. One of these days, I’ll get around to learning to write scripts, because that’s one I use all the time. It seems like that’s exactly what ConnectSrf does, but for some reason it fails fairly regularly.

Hi Jeff - you’re right, I don’t believe there is an exact solution that will keep all extruded sides the same length. However, the ToBoundary option doesn’t work either - see this simple example file. tapers.3dm (126.7 KB)

I would be happy with the result of the ConnectSrf, or just choosing one of the edges to be the proper length. And I read that other thread, but am still not sure exactly what the command does incorrectly there, it seems a bit different of an issue than here.

@hanscad - Thanks for the ConnectSrf command! I was not aware of that one somehow - very helpful for cleaning up, saves a lot of steps.

@pascal Do you happen to have a script that might integrate ConnectSrf or use ToBoundary option properly with non-normal tapered extrudes? Or have another method for a consistent non-normal draft that can be done en masse? I have come across this issue before and just cleaned up manually, but I have another project with a lot of simple and more complex objects to create with drafts. Thanks!

[quote=“gregb, post:11, topic:15926”] And I read that other thread, but am still not sure exactly what the command does incorrectly there, it seems a bit different of an issue than here.

ha, yeah… i found that thread too… most of it is confusing and it wasn’t til the end where the problem started to emerge.

there’s a new thread which has the same issue though:

so i was just going to see if that one gathers any steam instead of bumping the old/confusing one.

but i think the problem isn’t related to what you’re seeing… it’s more to do with how the offset is handled incorrectly with curves (or-- possibly correct but not accurate… if it was done accurately, i think it would create a much heavier surface than what it gives now)

I usually just offset the source surface, and trim the tapered extrusions (after connectsrf) to those for a consistent length. It’s odd that extrude tapered even has a solid option.

It could be a lot easier, but couldn’t everything? SOOO many steps.

True, but still holding out hope there’s some way to make this command work like it seems like it could - I have hundreds of these to do!

yeah, that definitely seems like it should work as (i assume) you’re expecting.

ConnectSrf does not work if the sides are not planes… in these cases, a possible help would be

  • ExtendSrf to make all side surfaces cross one another at the corners.
  • make a (in this case) lower boundary surface.
  • CreateSolid.

Extrude&CreateSolid.3dm (97.2 KB)

1 Like

Thanks for taking a look at this, Pascal. The CreateSolid workflow is good to be reminded of, haven’t used that in a long time.

Since it seems like there isn’t a way to do multiple non-normal extrudes cleanly at once, I have a couple questions:

  1. Is there any way the extrude taper commands could get some attention to handle more cases for V6?
  2. What about ExtendSrf automatically exploding the surface being extended from the polysurface it belonged to? (Leaving the rest of the polysurface joined.)

Hi Greg - both are good suggestions- I am not sure what the prospects are for either, but I’ll get them on the pile. I am also in favor of auto-extracting faces for surface operations in general where it makes sense, not just ExtendSrf. (e.g. Split > Isocurve)


1 Like

CreateSolid is a good one.

BTW @pascal, at one point way in the past, did you post a script that would untrim a surface and then extend it on all 4 sides?

I wonder also, could Grasshopper be of any help in this case?

Also, a feature request: when extruding multiple curves tapered, could there be the option within the command to be able to flip the, individually? @gregb might want the same for extruding surfaces tapered.

I think you can get the clean object you want by doing:

  1. Create a plane curve normal to direction of extrusion.
  2. Extrude tapered along direction of extrusion (ie like your example that works).
  3. Rotate object so base lies at desired angle.
  4. (Use analyse angle to get the angle if you don’t know what it is)
  5. Shear the object parallel to its base using the reverse of the angle of rotation.