Why can't this body be shelled?

Why can't this body be shelled?

GRSnyder
Collaborator Collaborator
11,647 Views
15 Replies
Message 1 of 16

Why can't this body be shelled?

GRSnyder
Collaborator
Collaborator

I was taking a look at the "cup lid" modeling problem described here. My model is a little different from the one posted there by @davebYYPCU, but it has similar issues with shelling.

 

The model is this solid body:

 

Lid.png

 

I just want to remove the bottom face and shell to 0.5mm all around. Shelling works fine without the detent, but with the detent in place, it produces the error message "The body could not be repaired after deleting faces." No skin width works.

 

Let me be clear about exactly what I'm asking: my general experience is that Shell essentially never works on anything more complicated than a simple extruded profile. What is it exactly that's causing problems here? It seems to my uneducated eye that this form would have a clear and well-defined shell, but for some reason Fusion 360 isn't able to find it.

 

I thought perhaps the issue related to the sharp flange formed where the detent curves to meet the front wall, but Fusion 360 seems to handle similar test shapes without any problem. Aside from that curve, there's really nothing fancy going on here.

Accepted solutions (1)
11,648 Views
15 Replies
Replies (15)
Message 2 of 16

lichtzeichenanlage
Advisor
Advisor

If you travel back the timeline just before the loft. shell the body and it works. You just have to add a second loft to create the indent. 

0 Likes
Message 3 of 16

GRSnyder
Collaborator
Collaborator
@lichtzeichenanlage wrote: If you travel back the timeline just before the loft. shell the body and it works. You just have to add a second loft to create the indent. 

 

Thanks; however, I'm not looking for a workaround. There are a dozen ways to make it work. 

 

My question is specifically about why the shell operation can't deal with this body.

Message 4 of 16

etfrench
Mentor
Mentor

When shell doesn't work, you need to find the geometry causing the problem.  Use the split body command to slice the body until the problem geometry is found.  In this case the most likely area is here:

ShellCup.jpg

ETFrench

EESignature

Message 5 of 16

lichtzeichenanlage
Advisor
Advisor
Nice, that's a more detailed version of the timeline method. Thx for
showing.
0 Likes
Message 6 of 16

davebYYPCU
Consultant
Consultant

I reviewed both files again, @GRSnyder I had shell trouble with the wall section of this extrude, not matching the "Draft angle" of my recess body.  Because this was a small added extrude, I overbuilt the wall draft, before the combine, to make sure I got clean geometry.

 

lidboss.PNG

 

The difference in your model is the top profile in the loft is in the recess, where my example was on the top face, and ignored the recess face that you are using. 

I think @etfrench is right about the recess intersection with the loft, but I can't give you the why, just opinion,

the short ledge in this section view, will eventually mismatch the wall thickness you are looking for...

 

lipsctn.PNG

 

Might help...

Message 7 of 16

michallach81
Advisor
Advisor

Think if Loft is what you really need. I would try to keep draft angle also on a recessed pocket.

 


Michał Lach
Designer
co-author
projektowanieproduktow.wordpress.com

Message 8 of 16

lichtzeichenanlage
Advisor
Advisor

I was thinking about this, too. But unless this is just a workaround...

0 Likes
Message 9 of 16

michallach81
Advisor
Advisor

What are the reasons for another angle?  I think it was @GRSnyder first idea for modeling, not a specific design intent.


Michał Lach
Designer
co-author
projektowanieproduktow.wordpress.com

0 Likes
Message 10 of 16

lichtzeichenanlage
Advisor
Advisor

Sry, did understand this differently. 

0 Likes
Message 11 of 16

GRSnyder
Collaborator
Collaborator

Thanks for the helpful and interesting comments.

 

As far as @michallach81's and @davebYYPCU's queries regarding design intent, there really isn't one other than my half-assed attempt to make it look like the source photos. In the photo below, there is a faint shadow line along the interior edge of the drinking-hole side of the recess that seemed to suggest to me that the recess did not go all the way up to the very top but rather started at the level of the circular full-top inset. Ergo, two separate taper angles. But even that's debatable. Again, this really isn't a "how do I make this" question so much as a "why exactly doesn't this work" question.

 

IMG_7443.JPG

 

@etfrench's suggestion of hunting around with the Split Body command to find exactly where problems occur was quite useful. Cutting down from the top of the lid (that is, sketching slicing profiles on the model's XZ plane) does seem to suggest that the issue occurs near the "merging flange" area that @etfrench identified.

 

However, I've discovered some additional information that's making me think the Shell failure may just be a bug. Namely, if you take the model linked in the OP and simply add a dimension to the first sketch (whose revolution generates the base form of the lid)  to fix the lid height at 12mm, the final body magically becomes shellable. (The original lid height is unspecified and in fact is 10.98mm.)

  

This despite the fact that neither the recess nor the large circular indent comes anywhere close to the additional material that's added at the bottom side of the lid:

 

