13 5 15 6 17 7 ... …
But it seems I have not been clear:
the input values (3,5,7,9,11,13) should be presented in the way of "number slider" parameter. So by increasing the value of the slider from minimum 3, to 5, 7, 9, 13, 15, 17... I should get an output numbers of 0,1,3,4,5,6,7...
So I if choose value 3 on the input "number slider", on the other end, I want 0 as an output.
Or if I choose value 5 on the input "number slider", I want 1 as an output, and so on.
Is this possible?…
Integer = 0 To 9
val *= 2
lst.Add(val)
Next
Since val is a ValueType, when we assign it to the list we actually put a copy of val into the list. Thus, the list contains the following memory layout:
[0] = 2
[1] = 4
[2] = 8
[3] = 16
[4] = 32
[5] = 64
[6] = 128
[7] = 256
[8] = 512
[9] = 1024
Now let's assume we do the same, but with OnLines:
Dim ln As New OnLine(A, B)
Dim lst As New List(Of OnLine)
For i As Integer = 0 To 9
ln.Transform(xform)
lst.Add(ln)
Next
When we declare ln on line 1, it is assigned an address in memory, say "24 Bell Ave." Then we modify that one line over and over, and keep on adding the same address to lst. Thus, the memory layout of lst is now:
[0] = "24 Bell Ave."
[1] = "24 Bell Ave."
[2] = "24 Bell Ave."
[3] = "24 Bell Ave."
[4] = "24 Bell Ave."
[5] = "24 Bell Ave."
[6] = "24 Bell Ave."
[7] = "24 Bell Ave."
[8] = "24 Bell Ave."
[9] = "24 Bell Ave."
To do this properly, we need to create a unique line for every element in lst:
Dim lst As New List(Of OnLine)
For i As Integer = 0 To 9
Dim ln As New OnLine(A, B)
ln.Transform(xform)
lst.Add(ln)
Next
Now, ln is constructed not just once, but whenever the loop runs. And every time it is constructed, a new piece of memory is reserved for it and a new address is created. So now the list memory layout is:
[0] = "24 Bell Ave."
[1] = "12 Pike St."
[2] = "377 The Pines"
[3] = "3670 Woodland Park Ave."
[4] = "99 Zoo Ln."
[5] = "13a District Rd."
[6] = "2 Penny Lane"
[7] = "10 Broadway"
[8] = "225 Franklin Ave."
[9] = "420 Paper St."
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 6:26am on September 9, 2010
e possible to change the component definition making possible to customize the number of outputs.Now Dispatch moves "true" values to A and "False" values to B
INPUT:
L (List to work on) -> 1, 2, 3, 4, 5, 6, 7, 8
D (Dispatch Pattern) -> True, False
OUTPUT:
A (List) -> 1, 3, 5, 7
B (List) -> 2, 4, 6, 8
Could it be possible/useful to modify it so it could dispatch items to several outputs, like:
INPUT:
L (List to work on) -> 1, 2, 3, 4, 5, 6, 7, 8, 9, 0
D (Dispatch Pattern) -> A, B, C
OUTPUT:
A (List) -> 1, 4, 7, 0
B (List) -> 2, 5, 8
C (List) -> 3, 6, 9
maybe I'm missing something and there's already a component with this function... I have been searching on the forum for half afternoon, but can't find anything about it!
Thank you!…
e
7. True
8. True <-- this one
9. True
10. False
11. True
12. False
13. True
14. True <-- this one
15. True
16. False
17. True
18. False
19. True
20. True <-- this one
21. True
22. False
23. True
24. False
25. True
26. True <-- this one
27. True
28. False
29. True
30. False
31. True
32. True <-- this one
33. True
Any idea how I can solve this?
Thanks!…
Branch Address in the form {0;1;2;3;4;5;6;7;8;9;.......;N}
Try Grafting the input (I) Create Path by right clicking on it and selecting graft from the context menu…
4 to 9
Is there a way to do this with the list or sequence components other than retrieving individual list items and then lofting between each list item (circle). There must be a more elegant way to do this.
Thanks very much.
please see the attached definition as a sample...…