Brep normals

I was creating a form with solid difference between a tortioned cone and a vertical array of rings.
The boolean was not working and after looking around I realized that since the rings were created by revolution, the direction of the profile curves affected the normals of the resulting brep.The problem was solved by flipping the profiles, but in other cases, the profiles have random directions with no easy way to check if the direction is the wanted one.

Is there a way to make sure the normals of a closed brep face outwards?

brep (13.5 KB)

Just a simple question my dear Watson (But I have no idea if this is available as component). BTW: If the thing is closed normals point outwards (unless is flipped).

Also (trust nobody):

then put it in one! (I’ll make a pretty icon for it!) hahaha

Use this:

Screen Shot 101

Ok, now make it for me! :stuck_out_tongue:


1 Like

The Lord (The Merciless) doesn’t like closed/sealed things. Get the proper open stuff and start altering words, lines, sentences, paragraphs (avoid Armageddon). (118.0 KB)

Brep_normals_GreekRequest_V1.3dm (383.9 KB)

This is what you give me?
I did not ask for a diagnostic tool, I asked for a black box that turns a brep in a ‘correct’ one: one input, one output (the only thing a programmaticaly illiterate low-life like me can handle!)

P.S 1 Nobody hates the Greeks more than the Greeks!
P.S 2 Where they ever so young? God I’m feeling old…
P.S 3 Do the component for me pleeeaaaseee…

I hate Greeks (and - obviously - myself):

What do you mean a thing that turns a brep into a correct one? Breps are either Valid (and/or Manifold) or not. And what is the difference between an open box and a closed box if both do the same thing ? (hopefully).

Anyway: provide a List with bad Breps and we’ll see if we can make’m worst (hope dies last):

Moral: Que sera, sera.

In the definition I uploaded, when I dont flip the profiles, the resulting breps appear to be completely legit but their normals are inwards and then all the boolean operations with the conoid behave unexpectedly

Big changes: (120.9 KB)

  1. Breps that are NOT valid and manifold they are rejected from the bList.
  2. With all the info “add-ons” off this is a black box (in fact an open black box). Or it could be from a certain distance from your monitor/computer (say: 666 meters). I mean it gets a bList and outputs a new bList: THAT makes it a black box.
  3. Option policy added: (2.1) do nothing, (2.2) if is inward flip it , (2.3) if is outward flip it, That said this option is available only if the brep is solid. If however the brep is bananas (Karma, what else?) despite the valid/manifold checks … then you’ll get bananas as well (life sucks).
  4. The result from 2 is the newBrepList
  5. I love Greeks (kinda).
  6. The standard Ducati promo is provided.
1 Like

Ok, here it is in a user-friendly form:
Of course it could be a lot lighter but I don’t code and you can’t stop analyzing!!! :slight_smile: :slight_smile: :slight_smile: (6.8 KB)


Said the Lord (the Merciless King of SardineLand): ALWAYS get as much info you can because in 99.99% of cases things develop differently from what you ideally expect.

For instance what if you want certain Faces to point North and some others South? What if a Brep is broken for some reason? What if you run out of Tequila? What if is 02.00 and nothing works and you should Skype the client at 22.00?

And given the opportunity here’s the challenge for the very brave: Get a cube and a smaller one fully engulfed into the former. Can you subtract the small from the big? (i.e. creating a solid that has a void inner portion).

In such a case I will take advantage of your love for problem solving! (as other people do that with me!)
the secret is to have enough giants as friends so as to hop from shoulder to shoulder!

"There is neither Jew nor Greek, there is neither bond nor free, there is neither male nor female… aso. (Galatians 3:28)

For it is written :

“For whom the LORD loveth he correcteth; even as a father the son in whom he delighteth.” (Pro 3:12)

Now, this was the merciful one, but anyway. :wink:

// Rolf