Same for me... as of today.
Error message:
Runtime error (IOException): Could not add reference to assembly ProtoGeometry
Konrad: Do you think it has anything to do with changing from Dynamo 7 to 8?
This must be a bug because its true for dividing by all odd numbers:
(i-1)/3
(i-2)/5
(i-3)/7
(i-4)/9
(i-5)/11
....
(i-n)/2n+1
And you can't make it work for even numbers
Added by Danny Boyes at 5:06pm on January 13, 2010
op van maximaal 1000 iteraties
3) Offset de polyline en maak een nieuwe Brep van alle curven
4) Bepaal de Area-centroid van de Brep
5) Bepaal het verschil tussen de huidige centroid en de gezochte centroid
6) Als dit verschil minder is dan 1e-12 breken we af
7) Vermenigvuldig het verschil met vier en pas de polyline aan
8) herhaal (3 - 7)
Is dit min of meer wat je wilde? Het lijkt dat er ~50 iteraties nodig zijn voor een antwoord dat accuraat is binnen de 1e-12 eenheden.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 5:26am on August 24, 2010
53 → 53 → 63 → 74 → 74 → 84 → 9
As you can see from the above list the connection sequence comes in waves of three, where each group of similar indices on the left is associated with a group of three incrementing indices on the right.
Some combination of Series components will probably generate this list, but it'll only work for the first ring, the second one will need a different connection pattern. It is perhaps better to just encode the integer pairs by hand. But then you cannot change your mind about the number of sides later.…
Added by David Rutten at 10:39am on October 21, 2015
ep is to understan the logics of what you want to do, in your case, build 4 point surfaces (u also need to know the right direction to build the surfaces). Then you can write an hipotetic list (by hand in a paper) of what you want. In your case the list was (0, 1, 3, 2) (2, 3, 5, 4) (4, 5, 7, 6), etc... if you can imagine building 2 lists, each one with the sequences (0, 2, 4, 6, etcc) and (1, 3, 5, 7, etc..) then you can manage with shift and graft to finally have four lists. A( 0 1 2 3 ...) B (1 3 5 etc..) C(3 5 7 etc..) D (2 4 6 etc..). And to achieve the 2 first lists, you need to get the odd and the pair numbers. The cull pattern does that amazingy well. With a pattern True-False you get de pair numbers, and with the False-True pattern you get de odd numbers.
Hope it was clear enough…
Added by Pep Tornabell at 5:32am on November 19, 2009
mbers in a panel, but that just sees them as a text blob. Is there an easy way to do this?(Alternatively, I'd like to define a list like [True, True, False, True, False] -> for use with the dispatch function. Presumably, this will have the same solution?)…
but you could use some combination of components to control the length of the '1' run and value of the repetition.
Inserting lists into other lists is in fact the much more complex. Grasshopper vanilla only provides a component for inserting individual items into a list (although many items can be inserted at once, making the insertion calculation index maths a lot easier).
To do it right you'll have to repeat the '1', '2', '3' as many times as you need to insert it, and then, generate the matching list of insertion indices '3', '3', '3', '7, '7', '7', ... This will involve a fair amount of Series or Duplicate, or Stack, or whatever...…
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