tion and the points array that follow. I was used to the Rhino.EvaluateSurface(Strobj, ArrParam) to pick pints on a surface.
Then I understand that points are identified with var pt and added with function pt_list.Add(pt) . But can't understand the whole syntax. This code is supposed to create hexagons!
Dim lines As New List(Of OnPolyline)()
'Point Culling
Dim ptArr As New On3dPointArray()
Dim pt_list As New List(Of On3dPoint)
For i As Int32 = 0 To u - 2 Step 2
For j As Int32 = 0 To v - 3 Step 4
ptArr.Append(arrPt(i + 1, j).x, arrPt(i + 1, j).y, arrPt(i + 1, j).z)
ptArr.Append(arrPt(i + 2, j + 1).x, arrPt(i + 2, j + 1).y, arrPt(i + 2, j + 1).z)
ptArr.Append(arrPt(i + 2, j + 2).x, arrPt(i + 2, j + 2).y, arrPt(i + 2, j + 2).z)
ptArr.Append(arrPt(i + 1, j + 3).x, arrPt(i + 1, j + 3).y, arrPt(i + 1, j + 3).z)
ptArr.Append(arrPt(i, j + 2).x, arrPt(i, j + 2).y, arrPt(i, j + 2).z)
ptArr.Append(arrPt(i, j + 1).x, arrPt(i, j + 1).y, arrPt(i, j + 1).z)
ptArr.Append(arrPt(i + 1, j).x, arrPt(i + 1, j).y, arrPt(i + 1, j).z)
Dim pline As New OnPolyline(ptArr)
lines.Add(pline)
Dim pt As New On3dPoint((arrPt(i + 1, j).x + arrPt(i + 1, j + 3).x) / 2, (arrPt(i + 1, j).y + arrPt(i + 1, j + 3).y) / 2, (arrPt(i + 1, j).z + arrPt(i + 1, j + 3).z) / 2)
pt_list.Add(pt)
ptArr.destroy
Next
Next…
Added by Jon Malkovich at 7:16pm on November 3, 2009
een shot and there are two pull down menus of PT. The left if clicked shows the older version and works fine, but when the right menu is clicked the software freezes and crashes.
In my PC, Rhino 5 32 bit and 64 bit are installed and Rhino 4 as well. Just for your info.
Thanks.
…
ss than the size of the collectionit usually appears when i try working with lists of points. it's pretty hard to learn, with this getting in the way all the time..here, for example i tried going through one of andy payne's tutorials : Dim i As Integer Dim j As Integer Dim grid As New ArrayList For i = 0 To pts.count() - 1 Step gs Dim Row As New List (Of on3dpoint) For j = i To i + gs - 1 Dim pt As on3dpoint pt = pts(j) row.Add(pt) Next grid.Add(row) Next Dim mid_pt As New list(Of On3dPoint) For i = 0 To grid.Count() - 1 Dim row0 As List(Of On3dPoint) row0 = grid(i - 1) Dim row1 As List(Of on3dpoint) row1 = grid(i) For j = 1 To row0.count() - 1 Dim mid_p As New On3dPoint mid_p = (Row0(j - 1) + Row0(j) + Row1(i - 1) + Row1(i)) / 4 mid_pt.add(mid_p) Next Next a = mid_ptthanks for your time…
ould try reducing the document tolerance settings:Options:Document Properties: Units: Tolerance.
2. Alternatively, you could reduce the point count in the projected curves with a VB FitCrv: RhUtil.RhinoFitCurve(curve, degree, tolerance, angleTolerance).
3. Project original points on surface instead, create your polylines and run the filleting command on these after.
4. If its still an issue, I would head back to Rhinoscript much more suited for complex geometry sets & the commands are really well documented in the Rhinoscript help file.…
}
X*
{0;2;0}{0;2;1}{0;2;2}{0;2;3}
{0;3;0}{0;3;1}{0;3;2}{0;3;3}
And now we want to insert at the place marked with X* another list formated like:
{0;0}{0;1}{0;2}{0;3}
So we want it resulted like:
{0;0;0}{0;0;1}{0;0;2}{0;0;3}
{0;1;0}{0;1;1}{0;1;2}{0;1;3}
*{0;2;0}{0;2;1}{0;2;2}{0;2;3}* - the inserted list
{0;3;0}{0;3;1}{0;3;2}{0;3;3}
{0;4;0}{0;4;1}{0;4;2}{0;4;3}
Since we plug the list formated with only {A;B} into the place with has {A;B;C} then that list has to be reformated in the same manner and every lists which are next to it have to be reformated too by adding 1 to B so it's {A;B+1;C}.
Param viewer with the data tree diagram is a great tool for visualising data structure. It seems to me that it would be easier to play with lists in the same way as we do with connecting components together. So if we have list of points and we want to insert them at some certain place in the tree then we don't need to play with Patch Mapper, Insert List and others but we just plug them on one go into the tree and format will adopt itself automaticly according to the choicen position on the tree.
Same with OUTPUT. We can pick some elements from the tree and connect it to the component which will receive every element from that branch. (example):There is a list of points with complex data structure. we pick node {0;0;3} and move it out from param viewer to connect it with point component which will receive all the sublists with elements which are under it:
{0;0;3;0}0 - pt1 - pt2 - pt{0;0;3;1}0 -pt1 - pt2 - pt3 - pt...and so on...
I don't know if this solution make better sense then other solutions of this case. Maybe there are easier ways to do it without such complication and I have no idea about it :)
greets!
Adam
…
t case point 3 should be able to move from 20 to 33
so in other word
pt 3 depends on pt 2
the problem is if i only have sliders
pt2 could be 20
and pt 3 could be 20, that is higher than 33
so the loft loops in itself
gracias por tu ayuda
salu2
m…
t is nearly straight. smaller must be a kink (corner). Deepending on you geometry you might have to change the 3 rad to get the result you want.
Best regards
DeDackel…
Added by Dedackelzucht at 8:16am on October 10, 2011