ee 3)
{5}
0 15
{6}
0 16
And I want to place points at every possible combination of these coordinates, treating Tree 1 as X coordinates, Tree 2 as Y coordinates, and Tree 3 as Z coordinates. Also, I would like the list of points to be a tree with paths corresponding to the coordinates. Wouldn't it be nice if I could plug these trees into a Point XYZ, with a new "branch cross reference" method, and get the following result?
{0:3:5}
0 {10.0, 13.0, 15.0}
{0:3:6}
0 {10.0, 13.0, 16.0}
{0:4:5}
0 {10.0, 14.0, 15.0}
{0:4:6}
0 {10.0, 14.0, 16.0}
{1:3:5}
0 {11.0, 13.0, 15.0}
{1:3:6}
0 {11.0, 13.0, 16.0}
{1:4:5}
0 {11.0, 14.0, 15.0}
{1:4:6}
0 {11.0, 14.0, 16.0}
{2:3:5}
0 {12.0, 13.0, 15.0}
{2:3:6}
0 {12.0, 13.0, 16.0}
{2:4:5}
0 {12.0, 14.0, 15.0}
{2:4:6}
0 {12.0, 14.0, 16.0}
In this form of cross referencing, every combination of individual branches from the different lists is used as separate input, and the output for each combination is put onto a branch in the result whose path is the concatenation of the input branch paths used.…
Added by Andy Edwards at 7:03pm on November 3, 2009
output: 0, 1, 3, 6, 10, 14, 17I have a basic understanding of programming and can understand vb.net better than I can write it. Any help would be greatly appreciated!ThanksJeff…
6, 7, 8, 9, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, etc
In addition to the components in the attached file, I have also tried using Cull Index but that did not do much. I tried using a number slider set to whole numbers with the range equal to the values I have set up in the integer, but it just increases the size by 1 every time. Any help on steps in the right direction would be great thanks.…
0;3} (N = 2)
{0;0;0;4} (N = 2)
{0;0;1;0} (N = 2)
{0;0;1;1} (N = 2)
{0;0;1;2} (N = 2)
{0;0;1;3} (N = 2)
{0;0;1;4} (N = 2)
Flattening this structure using the Flatten component would result in:
{0} (N = 20)
However, using a Path Mapper with the following masks will flatten is somewhat more intelligently:
{A;B;C;D} -> {A;B;C}
Now, you get:
{0;0;0} (N = 10)
{0;0;1} (N = 10)
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 3:19am on December 14, 2009
operate on the data from your own components.
2) Put your 2D array data inside a Grasshopper.Kernel.Types.GH_ObjectWrapper instance, which is a class that can be used to transmit non-standard data through wires. Again, you'll only be able to use this from your own components.
3) Create your own data-type (implement IGH_Goo) as a 2D array.
4) (and my favourite) store your 2D data in a DataTree instead. All grasshopper data is stored in trees and it's possible to mimic a 2D array this way. For example, you could create a tree like this:
{0} N = 10
{1} N = 10
{2} N = 10
{3} N = 10
{4} N = 10
This would be analogous to a 2D matrix of 5 x 10.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…