Surface gets created with an incorrect normal

Surface gets created with an incorrect normal

iulianOnofrei
Participant Participant
1,091 Views
17 Replies
Message 1 of 18

Surface gets created with an incorrect normal

iulianOnofrei
Participant
Participant

I created a sketch, then patched it, and when I tried to extrude a surface from one of its edges, its normal is set in opposition to the first surface:

iulianOnofrei_2-1729790781221.png

 

It would make much more sense for it to be on the exterior side. The weird thing is that, when I first tried creating what I need (I have to re-create it due to reasons), it worked correctly:

iulianOnofrei_1-1729790764484.png

What could be the reason?

0 Likes
Accepted solutions (1)
1,092 Views
17 Replies
Replies (17)
Message 2 of 18

jeff_strater
Community Manager
Community Manager

Surface normal is somewhat arbitrary.  Though it may be obvious to you what "exterior" is, for a simple L-shape like that you could interpret it differently for different final shape.  It is not "incorrect".

 

At any rate, if you don't like the orientation, you can reverse it:

Screenshot 2024-10-24 at 4.01.51 PM.png


Jeff Strater
Engineering Director
Message 3 of 18

iulianOnofrei
Participant
Participant

Makes sense, but then, if I create the same thing (albeit with different dimensions), with the same steps, in the same order, is it expected for the normal to still be different in some cases?

0 Likes
Message 4 of 18

jeff_strater
Community Manager
Community Manager

@iulianOnofrei wrote:

Makes sense, but then, if I create the same thing (albeit with different dimensions), with the same steps, in the same order, is it expected for the normal to still be different in some cases?


Yes.  I'm not sure what you mean by "different", but, as I said before, normal is assigned somewhat arbitrarily, and does not understand your intention.  For instance:


Jeff Strater
Engineering Director
0 Likes
Message 5 of 18

wersy
Mentor
Mentor

It seems the normals are not created randomly.
In the case of extrusions from single lines, the outer side is always created on the right in the direction of travel.
In the case of extrusions from angled lines, the outer side is always on the outside.

 

wersy_0-1729927730868.png

 

 

0 Likes
Message 6 of 18

iulianOnofrei
Participant
Participant
By different I mean that, doing the same exact sketching and extruding steps twice, got me a surface with the normal in one direction, and another in the opposite direction.
0 Likes
Message 7 of 18

iulianOnofrei
Participant
Participant
Exactly! This is what I expected as well, but as you can see from my first screenshot, it didn't happen like that.
0 Likes
Message 8 of 18

iulianOnofrei
Participant
Participant

> Though it may be obvious to you what "exterior" is, for a simple L-shape like that you could interpret it differently for different final shape.

 

So, @wersy's reply completely invalidates this. It IS obvious for the app as well. Meaning, for it to keep a continuity of the same normal directions for linked surfaces.

0 Likes
Message 9 of 18

TrippyLighting
Consultant
Consultant

@iulianOnofrei wrote:

> Though it may be obvious to you what "exterior" is, for a simple L-shape like that you could interpret it differently for different final shape.

 

So, @wersy's reply completely invalidates this. It IS obvious for the app as well. Meaning, for it to keep a continuity of the same normal directions for linked surfaces.


Jeff is the current director of software development at Autodesk. He played a major role in developing Fusion and, prior to Fusion, worked on developing Autodesk Inventor. A key point in learning is not just learning to listen, but also who to listen to!


EESignature

Message 10 of 18

iulianOnofrei
Participant
Participant
I don't believe in titles, I believe in arguments.

As such, @wersy's explanation and screenshots make the most sense.
More than that, I created ~5 more new documents, and I can't reproduce the example from my first screenshot. I manually recreated (a second time) my document, and it worked as expected.

But, why were the surface normals created in opposition in that one case is still unexplained, unfortunately.
0 Likes
Message 11 of 18

MichaelT_123
Advisor
Advisor

Hi Mr IulianOnofrei,
At first, consider a pure geometry.
• Perpendicular to a line ... is a line ... not a vector
• Perpendicular to a plane ... is a line ... not a vector
• Perpendicular to a hyper-plane ... is ....
However, in ‘normal life we are dealing with the ... line segments, surfaces, ... very few with hyper-surfaces.
Such geometrical object have additional contextual properties attached, like line segment start/end points, planes uv axes, surfaces unidirectional or hetero directional outline elements.
Let’s look at the last one. For a surface with unidirectional perimeter we can apply arbitrary ‘cork screw’ rule to give its normal line a direction (vector).
The situation is not so clear when perimeter is composed from changing direction elements.
The ‘cork screw’ method ... will not open a bottle ... unless there is other context the surface is part off.
It can be a face of a body, topological object which inherits the notion of inside/outside and in term defining direction of a normal to faces surface.
Thus, to avoid ambiguities in your design ... consider thickening your surface ... and the normals will find their stable state.
Regards

MichaelT

MichaelT
0 Likes
Message 12 of 18

TrippyLighting
Consultant
Consultant

@iulianOnofrei wrote:
I don't believe in titles, I believe in arguments.


I don't believe in titles either, but I respect experience. I've met Jeff in person and exchanged many messages with him on the forum and in a few Zoom meetings over the last 10 years.

He is a software developer with decades of experience developing the software we are using.

 

@wersy provided feedback based on his experience and observations. However, unlike Jeff, he has no insight into how the geometric kernel used in Fusion works or how Fusion is programmed. 

 

