se the cull pattern, so I wanted to make the pattern using a function component. x=y. x= the original list and y= the interval i wanted to remove. So the pattern should be:
0: false
1:false
2:false
3:false
4:true
5:true
6:true
7:true
8:false
9:false
10:false
etc...…
Added by Rasmus Holst at 3:32am on November 17, 2009
per components.
I have attached a 3dm file and a picture so you guys can see what I am talking about.
I have previously translated boxes into breps, which i did with this code:
Dim bbx As New box(pl, New interval(-.5, .5), New interval(-.5, .5), New interval(-.5, .5)) Dim ms As New Mesh() ms.Vertices.AddVertices(bbx.GetCorners) ms.Faces.AddFace(0, 1, 2, 3) ms.Faces.AddFace(0, 1, 5, 4) ms.Faces.AddFace(1, 2, 6, 5) ms.Faces.AddFace(2, 3, 7, 6) ms.Faces.AddFace(3, 0, 4, 7) ms.faces.addface(4, 5, 6, 7) ms.Normals.ComputeNormals()
ms.Compact()
I have tried to do something similar with this specific example, and I now that meshes only consist of quads or triangles, so i broke down the geometry into quads without any succes.
Looking foreward to any suggestions.
- Jens…
etc.
Group 2 - 1, 6, 11, 16, 21 etc.
Group 3 - 2, 7, 12, 17, 22 etc.
Group 4 - 3, 8, 13, 18, 23 etc.
Group 5 - 4, 9, 14, 19, 24 etc. "
except in data, the branches start at 0, so 'group 1' is branch 0
as for the order of your points, that depends on the input prior sorting...
yrs …
ems in the same way. Lofting was particularly difficult, you had to have a separate loft component for every lofted surface that you wanted to generate because the component would/could only see one large list of inputs. Then came along the data structures in GH v0.6 which allowed for the segregation of multiple input sets.
If you go to Section 8: The Garden of Forking Paths of the Grasshopper Primer 2nd Edition you will find the image above describing the storing of data.
Here you will notice a similarity between the path {0;0;0;0}(N=6) and the pathmapper Mask {A;B;C;D}(i). A is a placeholder for all of the first Branch structures (in this case just 0). B is a place holder for all the second branch structures possibly either 0, 1 or 2 in this case. And so forth.
(i) is a place holder for the index of N. If you think of it like a for loop the i plays the same role. For the example {A;B;C;D}(i) --> {i\3}
{0;0;0;0}(0) --> {0\3} = {0}
{0;0;0;0}(1) --> {1\3} = {0}
{0;0;0;0}(2) --> {2\3} = {0}
{0;0;0;0}(3) --> {3\3} = {1}
{0;0;0;0}(4) --> {4\3} = {1}
{0;0;0;0}(5) --> {5\3} = {1}
{0;0;0;1}(0) --> {0\3} = {0}
{0;0;0;1}(1) --> {1\3} = {0}
{0;0;0;1}(2) --> {2\3} = {0}
{0;0;0;1}(3) --> {3\3} = {1}
{0;0;0;1}(4) --> {4\3} = {1}
{0;0;0;1}(5) --> {5\3} = {1}
{0;0;0;1}(6) --> {6\3} = {2}
{0;0;0;1}(7) --> {7\3} = {2}
{0;0;0;1}(8) --> {8\3} = {2}
...
{0;2;1;1}(8) --> {8\3} = {2}
I'm not entirely sure why you want to do this particular exercise but it goes some way towards describing the process.
The reason for the tidy up: every time the data stream passes through a component that influences the path structure it adds a branch. This can get very unwieldy if you let it go to far. some times I've ended up with structures like {0;0;1;0;0;0;3;0;0;0;14}(N=1) and by remapping the structure to {A;B;C} you get {0;0;1}(N=15) and is much neater to deal with.
If you ever need to see what the structure is there is a component called Param Viewer on the first Tab Param>Special Icon is a tree. It has two modes text and visual double click to switch between the two.
Have a look at this example of three scenarios in three situations to see how the data structure changes depending on what components are doing.
…
a single branch. However the order of branches inside a tree is defined by the sorting algorithm, it's not customizable. So if you want to insert a branch into a tree like this:
{0} {1} {2} {3} {4}
↑ ↑
{A} {B}
then {A} needs to be something like {0;1} and {B} needs to be {2;1} (or {2;2}, or {2;7} or {2;4;2;3}).
Perhaps you could benefit from a way to change the numbering on all the branches so that you can re-order it as you wish?
--
David Rutten
david@mcneel.com
Seattle, WA
ps. The image sampler should work that way. In fact it does on my Grasshopper build so I either already fixed this or something else is going on. Let's wait until 0.8.0002 is released.…
Added by David Rutten at 10:59am on November 16, 2010
I assume that branch 0;0 has N = 10 points, 0;1 N = 7 points.
In the photo the way you describe the points it is like branch 0;0 has N = 45 points, where subbranch 0;0;1 has null points, subbrach 0;0;1 has N=1 point... subbranch 0;0;9 has N= 9 points.
Most likely you need to just graft you initial data tree that has the following structure
0;0 with N = 10
0;1 with N = 7
0;2 with N = 9
0;3 with N = 5
0;4 with N = 8
without a file, or a solid description of your starting data structure all these remain assumptions.
…
1 ....... (0|2)
First Group Points 0+1+2+3+4+5+6......(0|7)
Maybee someone knows a solution that i dont have to count it, grasshopper knows which point on which line is.
…