Screen Shot 2018-09-27 at 5.24.30 PM.png

 

Doesn't this seem a bit suspicious?

0 Likes
Message 12 of 16

GRSnyder
Collaborator
Collaborator

@GRSnyder wrote: However, I've discovered some additional information that's making me think the Shell failure may just be a bug...

 


Hmm, maybe not. For some reason, adding extra mass on the bottom changes the interpretation of the Move operation, so the insets are not completely identical. This itself seems pretty strange since the anchor for the move is on the profile patch itself, but there is much about Move that I don't understand.

0 Likes
Message 13 of 16

michallach81
Advisor
Advisor
Accepted solution

Hi @GRSnyder, I understand that my first post didn't address your question directly and since my model was somehow simpler than the actual lid, you've dismissed concerns which I've raised, without investigating them.

This time I've toked time to go through it step by step.

 

First, what are the reasons for Shell failure?

To know what might have happened, we must know how Shell works.

Very briefly, Shell is actually offsetting each face of a model, then extends them until they intersect with neighboring, then it trims them at the intersection and stitch them.

Failure can occur on each of these steps.

A single face can be built in a way that an offset of a specific value would self-intersect, therefore couldn't be created.

An offset face may not be extendable for the required value and failed for same reasons as above.

Set of offset faces may not have an intersection where necessary and Fusion doesn't have a clue how to fill the gap.

 

The way to investigate the failure is to offset your model manually and look for individual failures or gaps.

The way you've defined a draft angle for the recessed wall is the reason for Shell failure. Corner in a picture below will have a gape when offset.

corner.jpg

I've recorded a screencast where I show you that gap.

I also show how you can repair it, but you must know that my method while work, is not suitable for manufacturing. In general making, this Shell is questionable, since it's a part that will be made in vacuum forming technology, which requires only one mold (I will elaborate on this later).

Before watching screencast I must add one more thing about how Shell works.

Above I've mentioned that Shell is offsetting each face individually, which is not quite like that (just on a general level).  When we have a set of tangent faces (or with a higher grade of continuity) Shell is offsetting them together. The reason for that is that when offset individually they would not intersect at all, they would pass each other (this is a well-known problem in CAD, known as near-coincident and near tangent, caused by inaccuracies in geometry representation, caused by the use of floating numbers in computer graphics).

I'm telling you this because when you making this manual offsets for whatever reasons you must offset tangent faces together as I do in the screencast.

Now few notes:

The gap I'm talking about is shown at 3:00-3:05.

At the very beginning, I'm showing that Shell works when made outside the part and you can see how specific new intersection looks like. This way Shell is possible because surfaces overlap each other without gaps.

At 0:40-0:45 I'm showing that geometry of a shown face is falling in a wrong direction for inside Shell to succeed.

This moment is the most significant information about geometry you've created.

First, it's telling me that you want an inside shell, where it has no purpose in further manufacturing. And if any purpose (like visualization) it should mimic an actual technology and should be an outside Shell (maybe rescaled for visualization). The reason for that is simple, any CAM programming must be done on the best available geometry.

Geometry from Shell is always an inferior quality to the original one. In a case of vacuum forming, we design surfaces of a mold first and any other are derived from those.

Secondly, this geometry is telling me that you had no specific idea about that recessed pocket, and its shape is accidental.
How do I know that?
That "drafted" wall of recessed pocket is twisting and don't keep the constant angle to any of planar faces. In result in the very middle, this wall is more vertical that drafted wall above, but at the shown place (mentioned 0:40-0:45) is less vertical and intersects face above on the wrong side for inside Shell to work.
Further investigation only reassured me in my suspicions.
You've created pockets bottom by moving constant offset of a sketch (with use of a planar face). There is no way you could have guessed what angle you would get for "draft" on that pocket (not mentioning that this move was non-parametric).

You've made it this way because you couldn't think of any other way, and it looked fine so you had no problem with it.
Until Shell at least.

 

In my original post, I've skipped that long investigation and shown what conclusion led me to, which is for a successful design you must articulate your intent with a meaningful geometry.
Since you didn't like my simplified lid. I've created another screencast with a new lid and a new design intent.

 

I don't think that you have a problem with Fusion, but rather with your design articulation. I would like to speak briefly about that specifically, the design articulation.

To properly articulate you design intent you must define the intent, and name the properties of geometry that will fulfill that intent.
In case of your lid, you must know why recessed pocket is at an angle, and why at that specific angle. Why the walls of that pocket are drafted if they are drafted. Same applies to sketches, why arcs. Why that, not another shape.
Your answers might be as vague as you like. You can say that the reasons for having angled pocket are purely aesthetic. But then how less aesthetic is not angled pocket? If you don't have an answer to that then any additional factor (like the angle on pocket) is useless and its existence is not justified.