I've worked with CAD professionally for over 30 years and in 3D since 1998 (SolidWorks). I've worked with Fusion for 10 years this November. Surfacing is my specialty in Fusion, and I am sure @wersy can attest to that. I have not found a repeatable pattern of how Fusion decides on surface normals. Whenever I think I did find a pattern, the next surface model makes me reconsider. 

 

My journey into computers began with programming some 35 years ago, and I still do a little embedded programming. I am convinced that it isn't completely arbitrary or random, but I don't assume that it would help or even be relevant to modeling.

 

Traditionally, the main purpose of CAD software is to design and manufacture physical artifacts. As such, the desired result is a solid body, a BRep, and not an infinitely thin surface model. When you stitch surfaces that enclose a volume watertight, that creates a BRep. A BRep has a defined inside and outside, unlike an unstitched surface model, and Fusions will flip the normals as required to make a valid BRep. 

If a surface normal points in a direction that isn't useful for a particular model, use the Reverse normal command in the surface tab.

I found it to be a very rare occurrence when I have to use it to create a successful model from the surface.

 


EESignature

Message 13 of 18

iulianOnofrei
Participant
Participant

I now understood your point of views. Since I was not explicit enough in my question, I will try to explain it better.

 

---

 

I understand that a single surface could have an arbitrary normal, either like this:

iulianOnofrei_0-1730033926088.png

or like this:

iulianOnofrei_1-1730033941437.png

(However, note that from my tests, the normal's direction was always towards the bottom, probably due to the existing context of the default origin.)

 

But, a second, perpendicular and connected surface, has no reason to ever be created like this:

iulianOnofrei_2-1730034153372.png

or like this:

iulianOnofrei_4-1730034195464.png

It has enough context to easily be created like this:

iulianOnofrei_3-1730034170963.png

or like this:

iulianOnofrei_5-1730034266856.png

---

Hope this clears all the confusion related to my question.

0 Likes
Message 14 of 18

jeff_strater
Community Manager
Community Manager

First, a couple of clarifications:  @wersy - I never said that surface normal direction was "random", I said "arbitrary".  There are a definite set of rules which are followed.  Curve direction is one of those, but there are more.  I just cannot, without hours of investigation, tell you what, exactly, those rules are.  But, it is definitely intended to be deterministic.   Splines, especially, are fiddly when looking at surface normal.

 

@iulianOnofrei. if you have a case where the exact same set of steps, on the same geometry, produces different results, I would very much be interested in seeing that case.  That would be a bug.

 

Second, in your example, I assume that the "bad" surfaces, such as this one:

iulianOnofrei_4-1730034195464.png

were created as two separate surfaces, not one.  If this is a single surface, then I agree, that is a bug, and please share a design or a repeatable set of steps to reproduce it.  If not, and you then stitch these together, I suspect you will get a self-consistent answer. 

 

Regarding:  "It has enough context to easily be created like this:", if we are talking about two separate surfaces, then, yes, technically, there is enough information to make some assumptions.  But, that would requires a pretty complex set of logic.  On the second extrude, Fusion would have to:

  1. go back to the sketch owning the curve or line selected
  2. find that there are connected curves to the selected curves, which are not selected
  3. and that another surface has been created from one or more of those lines
  4. if so, collect info about that surface's normal, and create the new surface in a way that would be consistent, were the surfaces to be stitched together later

Given that you can flip the surface normal, and that stitch will make them consistent, I feel confident in saying that Fusion will never go to those lengths.  Also, there will be cases where there is no right answer, like in the video below.  That third surface cannot be created "correctly", because either orientation would be inconsistent with one or the other of the adjacent surfaces.


Jeff Strater
Engineering Director
Message 15 of 18

iulianOnofrei
Participant
Participant

@iulianOnofrei. if you have a case where the exact same set of steps, on the same geometry, produces different results, I would very much be interested in seeing that case.  That would be a bug.

 

Exactly, it looked like a bug, since it only happened once out of multiple reproduction tries. I recovered the only document in which this happened to me, and attached it to this reply, hoping it helps someone find out if there's an actual bug to be fixed or some expected behaviour.

0 Likes
Message 16 of 18

TrippyLighting
Consultant
Consultant



@iulianOnofrei wrote:

 

Exactly, it looked like a bug, ...


Thanks for reporting!

This isn't one, but in your journey with Fusion you will likely discover some bugs. Please don't hesitate to report them.

Even if it has already been reported, the more cases and data that can be added to a ticket, the likelier it has a chance of getting fixed!

 


EESignature

0 Likes
Message 17 of 18

jeff_strater
Community Manager
Community Manager
Accepted solution

Right.  These are two surface bodies:

Screenshot 2024-10-27 at 5.29.33 PM.png

 

and, if you stitch them together, the result is consistent:

Screenshot 2024-10-27 at 5.29.59 PM.png

 

Thanks for asking the questions, though.  There may well be bugs in this area.

 


Jeff Strater
Engineering Director
0 Likes
Message 18 of 18

TrippyLighting
Consultant
Consultant

It looks like I might have to eat my words!

Sometimes it's the simplest of models that highlights a bug.

 

In this video I took a model found on the German side of this forum. The first surface extrusion is created at an angle. I change it to a two-side extrusion, also at the same angle. It creates the 2nd surface with a normal opposite of the other surface. This is a single surface body with two surface normals pointing in opposite directions.

I would have expected both normals to point int he same direction.

Actually I would not even have expected to have a second surface, but a single surface given it is extruded at the same angle.

 

So now i have to unstitch the two surfaces and then stich them. That corrects the issue, but that should not be necessary.

 

 


EESignature

0 Likes