ror in the middle of it while trying to construct 3 pt arcs saying that it can't be done due to the points being co-linear, which I'm confused about because they don't seem to be co-linear at all.
This however, doesn't stop the arcs from being drawn, but the error does prevent the further steps from working.
I've attached the gh files, thanks very much!
…
reshold As Double, ByVal gridpts As List(Of On3dPoint), ByVal ringpts As List(Of On3dPoint), ByVal RESET As Boolean)
Static _lista As List(Of On3dPoint)
If ((_lista Is Nothing) Or (RESET = True)) Then
_lista = New List(Of On3dPoint)
For Each punkt As On3dPoint In gridpts
_lista.Add(punkt)
Next
End If
Dim k As Integer
k = 0 For Each pt As On3dPoint In _lista
Dim n As Double
n = pt.DistanceTo(evalPoint)
If (n < pushThreshold) Then
_lista(k).Set(ringpts(k)) End If
k += 1
Next
A = _lista
…
,..
Protected overrides sub registerinputparams~
pmanager.register_doubleparam("double","d","double")
pmanager.register_pointparam("point","P","point3d")
end sub
...
Protected overrides sub solveinstance~
dim dbl as List(of double)
dim ptl as List(of rhino.geometry.point3d)
if (not DA.getdata(0, dbl)) then return
if (not da.getdata(1, ptl)) then regurn
pt=ptl.toarray
db=dbl.toarray
crv=rhino.geometry.nurbscurve.createinterpolatedcurve(pt,3)
da.setdata(0,crv)
…
precious notes to make this simple GH definition starting from a blank page and few sketches I made during the camp. Not being skilled yet with GH I decided to make something simple that I can modify with per-defined parameters I want to control.
I have 3 questions about this definition :
1: I have a Shape missing @ the start of my input Crv probably because I used the Shift List so that the first Pt is not include in the set of operations. I don't remember how to solve it (see picture shiftList.jpg)
2: I started from a Rhino Crv to build the global shape for the model and I'm wondering if it's possible to shift all PTs from Top to Y=0 to get a straight Line and/or control the top shape (see picture setY0.jpg) ?
3: Because I choosed a certain logic to build this definition I'm wondering if it's possible to rotate all beams locally on the planes to orient each section according to the local vector on the input Crv ( see picture rotate.jpg) ?
Please let me know if you need more info's...
Regards
Rodolfo Santos
…
e we here to eat pasta or kill them all? That's the big philosophical question of the day.
3. Struts that are smallish (I.e the part "engulfed" by the top/bottom cables) they can't support the long ones (their "continuation"/extension towards the roof, that is) unless (a) they are fat (and ugly) as my mother in law (b) they are proper AND supported by cables: for each top pt (on roof level) connect with the north/south/east/west points that belong to the top tensegrity grid. You'll see what I mean rather soon. This is the reason that the strut is a 2 parts combo (in order to allow some "oops" moments at assembly time - the norm, that is).
4. That way (BTW: Adios "neatness" welcome real-life) the long struts are requested to sustain axial compression forces (yielding no bending torque) whilst the @$%$@ cables do what cables do (tension forces).
BTW: These cables have nothing to do with the ones used for the T truss system.
5. But whilst all the above are rather obvious ... the thing that IS NOT is what is actually required on the roof level in order to allow the real-life alignment ("planarization") of the roof panels. But if we combine that "mini beam grid" (see Jansen-Viss hybrid facade/roof systems) with proper planar glazing "ultra cheapo" (kinda) SS 306 brackets (not to be confused with structural glazing, mind) > yes > that could cut the mustard properly (I.M.Pei do you agree?).
That said the ONLY way to get rid of stationary pockets of dirty rain water (in min slope roofs) is a planar glazing system - other wise the whole thingy is kinda the 3rd marriage.
More soon …
inner and am obviously very bad at this! Please help :(
Dim points As New List(Of On3dPoint) Dim dis_i As New Double Dim i As New Integer Dim count As New Integer count = dis.Count() For i = 0 To count - 1 'Get current distance in the array dis_i = dis(i) 'Instantiate new point Dim new_pt As New On3dPoint Dim new_pt2 As New On3dPoint 'Set point values new_pt.x = point.x + (dis_i) new_pt.y = point.y new_pt.z = point.z + (dis_i) 'Set point values new_pt2.x = new_pt.x + (dis_i) new_pt2.y = new_pt.y new_pt2.z = new_pt.z - (2 * (dis_i)) 'Add point to list points.Add(new_pt) Next A = points…
ts attached one next to the other which all together make the self-sustined structure.
Honestly, I've no idea about how I can create such algorithm..but maybe it easier than I expect.
Could you suggest me sth? The main problem is the variable section of each plastic element.
Thanks in advance for your help!!
I attached 3 reference images of the pavilion.
…
based on an input pt. I then use Rotate Plane and feed those into an Orient component. I have a closed curve as the geometry to orient with the area centroid as the base plane for orientation. In 0.6.0059 the closed curves are oriented to the rotated planes vertically. In 0.7.0030 they seem to be arrayed about the origin, with some foul play from the base plane position. I literally copied the point and curve I had drawn in rhino into a new rhino instance running 0.6.0059. I also copied the GH def from 0.7.0030 to the other one running 0.6.0059 and got a totally different (expected) result.
(def attached)
2. mesh face component is broken in 0.7.0030. Same copy/paste test as above.
3. Copying and pasting one addition component in 0.7.0030 results in something being focused on the 0,0 of the canvas causing the canvas view to go there. No addition component is copied. All we get is a fun ride to 0,0. This was noticed when copying and pasting a set of components... I noticed the addition component was not copied. When I tried with one, I found the nice transit to 0,0.
**Clarification. On a clear canvas, place one addition component...give a and b a single numerical input. copy and Paste the component. Select the two components, copy and paste them. Select the THREE (not 4 as there should be) and copy and paste... you will notice that only the original is copied and not the other instances.
There are workarounds for all of those, but they seem to be things that you might want to know about if you did not already know.
Anyways, I am liking the 0.7.x series! There are a few things still keeping me with 0.6.0059 around, but as i use 0.7.x more I am finding these things. First I find them. Then I think, hmm, I must be doing something dumb. Eventually I run into it enough that I think to put it here. These are three things eventually got to me...
luis…
torial that takes some built-up geometry composed in Grasshopper and then arrays it in a specific pattern on a host surface.
I got the Rhinocommon SDK help file, and because this Woo tutorial was written using a much earlier version of Grasshopper I have been trying to adjust all of the commands to fit Rhinocommon.
So in this script I changed a few On3dPoint commands to Point3d and because the script is not too complicated, I thought these should be the only necessary changes...
However when I made the changes, the output was that there was a problem with the "pts" funtion on one of the lines in the code.
Dim n As Integer = 0
Dim ptsList As New List(Of List(Of Point3d))
For i As Integer = 0 To DivU
Dim ptsRow As New List(Of Point3d)
For j As Integer = 0 To divV
Dim pt As New Point3d(pts(n))
ptsRow.Add(pt)
n = n + 1
Next
ptsList.Add(ptsRow)
Next
I wonder if:
A. Anyone could help me understand this specific issue in the script
B. Provide some advice as to how to maybe more efficiently do such conversions as many tutorials that I have for VB were not written in Rhinocommon. (I tend to find specific tips for correcting syntax in specific places like blogs. Is this the most efficient way to become more familiar with such differences? The SDK help file provides the new commands but I seem to be having little problems with less obvious syntax holdups.)
Thanks for any kind of help!
…
a ConcurrentDictionary. Certainly, when I try to update a dictionary directly through an index (i.e. dictionary[key]) I get an error along the lines of the dictionary being read-only. Try testing a dictionary with a custom class, and a list with a Rhino class, and see what happens.
In any case, without further testing and some scientific rigour, I don't think it's right to decisively say that only custom classes can be updated in parallel loops.
2) I was able to get your case1 working with a slight modification. The second loop is:
System.Threading.Tasks.Parallel.ForEach(pts2, pt => { double height = rnd1.Next(1000) * 0.01; pts2.TryUpdate(pt.Key, new Point3d(Math.Cos(height), pt.Value.Y, height), pt.Value); } );
The 'strange results' you were getting looked like a classic case of parallel read/write conflicts. Not quite sure why you got this though. I found it strange that you looped through the list of indices, rather than the dictionary of points directly, as I have done. This might have something to do with why yours failed perhaps.
Anyway, keep your investigations coming! We're all learning through this together :)…
Added by James Ramsden at 8:03pm on January 22, 2016