Grasshopper

algorithmic modeling for Rhino

Hi all,

I've got a faceted geometry and I want to unroll it with information about how large the 'interior' face would be taking into account material thickness. All is well and good with the unroll etc. but I noticed that using the wbOffset returns non-planar faces. I AM passing the component face curves instead of true mesh faces but everything else works as expected. Can anyone explain the small error?

Views: 2110

Attachments:

Replies to This Discussion

I seem to get the same problem with wbThicken.... (see image)

Jon Mirtschin mentioned something about 'shelling' creating non-planar surfaces:

http://www.grasshopper3d.com/forum/topics/offsetting-and-scaling-fa...

but as yet I can't understand why this would be the case.

Attachments:

Hi David

this seems a rather interesting topic and I can tell you about the way wbOffset works. WbOffset is thought to be a rapid precisely-defined way to offset any mesh or group of polylines. It is based on normal offsetting. With meshes there might be several definitions of offsets, and the one you are probably thinking about happens not to be coinciding with the only one currently supported in Weaverbird. Let's see a minute.

This is probably what you are thinking about: it is often called "shelling" in Rhino: the intersection of three planes determines the new vertex location. Given that three planes intersect in a point, it is a matter of debate what should really happen when four or more faces join in a vertex.

 

---

 

On the other hand, this is what Weaverbird offset does: it computes the normals, using the average of the faces that come into the vertex, and then moves along it. It is a similar algorithm to the one used my Rhino's _OffsetMesh command.

 

The way the normal is exactly defined will influence the offset location. In the case of three faces, I think one could use some "recipe" to make also this formula work like the previous one, but I haven't found that time to look deeper into that. I hope this explains the logic.

 

Giulio

--

Giulio Piacentino
Weaverbird development

I see what you mean. After seeing this and getting a few hints from Daniel Piker I've put this together this morning. The main issue being that working from curves means some of the normals are flipped and as such vertices move past one another and faces aren't planar.

I'll keep you posted.

Attachments:

It's probably not the most efficient way to do it, but this seems to do the trick. Any suggestions would be appreciated.

Dave

Attachments:

Hi David,

I have not looked at your definitions but I can comment that in general the offset of four planar quads do not allways intersect in one point. Or  if they have to intersect in one point like in Giulios WB they are not planar and have not constant offsets distance. Only the offset of so called ConicalQuads intersect in one point. That means all 4 faces have to be a tangent to the same virtual cone in order for nice planar offsetting. Constructions using conical quads are protected by a Patent. You can read more on the math here.

Thanks Goswin for pointing this out. We all have our idea and please let's not start a patent discussion here, ok?

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service