Post questions related to the Week 1 class here.
Discussion about Grasshopper Basics, Example Files, and Constraint-based Programming Exercise
I tried rebuilding Exercise 4 GH_04_Cull Pattern.ghx and ran into a couple questions:
It seems the RecGrid component has been redefined in the latest Grasshopper 0.6.0059. There are 5 input ports (P, Sx, Sy, Ex, Ey) and 2 outputs (C and P). Can this component be used in a similar fashion by setting a common "spacing" slider to Sx and Sy, and separate sliders for Ex and Ey to vary the number of grid cells?
After establishing a "normal bool" and "inverse bool" components, as well as 5 boolean toggles, I find I can only connect one boolean toggle output to each of the "normal bool" or "inverse bool" components. Is there another component type, such as "bool collector" which collects multiple boolean toggle outputs, or is it possible I have a setting incorrect?
At this point, my re-interpretation of Ex 4 creates 2 different spheres at all grid points since the normal bool and inverse bool functions are not performing correctly.
Suggestions are welcome! Thanks for your help.
Good catch. The RecGrid component has changed so you can have variable length and width. You can do the method you outlined to get the old functionality… or you could use the new SqGrid component (which is really the old RecGrid component)
Regarding your second question (if I understand it correctly), you can connect multiple booleans into one input by holding down the shift key when you when you drag out a wire and connect it into an already 'occupied' input…. you can collect them in a generic bool component….
Please see my attached file for clarification.
It looks like using the Panel tool can be invaluable in determining what is actually going on with your model. I built the Cull Pattern example with a small grid and a panel at nearly every node showing me exactly what was changing about my grid of points. This way I was able to compare lists to see exactly what each modifier (particularly the cull function) was doing. You could then click around, for example messing with your booleans, and watch the list change in the panel in response to your click. It really helped for following the logic.
I built the distance logic example without doing using any panels. Though the end result was similar in appearance to the example, I really don't know what I did. I just copied the functions and drew in the connections and waited for the output. The panel tool would have been really helpful for following what was a pretty complex model (for this point in class).
Yes, I use the panel tool quite often to verify how my data is moving in a definition. Another helpful tool is the Param Viewer . I introduced this briefly when I demonstrated data trees before the doing the paneling tutorial.
We will look more at data visualization when we start getting into responsive systems next week.
From "WK1-1_GH_Area Constrained Shapes."
% of Surface Area Difference should be "% of perimeter difference," right?
Good catch! You are correct. It should be perimeter difference.
Different shapes of the same area will have different perimeter lengths.
Think about how much facade material would be saved if every building plan was circular instead of a rectangular!
Regarding WK1-4_GH_Circle Shape Array:
It took me awhile to figure out that I need the check "Reparameterize" for Eval that I can make the control circle rotate as I want it to be.
What does "Reparameterize" do? in what occasion I need or don't need to Reparameterize?
I was waiting for someone to find that :)
Reparameterize 'resets' the domain of a curve or surface to be from 0 to 1…
In the case of the circle in the WK1-4_GH_Circle Shape Array….
By default, Grasshopper is recognizing the domain of the circle to be from 0 to the total length of the curve. In some cases, we won't know what total length of the curve is because the curve may be tied to another slider that is free to change. Reparameterize resets the curve so the domain always exists between 0 and 1.
We will have an exercise next week that discusses this further