Grasshopper

algorithmic modeling for Rhino

This is a bit of a continuation on a question I had about the ordering of a point list. I am still working through the creation of geodesic and diagrid structures, with the ultimate goal of being able to develop a complete parts list for the creation of full-scale structures.

I am struggling with the use of the surface evaluation and locating the surface normals for a subdivided surface. I have two basic questions: I will ask the first one here, then follow up the second one so I can included 2 screenshots from each question.

1.) In the creation of a vector normal to a point on a surface I am having difficulty getting the vector start point to be at the surface (normal or otherwise). Rather, it seems to start at the XY plane in a location corresponding to the XY coordinates of the point creation element (even when the surface has been reparameterized). This means that with a limited vector length controlled by sliders the vector will be positive or negative in direction but only from the XY plane, not the surface. How do I get the vector start point to be at the surface normal point? Following the digitaltoolbox tutorials I have been able to make a piped section start at the surface normal, but it only is developed above the surface in the positive direction.

Views: 2887

Attachments:

Replies to This Discussion

Part II of this question:

In the creation of a subdivided surface, as well as diagrid lines over that surface (all of which seem to work perfectly well), I have come across question #2.

2.) Location of the start point of a lofted surface seems to be locked into world coordinate origin. I am working through several small sets of .gh set ups for the geodesic / diagrid development, all in the same file. In order to limit the confusion of performing all of the actions on one surface, I have created several copies, and started the .gh definitions with those surfaces. It seems that all of the other elements of the definitions for the surface and its diagrid lines weren't effected by the move, in that they all seem to be locally connected to the surface / subdivided surfaces for each individual iteration. However, the definition for the surface eval to create surface normal vectors is stuck at the XY origin. Any thoughts about how to relocate this to the surface being developed / manipulated?

Attachments:

For 1st question.

A vector does NOT have a location. (<this is important to understand)

A vector cannot be converted to a line segment.

To create a line, you will need a starting point + a vector (moving start point by the vector to determine the end point). There is a specific component block even for this.

Vectors in GH are made up only by 3 values: X-Y-Z components.

Also points are made only by 3 values: X-Y-Z coordinates.

This is why GH lets you link a vector instead of a point and vice versa:

GH cannot convert a curve to a point or a vector to a brep!

But instead here, this is a fast conversion. Almost it's a non-conversion , it's "free".

But using this conversion is hard and really low common use! In few specific cases this will even become in hand, but initially it is best to "feed" blocks that ask for points with points! And vectors > vectors.

(stand with mouse cursor over input(or output) texts inside block component to found what they are "asking for")

This is why you get unexplainable results.

Watch what are you doing in your first pic: you linked normal vector "N" to point "A" in line component.

If you want to have a line to pipe on, take your start point and MOVE it with "N" vector to get the end point. If you want a longer line, change amplitude of the vector "N" before using it.

EDIT: in future, to get better help from the forum here, attach your data; .gh file with internalized geometries or .gh + .3dm files with linked geometries.

Ricardo,

Thanks for the excellent explanation! I will go through it with my files and make the changes as described. I am just learning my way through grasshopper and the help of the forum has been spot on.

Greg

Riccardo,

I just had a chance to recreate your sample, using my surface. It worked perfectly. I will work through the other elements of my solution to replace the errors. And apologies for misspelling your name.

greg

RSS

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service