V5 Bug: Extrude Surfaces Does Not Make Lightweight Extrusions


#1

Hi,

This is a little bug, but I wish it was fixed.

For some reason selecting, re-extruding (using extrude surface) a poly-surface does not create a lightweight extrusion result.

I can copy the edges of the face and that itself can be made into a lightweight extrusion.

BTW, I was curious has anyone made a utility to globally replace all eligible surfaces to lightweight extrusions? It would seem doable to check for poly-surfaces with 2 parallel similar faces, and recreate the extrusion.

Thanks for looking into it,
BrendaEM


(Brian James) #2

Hi Brenda,

Can you send the model or just the srfs in question to tech@mcneel.com please? I’ve also heard some talk about a converter for eligible srfs and polysrfs to extrusions. I’m not sure if it’s possible yet but do know it’s on the radar.


#3

We, don’t really need to send a drawing; it’s easy to reproduce.

  1. Make a cube
  2. Extrude Surface (straight)
  3. Select a surface.
  4. Drag it out.
    5 Tada! It’s a poly-surface and not a lightweight extrusion.

Having this instead produce extrusions, would greatly speed up the process of hand-rebuilding extrudable objects. Extruding from the surfaces edge-wires however works, but that’s work.


#4

As far as writing a global replacer, it would seem possible to at least do replace axial geometry. That way tolerances should not be such an issue.

Have more than 3 surfaces?
-Are there 2 surfaces that are both flat?
–Irrespective of depth, any 2 surfaces identical?
—Do they overlap axially?
—What’s their depth, distance apart?
—Choose a surface.
—Extrude to depth.
—Copy atributes, yada, yada…

For safety, a copy of result could converted into a poly-surface and then compared to the original poly-surface to make sure that they are actually identical, before the scrap is removed.

I feel that testing might make an iterative/exhaustive test possible. In other words, as long as the converted result is the same as the original, then it’s good–right?


(Brian James) #5

Thanks for the extra info. Would you want to see two extrusion objects on top of each other or one single longer extrusion object? If it’s the latter, you can do this now by turning on the ctrl pts for the EO (extrusion object) and moving the top point up using the Gumball or the Move command. I found a shading bug with this however that I just filed that requires RefreshShade to be run if you are in a shaded mode when doing this. Hopefully that can get tuned up soon.

Another command that might be useful to you is MergeAllFaces if you don’t already know it. Although you will create a polysrf with the method you described (or by using sub-object modeling techniques with the Gumball) you can simplify co-planar faces as a clean up step in many cases with this command.


#6

I want to have an lightweight extrusion occupying the same space as the polysurface.

Yes, I am familiar with merges.

I am not sure if you understand, but extruding a surface–even using a polysurface for it’s profile should yield a lightweight extrusion, as long as the object has flat parallel ends.

Please try it again. Are the objects you made identical, or are they both polysurfaces?

In other words: ExtrudeSrf ignores the UseExtrusions rule when using a polysurface’s surface as the profile to be extruded.

Edit: I just learned that ExtrudeSrf doesn’t care about UseExtrusions at all–even when making them from a simple plane. ExtrudeCrv can make lightweight extrusions, but ExtrudeSrf cannot.


(Willem Derks) #7

Hi Brenda,

I think all of this has to do with the input geometry for extrusions needs to be planar, perpendicular to the extrusion direction. Try and create a non-planar curve and extrude it, or a “tilted” curve, that will create a (poly)surface instead of an extrusion.

I suspect that for ExtrudeSrf there should/could be a check if the input surface can be a valid planar and perpendicular profile.

-Willem]


#8

Unless you can think of any reason why Rhino cannot make a cube with the default tolerences, the function is not working as it should.


#9

This still isn’t fixed, so I am going to try to give a simpler example of this.

1.) Create a plane.
2.) Extrude that surface
3.) You end up with a polysurface and not a lightweight extrusion.

In other words: I suspect that only extrude curve can make a lightweight extrusion.

Why fix this: Fixing this makes replacing poslysurfaces with lightweight extrusions 2-3 times as fast.
Thank you.


(Brian James) #10

Hi Brenda,

I’ll make sure this is filed… in the meantime. I just made this macro which you can add to Options>Aliases to do this now.

_DupFaceBorder ExtrudeCrv S=Yes L=Yes

I called it EF as that was pretty quick to type. Just pre-select a sub object face or surface with Ctrl+Shift and then run the alias. It will make an Extrusion if possible.


Wish: ExtrudeSrf should also create Lightweight extrusion objects
#11

Thank you for filing a bug report, and the macro
Brenda