Grasshopper

algorithmic modeling for Rhino

Hello Hello, 

I am working on creating node joints for a sculpture, and I thought I had the definition for generating the nodes all figured out . . . I attempted to use the Shatter component and it works but for only 3 of the lines (depending on how the definition is flattened and grafted) but it never works for all the lines . . .

I have attached the gh file I created as well as images of what I am attempting and what I am getting from gh

All help is appreciated, 

Images:

what_I_get.jpg

what_I_need.jpg

GH Definition:

shatter_madness.gh

Views: 2147

Replies to This Discussion

I think it's because some meshes may have their normals in the opposite direction and the thicken tool thickens in the direction of the normals. You could try the Weaverbird Unify Face Windings tool or Mesh >> Unify Mesh Normals or you can try and test the direction of the mesh normals and flip them if they are in the wrong direction.

I think Unify Mesh Normals unifies them all in each mesh so some could still get unified inwards. Worth a try though.

Martyn, 

I attempted to use those earlier, but the problem isnt that each mesh itself has conflicting Normals; the issue is that multiple meshes (12) WITHIN the group have reversed Normals . . .

(Image attached) 

Attachments:

Hmm, have you tried using Display >> Vector display to show the mesh face normals? Use Decompose Mesh to plug in to the Vector Display.

Then, if the normals are consistently all pointing inwards or outwards on each mesh, you might be able to test for this and Flip Mesh Normals on the meshes that have normals pointing inwards.

If all the normals on all the meshes point outwards then you have a tricky problem!

OK, I've just confused myself but I added something that seems to test for the direction of the normals, finds 12 meshes that are different and then flips those 12 meshes.

Lack of sleep is preventing me from actually telling if it has made a difference though, so back to you!

Attachments:

short version of the story: SWEET BABY JESUS IT WORKS

long version: I am studying the definition to sort out how it works

Either way thank you thank you thank you thank you . . . I am still sorting out ways to get GH to do what I am after, and that is hard when I don't speak GH fluently. So again thank you!

I got lucky!

I took the node centre points, found the closest point on the meshes, then evaluated the mesh at those points, did a dot product between the mesh normal and the vector between the node centre point and the mesh closest point. If the dot product is +ve it means the vectors are roughly in the same direction, -ve means they point apart (or the other way round... that's where I got lucky... I don't really understand dot product and cross product but first guess worked!) so then filter the meshes on the +ve and negatives, flip the meshes from the list that had 12 (because you mentioned 12) and bingo! My eyesight had failed me and something weird was happening with the Preview component so I sent it to you!

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service