To be less abstract, you don't know why you've used an offset on a sketch for the bottom of the pocket. Same for the exact position of it. It's because you don't know the design intent, but even if faked you must make one.

CAD programs serve the single purpose, manufacturing of an artifact.
Whatever purpose this pocket serves, it's geometry must meet manufacturing requirements.
In my example, I've assumed that draft on the pocket is done with a simple tapered drill and is machined at a specific angle that will make this pocket tapered also to the main surface at minimum 3deg (required for unmolding the part). These assumptions defined the geometry (like the outline of pockets bottom, which is not an outline of a sketch), and used tools (sweep with path and guide surface, to get a constant draft against the bottom).

Knowing the purpose of the geometry I can also find solutions for problems that will occur further in the design.

This way parametric tool like Fusion is used to embed design intent. In my sketch, I've added dimensions for a minimum angle for unmolding and dimensions for drills which I plan to use.

 

I wish you will take the time to read this and that will be helpful eventually.


Michał Lach
Designer
co-author
projektowanieproduktow.wordpress.com

Message 14 of 16

TrippyLighting
Consultant
Consultant

@michallach81 wrote:

 

 

CAD programs serve the single purpose, manufacturing of an artifact.
.


And that makes them different from mere modeling software packages.

So in other words a lot of modeling decisions are being made based on how a particular part is going to be made.

 


EESignature

Message 15 of 16

GRSnyder
Collaborator
Collaborator

Thank you for this detailed and very helpful explanation, @michallach81.

 

I'm embarrassed to say that when I read your previous post, I somehow missed the attached screen recording. It wasn't my intention to discount your suggestions there (although I don't think that without your later comments I would have understood the point you were making). But having read through the later post and watched the newer recordings several times, I think I'm beginning to understand a bit more.

There's really a lot to think about here, but let me see if I'm homing in on the most important points, at least as far as a direct explanation of the shelling problem. Here's my restatement:

 

1) Fusion 360 is a BREP system at heart, at least for solid bodies. So operations on volumes are really operations on faces -- often faces that have been displaced, intersected, or edge-extended. (The Shell command uses all of these operations.)

2) Adjacent faces are only guaranteed to share a border. Their actual construction can still be problematic for certain operations. For example, faces that are close to coplanar can cause numerical instability because small changes in angle can lead to large changes in the calculated location of an intersection. And the extended versions of faces with incompatible curvatures may not intersect to form a simple, contiguous curve.

3) To the extent that Fusion 360 "understands" the geometry of bodies and can facilitate calculations, that understanding derives from the construction history. For example, faces generated by a swept or lofted profile are associated with the other faces in their loop. That association is retained and may affect later calculations. Two faces that are adjacent in a body may in fact belong to separate loops and be handled separately during an operation such as Shell; they are reconciled with their adjacent (but unrelated) faces only as a late step in the calculation.

4) Therefore, to minimize instability, faces that have special relationships (such as coplanarity or curvature continuity) should ideally be co-generated by the same operation. Similarly, faces that will be manipulated together in subsequent operations should share construction history to the extent that this is possible.

5) Instability and approximation error are important, and they compound and propagate downstream. The most-derived forms are the least accurate.

6) In the case of the unshellable drink lid, the heart of the problem is that the two rows of faces on the front wall of the recess are derivationally unrelated to each other. These faces look approximately continuous and coplanar, but those "near miss" attributes are in fact what leads to problems creating a shell. The use of a loft to generate one of these face rows exacerbates the problem because discontinuity in the loft profile mapping subtly distorts the faces and creates incompatibilities with the adjacent faces.

These all seem like really important things to know. If, indeed, this is an accurate rephrasing.

I am not ignoring your other points. In fact I am taking careful note.

0 Likes
Message 16 of 16

michallach81
Advisor
Advisor

1. I can't confirm that. Even the opposite I would expect that Fusions kernel is composed of both geometry representations CGS and b-rep. Eventually, if we build with NURBS we should expect that actual calculations are done on surface equations.

 

2. True, and it's like that only because Fusion is parametric, hierarchical, solid modeler (with abilities to work with surfaces), where surfaces are defined through sketches and tools algorithms. This wouldn't be a problem for a freeform surface modeler, where we define surfaces directly.

 

3. Somehow true, "understatement" is not derived from construction history, but a set of faces if created within the same operation will share same "tolerance".

 

4. yes and if it's not possible and we have use different operation they should be derived from the same parent entity.

 

5. Spot on.

 

6. Nope, a user has created surfaces at such angle that shell could be done only in one direction (in my version shell is also possible only one side, just the opposite one). Given angle and required shell direction are contradictions in defining the design. You've missed this contradiction because you didn't try to actually define it, and contradiction just happened as the design happened, without conscious intent.

 

That last statement is the reason for why I've written my post, to show you a method of building such awareness and defining a design intent.


Michał Lach
Designer
co-author
projektowanieproduktow.wordpress.com

0 Likes