Grasshopper

algorithmic modeling for Rhino

Hi guys, I get some doubts in relation with offset a polysurface in Rhino, i´m wondering how can we obtain a an clean offset performed on a polysurface, with the same result as if we use WB thickness based on distance diagonals, becouse due to the complexity of the shape the offset on a polysurface always seems collapse mainly if we work with sharp angles, and i already try many ways, however if we work with a mesh, the offset operation seems to works fine. - I use this shape as a sample, the shape i´m working in it´s more complex with many sharp angles folds. Thanks in Advance.

Views: 7515

Replies to This Discussion

offset the curve (the sharp angular curve) and then extrude in the direction of the surface 

It´s not so simple, once i'm working with multiple trimmed surfaces with many directions.

for two directions!

Attachments:

Mohamed, I appreciate your attempt, but this is not what i´m looking for, maybe i´am not explaining myself correctly. Anyway, I appreciate your reply, I will try to develop one nice clean strategy but i guess it could be hard. let´s see. Later if I achieve a clean result i will keep you posted. 

It is quite easy if you just think about how a mesh does it. The key is to offset the corner points not the surfaces. Same as a mesh does with its vertices. Rhino offset doesn't work I assume because it offsets each surface to its normal then (messily) closes up the corners between. If you offset the corner points (and make sure they always stick together) you will have clean corners. This means you need the accumulative normal per each corner (normals at vertex). The idea can be the cross product of each corner points connecting edges ;) https://en.wikipedia.org/wiki/Cross_product

Nice, cleaver. Sometimes we are so focused on something that we forget the basics. Michael I will check the process that you indicated and later I keep you posted. 

Is it an average component what make that, please check this one

Is it close Joaquim?

Attachments:

Average works in your case because the faces all have a similar enough normal direction (kind of downward) and also Delaunay works for the same reason (all kind of flat horizontal faces) if you add some faces going more upwards or overhanging it wont work anymore. That is why you need the movement vect for each corner point which can be the dot product of connected edges. 

Mohamed, Michael is right, however even if we use cross prodcut between edges, to find the right direction, if we use a more complex polysurface the result it wil always be diffuclt to control, since it will depend on properties and  mainly the proximity of the surfaces . If we use some kind of origami - just for sample, with these method we will need a complex design becouse we need to control each length of the vector to surfaces don´t intersect. You could mimic the cross product  simple use Wb offset, explode faces and find the direction between booths and rebuild as a polysurface after, however even in these case the result it´s not so interesting, i guess it depend how cross product is calculated, and i'm not sure what technique is used inside WbOffset. Anyway I didn't achieve good results so far.

In that case you need to think about the intersection. One way could be to do the offset iteratively. A little at a time with a test for intersections and then a trim operation upon intersection or if points get too close you then combine them together and move them at the average of their directions. Other ways are with iso's (pinterest.com/pin/69454019229076493/). A good way is to use 3d printing prep software like meshmixer (meshmixer.com) or mesh lab (meshlab.sourceforge.net) as many of them have very good shelling algo's already built in for 3d printing (as you wont want intersections when 3d printing)

Hi Michael,

Is there any chance that you may share the file (or perhaps part of the file if sensitive) of your example shown above? That looks super fascinating. 

Thank you so much!!

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service