dive into more complex parametric models. We’ll also learn tricks to keep our project responsive and enjoyable to use. Course outline
covering similar content as the first part of the primer (http://www.grasshopper3d.com/page/tutorials-1)
novel material
duration: 3 days (24 hours)
Including
An understanding of the Grasshopper interface and the visual programming theory
Base parameters, large numbers of points and vectors, and small geometrical instances
Data flow
Troubleshooting definition problems and solutions
Know the main component types
Be able to join, and manage connections and trees
Expressions for both calculation and boolean creation
Understand Data Matching and casting
Managing long lists of objects within Grasshopper
Have an understanding of the functioning of Grasshopper components
Experience creating definitions
Parametric geometry examples, like attractors and list culling
Re-utilizable modeling examples: colored panelization, surface population, gradient and picture sampling and manipulation, catenary line and weaving
Spline animation examples
Getting ready to prepare own definitions in groups
More information...
…
here are my questions.
1. The difference in general attractor transition is that, i only want the points are moving toward x axis, so if i just have ONE curve to distinguish, which is'nt the problem to find points location are in the right of left side of curve, but if i have TWO or THREE curves need to be distinguished, that is totally confused to me!
2. The points near curve which moved too big, how can i make it more equal?
3. I hope all the points can stay in the square boundary.
If anyone can give me some hint, i would be very appreciate with that.
thanks a lot!!
Shaun
…
ay how many valid permutations exist.
But allow me to guesstimate a number for 20 components (no more, no less). Here are my starting assumptions:
Let's say the average input and output parameter count of any component is 2. So we have 20 components, each with 2 inputs and 2 outputs.
There are roughly 35 types of parameter, so the odds of connecting two parameters at random that have the same type are roughly 3%. However there are many conversions defined and often you want a parameter of type A to seed a parameter of type B. So let's say that 10% of random connections are in fact valid. (This assumption ignores the obvious fact that certain parameters (number, point, vector) are far more common than others, so the odds of connecting identical types are actually much higher than 3%)
Now even when data can be shared between two parameters, that doesn't mean that hooking them up will result in a valid operation (let's ignore for the time being that the far majority of combinations that are valid are also bullshit). So let's say that even when we manage to pick two parameters that can communicate, the odds of us ending up with a valid component combo are still only 1 in 2.
We will limit ourselves to only single connections between parameters. At no point will a single parameter seed more than one recipient and at no point will any parameter have more than one source. We do allow for parameters which do not share or receive data.
So let's start by creating the total number of permutations that are possible simply by positioning all 20 components from left to right. This is important because we're not allowed to make wires go from right to left. The left most component can be any one of 20. So we have 20 possible permutations for the first one. Then for each of those we have 19 options to fill the second-left-most slot. 20×19×18×17×...×3×2×1 = 20! ~2.5×1018.
We can now start drawing wires from the output of component #1 to the inputs of any of the other components. We can choose to share no outputs, output #1, output #2 or both with any of the downstream components (19 of them, with two inputs each). That's 2×(19×2) + (19×2)×(19×2-1) ~ 1500 possible connections we can make for the outputs of the first component. The second component is very similar, but it only has 18 possible targets and some of the inputs will already have been used. So now we have 2×(18×2-1) + (18×2-1)×(18×2-1) ~1300. If we very roughly (not to mention very incorrectly, but I'm too tired to do the math properly) extrapolate to the other 18 components where the number of possible connections decreases in a similar fashion thoughout, we end up with a total number of 1500×1300×1140×1007×891×789×697×...×83×51×24×1 which is roughly 6.5×1050. However note that only 10% of these wires connect compatible parameters and only 50% of those will connect compatible components. So the number of valid connections we can make is roughly 3×1049.
All we have to do now is multiply the total number of valid connection per permutation with the total number of possible permutations; 20! × 3×1049 which comes to 7×1067 or 72 unvigintillion as Wolfram|Alpha tells me.
Impressive as these numbers sound, remember that by far the most of these permutations result in utter nonsense. Nonsense that produces a result, but not a meaningful one.
EDIT: This computation is way off, see this response for an improved estimate.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 12:06pm on March 15, 2013
t BBox will then be mapped relative to the UVW space of that box to the new target boxes.
Where your definition is slipping up is the data matching aspect of GH. You have two lists (that count). One list contains 100 items of target boxes and the other contains 2 items of geometry. GH defaults to the Longest List data matching
List A --> List B
Target Box A0 --> Cuboid
Target Box A1 --> Cylinder
Target Box A2 --> (Oops List B has run out of items. Now GH will repeat the last item = Cylinder)
Target Box A3 --> Cylinder
.....
Target Box J9 --> Cylinder
Solution
There are two approaches to rectify this the most logical would be to group the geometries into one object (What you had in mind with the bounding box) to do this use the Group Component on the Transform Tab > Utility Panel.
The other approach is far more common in GH mentality. Use the Graft, right click the G input of Morph and select Graft from the Context Menu. This places all of the items in the List on to separate branches. Creating a list of lists (although these new list only have one item). When GH now tries to data match them it will apply the whole of the first geometry list (Only the Cuboid) to all of the target boxes and all of the second list (Cylinder) to the target boxes again.
I hope this helps…
p, open to designers worldwide, will explore the parametric mix of new raw materials and the re-use of elements from Carnival floats and costumes, transforming them using generative design processes and new digitally fabricated joint components, to create interventions for micro-venues and urban furniture in the Porto do Rio region.
Taught by AA Staff, recent AA graduates, and computation and fabrication professionals, the studio-based workshop will include extensive instruction in Rhino Grasshopper (including GECO, and Galapagos, to integrate environmental optimization, simulation and parametric control) and digital fabrication processes using laser cutter, CNC-milling and rapid-prototyping machines, sponsored by DS4 and SEACAM, all of which will be used to produce one-to-one design prototypes.
MORE INFORMATION AND APPLICATION: http://rio.aaschool.ac.uk/andhttp://www.aaschool.ac.uk/STUDY/VISITING/rio.php…
h Shading--DC to AC derate Factor--Photovoltaics Module, can calculate the ACenergy of different pv arrays by Galapagos. The process can evaluate the self shading from the input analysisGeometry and surrounding shading from the input context.
2. PV SWH Systemsize, can also do that, but there would be no second type of self shading for the chosen minimalSpacingPeriod_ criteria.
3. TOF outputs optimal angle and azimuth.
So my question is, if I choose to make a curved roof to form a best pv array with best ACenergy, whether should I only choose the first above, the second PV SWH Systemsize can only deal with the angled or flat surface, not the curved? What's the relationship between TOF and PV SWH Systemsize?
Also, I'll do my best to make a parametric model as soon as possible and upload it to you, so we can make the discussion more detailed.
Best regards.…
face, the larger the number of modules and system size, there for the higher annual energy generation.baseSurface_ - this input exists only for "PV SWH system size" component. It's purpose is to represent a mounting plane on which the PV modules will be put onto. The dark blue colored roof in the photo below is that mounting surface in this case:
So the size of area of the baseSurface_ is not important but its plane.
2) It is important. It basically sets the initial losses of the system.
If that is the soiling value you have, then yes, you need to add it to the DC to AC derate factor component, and then plug its output to "DCtoACderateFactor_" input. I did that in the attached definition below.
3) The north vector/numeric value is not propagated due to possible independent usage of components.I plugged the 0 value to all three component's which have "north_" input. You can change it to what ever value you need.
Please let me know if I didn't answer completely to your questions, or if you have more of them.…
milar once its default data managment techniques are exceeded thus forcing a new address index to be inserted. Its all just so unnecessarily particular and finickity.
If addresses are added when forced to, why not just have that as the default behaviour in the first place? Its not so much 'one size fits all' as postulated previously, but more one size fits 80% of cases and in the remaining 20% of cases you're going to be a slave to your definition as constant manual management will be required just to control the thing.
My final point:
circle with points should have a list address of {0}
multiple circles with points should have list address of {0;0}
multiple circles in multiple locations with points should have list address of {0;0;0} etc
I really dont see how that is any less consistent for highly complex data strucutres. To any rational individual this is predicable and follows a logic. What advantage is there in fixing the address at {0;0} yet still allow for new address sequences to be added firther down stream? Logic is the key thing to keep in mind here, not peculiar nuances only the initiated can ever be aware of.…
cle
the 'Shape' is copied to all points
shapes are rotated randomly, plus or minus 'Angle' maximum
'Shape In Brep (ShapeIn)' is used to cull shapes that aren't within the circle
'Fast Loop' begins using 'MCX' (Multiple Curves Intersection)
first shape is added to 'D1' output and shapes intersecting it are culled
results minus first shape are passed to 'D0' of 'FastLoopEnd'
loop repeats until 'D0' list is empty
'D1' results are scaled down slightly (0.75) to leave more space around them
'Explode' results and return only the curved part, ignoring the base line that closes the shape
…
Added by Joseph Oster at 11:01pm on March 17, 2017
avid--this software is a pleasure to use, and David, you have done an amazing job. I also want to acknowledge it takes a lot of work to edit the software, and I understand that it can take a while before any changes are made.
Okay so here are some ideas:
Subcurve - just like subsurface, but based on 1-dimensional intervals
Map Values to Interval - a single component that could take a list of values, an interval, and would scale the list of values to match the input interval.
A Dispatch component that could dispatch according to a list of output indices. Instead of just True/False, you could output things based on a pattern using 0/1/2/3/4, etc. This component would be the inverse of Weave.
A text object parameter and data type, with some basic ways to edit it.
More string manipulation operations, allowing for easy editing with string subintervals, and character counts, and basic text formatting (line return, etc.).
I really really really wish the List Item component had a default index value of "0". That is what I input into it 80% of the time.
That's all for now. If any of these ideas are already adequately addressed, please let me know. Thanks.
…