Hello ! I’m new to Grasshopper and would like to understand a couple of concepts and how these concepts in GH can be helpful in the architecture industry.
I would like to know more about ‘list items’ and how they are helpful to designers and architects. Why would we need to compare lists? Can a list be deconstructed?
Also , what are ‘naked edges’ when people talk about meshes and NURBS? Does baked objects from GH create meshes or NURBS?
Thank you smart people!
Lists or arrays are concepts from computer programming that basically allow abstract data to be organised or structured in data collections. You can think of it as porting the concept of a shopping list to IT. Grasshopper is basically a visual scripting plugin for Rhino and thus borrows heavily from coding concepts.
Let’s say that your shopping list contains: apples, salad, ham, bottled water, and toilet paper. Each of these goods is a list item, since it’s included at a defined position in your shopping list. For instance, salad is at position 1.
Lists have many other properties. For instance a count or length, which describes the number of items in a list. In the above example, the shopping list has a length of 5 items. The range of the list is from 0 to 4. Note how the counting starts at 0 (not 1), meaning that the first list item apples is at position, also called index 0.
Lists can for instance be compared to evaluate the data inside, to find similar or exclusive items.
Let’s say we have a second shopping list with duct tape, rope, bottled water, and a bucket on it.
Now, by comparing both lists you can conclude that they share the item bottled water, but all the other items are mutually exclusive.
Furthermore, deconstructing lists is not really a thing. You can pick individual or a range of items from a list, delete certain items, append or insert other items, or even delete the entire list. Think of deconstructing more like selecting all items from the list individually.
Of course there are many more properties and things you can do with lists! It’s a rather vast topic.
When talking about meshes, naked edges are edges of faces that aren’t connected to any neighbouring mesh faces. For instance, a mesh sphere has no naked edges, since it’s a volume and all its faces are interconnected. A mesh plane on the other hand has a number of naked edges that corresponds to the boundary of the plane.
Surfaces don’t feature naked edges (as far as I know). They are a geometrically/mathematically different concept than meshes.
When baking Grasshopper objects to Rhino, the resulting geometry is of type of the component that you select to bake (e.g. Point, Curve, Surface, Mesh, Brep, Solid, etc.). It is your individual definition (GH file) and workflow that defines your output, in other words if you design your file to output meshes, it will.
Thank you so much for the clarification. This post has been extremely helpful!