nd range component), then feed that into a list item component. In this case, 2 curves were referenced in from rhino into the same curve parameter.
When those are fed into a divide curve component, the data is structured into 2 separate data branches, (one for each line). so we end up with a list of points that lhas a data structure like this:
{0;0} N=11
{0;1} N=11
The series component defines the range of items I want to retrieve. By feeding the list of points into a list item, then using the series of numbers as the items to retrieve, you get the corresponding items out of both branches of data. The explode tree component separates the branches, (list of points for each curve), then connect them!
Hope that helps with an understanding of one possible approach!
…
"Node-Number"); pManager.Register_PointParam("Coordinate", "XYZ", "Node-Coordinate");}
protected override void SolveInstance(IGH_DataAccess DA) {List<Int64> num = new List<long>();
for (int i = 1; i < 11; i++) { num.Add(i);}
List<On3dPoint> Pnt = new List<On3dPoint>();
for (int i = 0; i < 10; i++) { On3dPoint point = new On3dPoint(i, i, i); Pnt.Add(point); }DA.SetDataList(0, num);
DA.SetDataList(1, Pnt);
}
I get the node numbers, but I can't get the coordinates...
(Rhino4/Net3,5/Rhino_DotNET and GH-V0.8.0066)
Thank you in advance.…
production and presentation; to feel the workflow of some of the top ranked architectural universities. It is an opportunity for professionals to join and exchange ideas with a team of world reputable tutors. GENERATIVE MORPHOLOGIES v2 will focus on exploring the potential of parametrically driven generative processes and their combinations. By those processes we mean growth algorithms, production systems, physics and chemistry based reactions. While some of those notions may be known for decades, the usage of parametric software can ease merging and crossing between them, therefore enriching them with new possibilities. One of the main ideas behind the workshop is to collide emergent processes with deterministic systems and gain control over the final complex outcome of the algorithm, while maintaining its' valuable qualities. DETAILS/// GENERATIVE MORPHOLOGIES v2 will use the Anemone plug-in as the main workflow driver. From the practical point of view, we will make sure to briefly cover the Grasshopper basics, dive deep into data tree concept, learn about simple scripting in GH, compare the usual GH workflow with looping paradigms (Anemone, Hoopsnake and Octopus) and much more. The goal is creating a project that each participant can proudly include in his portfolio using the state of the art programs and techniques. For attending the workshop there is no previous software experience required. WHAT YOU WILL LEARN/// - Introduction in Rhino 3D, Grasshopper - Introduction in Anemone, Hoopsnake, Octopus - Strategies for 3D printing - Rendering with Vray - Discussions on project presentation APPLICATION/// http://designmorphine.com/…
ge on top) of Sameer's definition he used:
{A;B} (i) > {A} (i)
Let's suppose that you have 5 curves selected in your definition. So you will have:
- Data with 5 Branches
- N=11 (as default value from Divide Curve)
- data structure (0;0) (0;1).....(0;4)
Here the question: WHY?? the points coming out from this Path Mapper belong to the fifth curve (and not the fourth, the third...etc.)?
Thanks a lot!…
he sunPath component works. For example if you want to simulate the hours from 8 to 16 it means you want 8 hours from 8 to 9, from 9 to 10,.... from 15 to 16 (8 hours duration period) so you get from the sunPath component (using default timeStep 1) the 9 sun position/vectors 8 9 10 11 12 13 14 15 16 (in the image the yellow suns). The things is that if you ask for a smaller timeStep for example 3 = 20 mins then the additional sun position (in the image the orange suns) are added also after the time limit of h16 so probably when you don't want/need. I understand that when you input a time period there is the ambiguity if the hours are the just 9 (the 9 inputs) or the 8 hours included between pairs of hours, but I would make in a way that it is possible to chose if the extra timeStep after the last hour are added or not. Thank you for your comments.
…
eas and references:
1. The Geometry of the Envoirnment, Lionel March and Philip Steadman, Chapeter 10 - 11
2. There is a good overview on Floorplan generation methodes under this link:
http://entwurfsforschung.de/layout/
3. Have a look @Space Syntax grasshopper plugin
4. The random approch / Infinit monkey theorem
https://vimeo.com/37186522
This has its limits 100+ rooms will not realy work...
5. A more obscure math approch -> spectral Graph matching
https://vimeo.com/136231619
And the paper to read:
http://www.sss10.bartlett.ucl.ac.uk/wp-content/uploads/2015/07/SSS1...
6. Shape grammers
https://en.wikipedia.org/wiki/Shape_grammar
enjoy....
…
11 number instead of 10 (0-10, 10-20, etc). Also grasshopper numbered (i've numbered it for easier view) the panels vertically starts from bottom left.
Questions:
1. How to generate correct number ranges (0-9, 10-19, etc)?
2. How to change the numbering horizontally so i could select items by row?
3. I also found out that some surface have correct U and V direction and some of the have it inverted (U in V position, vice versa). This has cause some problems in my design. is there a way grasshopper or rhino to change its U &V ?
First time posting here. sorry if there's any mistake or misunderstanding.
Thanks,
Wilson…
ectural context.
We will work with 5 projects that meet the conditions to be re-thinked nowadays in parametrical terms. { FOA : World Trade Center / MAD OFFICE : 800M Tower / TOYO ITO : Relaxation Park / FOSTER & PARTNERS : Gherkin Tower / FREE : Soumaya Museum }
We will produce dynamic objects defined by parameters and modified in realtime.
We will learn to discretize, facet and panel in a non homogeneous way.
We will work with restrictions to determine our shapes, obtaining unpredictable results.
And we will take the control of what we produce : by measuring , visualizing and optimizing our parametric forms.
2 Groups / 30 students max :
Thursdays : 25 Apr ,02 ,09 ,16 & 23 May
Saturdays : 27 Apr ,04 ,11, 18 & 25 May
Fee : 73 € / student…
Added by Carlos Bañón at 10:26am on April 18, 2013
ocessed once Grasshopper is done with whatever it's doing now.
3) Grasshopper tells the Slider object that the mouse moved and the slider works out the new value as implied by the new cursor position.
4) The slider then expires itself and its dependencies ([VB Step 1] in this case, but there can be any number of dependent objects).
5) When [VB Step 1] is expired by the slider, it will in turn expire its dependencies (VB Step 2), and so on, recursively until all indirect dependencies of the slider have been expired.
6) When the expiration shockwave has subsided, runtime control is returned to the slider object, which tells the parent document that stuff has changed and that a new solution is much sought after.
7) The Document class then iterates over all its objects (they are stored in View order, not from left to right), solving each one in turn. (Assuming the object needs solving, but since in your example ALL objects will be expired by a slider change, I shall assume that here).
8) It's hard to tell which object will get triggered first. You'd have to superimpose them in order to see which one is visually the bottom-most object, but let's assume for purposes of completeness that it's the [VB Step 1] object which is solved first.
9) [VB Step 1] is triggered by the document, which causes it to collect all the input data.
10) The input parameter [x] is asked to collect all its data, which in turn will trigger the Slider to solve itself (it got expired in step 4 remember?). This is not a tricky operation, it merely copies the slider value into the slider data structure and shouts "DONE!".
11) [x] then collects the number, stores it into its own data structure and returns priority to the [VB Step 1] object.
12) [VB Step 1] now has sufficient data to get started, so it will trigger the script inside of it. When the script completes, the component is all ready and it will tell the parent document it can move on to the next object (the iteration loop from step 7).
13) Let us assume that the slider object is next on the list, but since it has already been solved (it was solved because [VB Step 1] needed the value) it can be skipped right away, which leaves us with the last object in the document which is still unsolved.
14) [VB Step 2] will be triggered by the document in very much the same way as [VB Step 1] was triggered in step 9. It will also start by collecting all input data.
15) Since all the input data for [VB Step 2] is either defined locally or provided by an object which has already been solved, this process is now swift and simple.
16) Upon collecting all data and running the user script, the component will surrender priority and the document becomes active again.
17) The document triggers a redraw of the Grasshopper Canvas and the Rhino viewports and then surrenders priority again and so on and so forth all the way up the hierarchy until Grasshopper becomes idle again.
[end boring]
Pretty involved for a small 3-component setup, but there you have it.
To answer somewhat more directly your questions:
- The order in which objects are solved is the same as the order in which they are drawn. This is only the case at present, this behaviour may change in the future.
- Adding a delay will not solve anything, since the execution of all components is serial, not parallel. Adding a delay simply means putting everything on hold for N milliseconds.
- [VB Step 1] MUST be solved prior to [VB Step 2] because otherwise there'd be no data to travel from [GO] to [Activate]. The only tricky part here is that sometimes [VB Step 1] will be solved as part of the process of [VB Step 2], while at other times it may be solved purely on its own merits. This should not make a difference to you as it does not affect the order in which your scripts are called.
--
The Man from Scene 24…
Added by David Rutten at 4:43pm on December 10, 2009