Grasshopper

generative modeling for Rhino

# IsoCurve box doesn't work?

I am trying to create U and V iso curves on a surface. But no matter what i try, the curves appear extremely offset to the surface. I keep trying different surfaces, and different methods of feeding point information to the box, but i can't get an iso curve to actually be on the surface. Is this a bug?

Views: 137

Attachments:

### Replies to This Discussion

I want to divide one edge of the surface into points, end then have U (or V) curves extracted from those points. I just realized isocurves can be extracted if i use divide surface, and then connect UV instead of P to isocurve box.

How can i have them run just from the edge, not a grid over the entire surface?

*edit*

I seem to have gotten a wave of inspiration as soon as i posted this (i've been experimenting with this for an hour), and i managed to solve my problem by using Srf CP, to get those points to act as if they were on a surface.

But since i posted all of this, is this the proper way to do it, or is there something more simple? I'm still not quite sure whats the difference between just points and uv points if they have the same coordinates.
Imagine you have a piece of A4 paper. In the lower-left corner you draw a dot and you write "0, 0" next to it. This coordinate which consists of 2 values only, represents the position of the dot in paper space. In the upper right corner you draw another dot, and you write "1, 1" next to it. You now have 2 points defined in paper space (uv space).

Ok, lay down the pencil and pick up the paper. You'll notice that the two points have just moved through world-space. They were very close to the desk, but now they are hovering above it. The coordinates you wrote down on the paper or the other hand are still valid.

No matter what you do to this piece of paper; crumple it, fold it, take it on a plane to South Africa, those two points remain fixed in paper space.

A surface is always a rectangle in Rhino. It may be deformed, it may have holes cut into it, but in the end it's always a rectangle, just like your piece of paper. UV coordinates are points that are defined in Surface UV space. They consist of only two numbers, because a surface has no thickness. At any point in time, you can translate these UV points into World XYZ points using what is called a surface evaluator. Where these XYZ points end up depends entirely on the *shape*, *size* and *location* of the surface.

----

Surface uv-space (and Curve t-space) are vital when dealing with nurbs geometry. If you do not understand the concept of parameter space, you will have a lot of problems because many components in Grasshopper use these coordinates.

--
David Rutten
david@mcneel.com
Seattle, WA
Thank you for the reply. I come from a 3d graphical background, and i have a bit of trouble understanding the NURBS modeling concept. I do however understand that a point can be a part of the surface, and be relative to some point on the surface. I probably still have a long way to go before understanding how that point chosen, how are multiple surfaces treated when connected and so on.

It did confuse me though, i was sure that the points i extracted are a part of the surface. The way i set the definition, they would always be. I imagined it would work in case that they are on the surface, but not if they were displaced (if i were to keep the same definition but chose a curve thats not a part of the surface).

It is pretty straightforward. There is no magic. If i want a point informatino that is a part of a surface, it has to be a UV defined point, not XYZ.
No, you'll notice that the Isocurve component takes a UV input and the Divide component has a UV output. You're feeding it real-world coordinates which are clearly off the surface domain. You need to change the wire that transfers points from the Divide to the IsoCurve component.

--
David Rutten
david@mcneel.com
Seattle, WA

• View All