Grasshopper

algorithmic modeling for Rhino

I thought that the "Offset" component used the surface normal as a positive direction for offset.

It doesn't seem to be the case.

If there is no logic, then it's tough to build upon the output of this component...


Views: 1890

Attachments:

Replies to This Discussion

Interestingly if you use offset loose instead, you get a result that you might expect.

I think what's happening is that the surface offset component is offsetting in the direction of the Surface normal rather than the Brep Face Normal (which can be opposite the surface normal). Part of the common confusion is that what RhinoCommon calls a "Surface" is in fact always an untrimmed surface - whereas what Grasshopper calls a surface is a Brep with a single face. You can identify those GH surfaces that are the "opposite" direction with a short script: 

private void RunScript(Brep x, object y, ref object A)
{
A = x.Faces[0].OrientationIsReversed;
}

The ones for which this offset seems "wrong" are the ones which return a true value with this script.

Note that ultimately I agree that for consistency's sake in GH the surface offset component *should* behave the way you expect it. But hopefully this helps explain why it behaves the way it does.

Thanks for that. That helps, I hadn't realised the two (Brep and surface) could differ but I can see why it would now.

Hi Andrew, thanks for the explanation.

If I follow you well, the surface normals as output by the "Evaluate Surface" component should be consistent with the "Offset Surface" component since they both deal with the "Surface" in the GH sense of the term.

That is not the case :

I didn't really understand what "Brep face Normal" means mentioned by Andrew, but anyway, when I apply his script, the directions of the offset are matched anyway.

Attachments:

Thanks !

I had a clunky workaround which offset surfaces in both directions, joined the resulting surfaces and sortes the resulting Breps by area...

This is much cleaner, although I still think that something is really screwy with those normals...

Read my reply - I agree that the behavior of offset surface is incorrect. 

Yep.

How about you ?

Did you read my mail about retrieving object IDs as outputs of the "Place Block" and "Objects by selection" Human components ?

:)

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service