ont. outputs 2 lists. a with neighbors in front and b without.
i have attached a final screenshot, a rhino testfile with ca points and the final definition.
this is the code:
'Declare and Initialize data
Dim i As Integer = 0
Dim j As Integer = 0
Dim pts_count As Integer = pts.Count() - 1
Dim new_ptsA As New List(Of On3dPoint)
Dim new_ptsB As New List(Of On3dPoint)
Dim temp_pt1 As On3dPoint
Dim c As Integer = 0
'Loop through base points
For i = 0 To pts_count
c = 0
For j = 0 To pts_count
If pts(j).x = pts(i).x And pts(j).z = pts(i).z And pts(j).y = pts(i).y - 10 Then
Print("neighbor in front")
temp_pt1 = pts(i)
new_ptsA.Add(temp_pt1)
c = 1
End If
Next
If c = 0 Then
Print("NO neighbor in front")
temp_pt1 = pts(i)
new_ptsB.Add(temp_pt1)
End If
Next
'Assign new points
A = new_ptsA
B = new_ptsB
be aware that the code assumes a grid width and depth of 10x10.
volker.
…
nd and downloading definitions to learn from them, but still don't get it right.
So my problem is:
1.- I want to achieve a kagome, hexagonal gridshell that keeps the bamboo pieces like straight geodesic lines.
2.- I also would like to keep the curved bamboo as splines, so I imagine this will give the easiest method for bending the bamboo at the real scale. As Mårten Nettelbladt in his blog http://thegeometryofbending.blogspot.jp/ mentions, the best way will be to keep the geometry where all the pieces have a spline curvature ( or as B.K.P. Horn calls it “The curve of last energy”) In order to achieve splines do I need to make the grid a Dynamic relaxation “Kangaroo”? will this help?
3.- I would also like to simulate the bending of the elements from a 2D to a 3D, but maybe this can be a next step on the definition…
Some of the common problems that I notice in the definitions found is that when people do weaving, the lines don't bend flat to the geometry but rather they twist so when you look close the cross of pieces intersect, which is impossible in real life…
As you can see there are a number od issues here, I apologize to put them all together, maybe it makes this confusing but I think is better to look at the whole picture. I have been reading a lot but I have no idea how to start.
The more I read the more interesting the subject becomes but the more confused I become. Is there some kind soul that could give me a hand? Any help will be really appreciated.
Thanks a lot!
Miguel…
o fix before it becomes very usable, but I'm posting the file here in case anyone wants to try it out.
It is a few simple scripts which record point locations from a first Kangaroo simulation whenever the capture button is pressed, and then when you playback the animation it interpolates between this captured sequence of points, pulling a second Kangaroo simulation to these targets. You can control the playback with a slider or automatically with a timer.
This should work with other Kangaroo2 setups, but here demonstrated with a human figure modelled as a collection of rigid bodies. At the knees and elbows the rigid bodies share 2 points to give a hinge joint, while for shoulders, neck, hips, ankles, wrists and torso they share only single points, giving a basic ball joint.
This is also the first time I've posted this model, and I'm also including the setup without the animation script. I know there are numerous issues with this poseable figure - dragging joints sometimes moves parts of the model you don't want to, and joints have unrealistic ranges of motion. I made a start at trying to limit some of these - such as ClampLength goals to stop the torso bending too much, but more could be done. There is also an issue with the rigid bodies (which track orientations with a frame of 3 points) that if you grab the frame itself, the simulation can break. I'm currently rethinking this whole approach.
I should also say that although I have heavily modified this human model to make it work for this setup, I did start from a mesh downloaded from some free 3d model collection site, but unfortunately I do not know the name of the original artist. If someone recognises it I would like to add appropriate credits.…
a nodi, permette di sfruttara le potenza della programmazione, senza necessariamente avere competenze avanzate.
Con Grasshopper potrete avere accesso ai segreti della modellazione generativa, un nuovo linguaggio progettuale che sta cambiando il mondo del design, a partire dalla gioielleria, fino ad arrivare all'architettura.
Durante il corso sarà possibile comprendere le caratteristiche di funzionamento del programma e applicarlo alla creazione di oggetti complessi che potranno essere stampati in 3D, oppure renderizzati. La durata è di 30 ore e alla fine del percorso verrà rilasciato il certificato McNeel.
Il Programma
Il corso spiega i concetti base di modellazione parametrica e generativa. Nello specifico:
Interfaccia e comandi
Parametri e componenti
Interopazione con Rhinoceros
Strumenti di parametrizzazione
Combinazione dati
Data tree
Creazioni di superfici attraverso algoritmi di paneling
Teoria degli attrattori
Gestione strumenti mesh
Creazione di Cluster
Durante il corso saranno proposte esercitazioni pratiche sul campo di utilizzo preferito dallo studente
Il docente
Antonino Marsala, è un formatore certificato McNeel con alle spalle oltre 11 anni di esperienza nel settore della modellazione 3D. Oltre ad occuparsi di formazione, collabora con aziende orafe e di architettura per la messa in pratica dei principi di modellazione generativa, applicandoli a casi reali.
FAQ
Quanto costa il corso?
Il prezzo del corso è di 500,00 € + IVA che potranno essere saldati in una soluzione unica. Nel caso di iscrizione di gruppo, potrà essere applicato uno sconto.
Cosa posso portare e cosa non devo portare all'evento?
Gli organizzatori forniranno computer con il software già installato. Nel caso vogliate portare il vostro computer, vi forniremo una versione trial da 90giorni di Rihnoceros e Grasshopper
Dove posso contattare l'organizzatore per qualsiasi domanda?
antonio@mandarinoblu.com
334 24 20 203
La mia registrazione o il mio biglietto è trasferibile?
Si, purchè venga comunicato il cambiamento entro 48 ore dalla partena del corso
…
NURBS using Rhinoceros. Content includes: Basic terminology, user interface, workflow strategies, using reference material and creating drawings from modeled geometry.
Workshop 2: Introduction to Parametric Design
Instructor: Rajaa Issa
(12:30 PM-3:30 PM)
This workshop will introduce the general framework of parametric thinking with a series of hands-on tutorials using Grasshopper for Rhinoceros. It is meant for beginners who have little to no idea about parametric modeling. The workshop will introduce the general components of an algorithm, design workflow, Grasshopper interface and visualization techniques. The students are expected to have basic knowledge of the Rhino modeling environment. Workshop 1 should fulfill this requirement.
Registration: Computers and software will be provided. Space is limited to 20 seats per workshop. The fee for each workshop is $60 (plus a $4.29 fee). There is a special rate of $30 (plus a $2.64 fee) for students and teachers provided they request a discount here with their school email address before registering. Register now……
curves A and B.
For each point pA on curve A,
you need the corresponding tangent vector tA on curve A, and the lists of "cone" vectors pB(j)-pA and tangent vectors tB(j) on curve B. so you have three vectors tA, tB(j) and AB(j)
these three vectors define a parallelogram thas varies along j
3d determinant of the three vectors above gives you the volume of this parallelogram. When 3dDet = 0 then it means it's flat, the vectors are coplanar. Thats what we're looking for.
So you just need to plot the curve 3Ddet = f(pB) , still for each point on A
'pB is the parameter here'
graphically solve these cuves to find the zeros and you feed back the resulting parameter in curve B. draw te line, done.
You can manage double solutions or cusps directly on the plot by using clostest point and >= conditions to kill unwanted results.
I do it twice, from crv A to crrv B and from B to A to make sure I catch start and end generatrices each time.
The videos you posted are interesting. I don't understand how it works with just 2 slider to tune the curves.
…
e it would of course be amazing if these could be displayed in a Rhino window / baked as objects...). I use the BarGraph as a histogram constantly for exploring the data I generate as I'm designing - in fact the graph components are one of the most frequent components I use at the 'end' of my design process. Would be nice to add Titles to the graph/bargraph and labels to axes, as well as the feature requests Marc points out above.
Also wondered if the 'MD slider' would soon have a 3D option similar to the colour picker? Would be useful.
Of course many other graph types would come in quite handy (I often export my data to Excel in order to visualise better) - 2D scatter with the tree structure indicating different data sets and therefore different colour/point types on the graph (Excel-style) would be handy. Of course these could be created as Grasshopper objects and displayed in the viewport but I find the work needed to get to a presentable output this way is often too much and its faster for me to just look at the data in Excel. Also in the Rhino viewport you often want to be visualising the end result of your definition (i.e. geometry) and not have to zoom somewhere else or fiddle around to try to display a graph of values at the same time. I could imagine an 'output' control panel could be quite handy, where you drag and lock in the various text panels / graphs / etc which are useful to you and tell you information about your design as you are varying the input parameters. This could be outside of GH possibly and maybe linked to one side of the Rhino viewport.
Any thoughts? Of course some of these requests are asking Grasshopper to expand a bit more into the 'data display/interpretation' space - however I think this is extremely important as with each design I create there is most always associated data which tells me about its performance in some way or another and viewing that / illustrating it to clients in a quick and friendly way is key. Of course what is there already is most impressive and useful!
Cheers
Luke…
it into points on that surface. From Each Point draw a Line and then divide that line into points. The end result is a 3D cube of points made from multiple rows and columns in all directions.
The file is attached so you can have a play for yourself.
The first example shows, as you say, a very nonsensical path structure resulting from such a simple problem. Why on earth does it need so many zeros at the Front {0;0;......
If you change the first slider from 1 to 2 things become a little more clearer.
Because we are now supplying two sets of surfaces on on the same path then the second zero {0;0... starts to make sense. as we can see that when it refers to the second surface it is now a {0;1;...
If you then change the Multi-Branch Toggle to True the first zero starts to make sense.
So with 1 surface on different original Paths {0} and {1} we get the first zero meaning something.
Have a go yourself by changing the settings in any of the Purple circles and see what happens. You'll find that the additional levels of path structure a present for the "what if" scenarios. But there has to be consistency because I don't want to create a definition with the intention of having multiple possibilities and finding because I add complexity that the structure suddenly becomes complex.
I hope this helps
Danny
…
ed many inverted normals, holes, bad edges, intersecting mesh faces etc and couldn't really find a good fix for all the issues.
3. I imported the file again and tried the mesh offset to thicken it just by 1mm. It gets a reasonable result but still has errors where the offset creates intersecting mesh faces. The result looks better than the Rhino offset mesh and looks like it might actually stand on a table. It was a 53Mb STL file!
Unfortunately I do not have the Objet software on my laptop otherwise I would have tried to prep it for 3d printing but I have a feeling any slicing software will struggle to process this mesh and it would be quite an expensive risk to try and print it as is.
You might be able to take the thickened mesh and cut away at the problem areas, then manually tidy up the holes created but this would be a long, manual process.
I also tried a 2mm offset but this was less successful... I think what is really needed is a sort of intelligent offset whereby in areas where the offset creates intersecting mesh geometry, the offset is smoothed off in the intersecting areas. Sorry... no idea how you could do this.
Do you want me to upload the 53Mb STL somewhere? Can I upload it to your dropbox?
Do you want me to upload the 53Mb STL somewhere? Can I upload it to your dropbox?…
Added by martyn hogg at 2:41pm on November 24, 2014