ino al suo utilizzo per la risoluzione di tematiche di modellazione complessa di ARCHITETTURA e DESIGN.Durante le lezioni si insegneranno i comandi avanzati del software Rhinoceros ed inoltre i discenti, alla fine del percorso formativo saranno anche in grado di creare modelli attraverso il linguaggio della Plug-in avanzata Grasshopper(http://www.grasshopper3d.com/photo).
Il workshop si divide in due moduli che possono essere frequentati anche separatamente:
STRUTTURA
mod.1 _MODELLAZIONE BASE con Rhinoceros | Venerdì 14 Dicembre e Sabato 15 Dicembre | dalle 10,00 alle 19,00
Scadenza iscrizione: Lunedì 10 Dicembre
mod.2 _MODELLAZIONE AVANZATA con Rhinoceros e Grasshopper | Domenica 16 Dicembre e Lunedì 17 Dicembre | dalle 10,00 alle 19,00
Scadenza iscrizione: Mercoledì 12 Dicembre
SINTESI
mod.1 _MODELLAZIONE BASE con Rhinoceros
L’obbiettivo del corso è quello di insegnare in tempi brevi, gli strumenti base della modellazione 2D e 3D e la renderizzazione dei modelli creati. Le ore saranno dedicate allo studio dell’interfaccia del software Rhinoceros e all’apprendimento dei comandi base per la gestione del documento di progetto; si approfondiranno i comandi più utilizzati per l’editing e la costruzione del disegno per arrivare alle operazioni booleane semplici e complesse. Inoltre si imparerà a costruire e trasformare curve e superfici free-form. Le nozioni ed i metodi verranno trasmessi trattando temi e problematiche reali di design ed architettura.
mod.2 _MODELLAZIONE AVANZATA con Rhinoceros e Grasshopper
Il secondo modulo tratterà forme complesse implementando la modellazione avanzata di Rhinoceros con le potenzialità espresse dalla plug-in Grasshopper. La plug-in di Rhinoceros permette di disegnare abbandonando l’usuale interfaccia dei software di rappresentazione, consentendo un rapporto più diretto con il linguaggio proprio del computer: la programmazione. Questo cambiamento porta ad una radicale variazione del rapporto che il progettista ha con lo strumento di rappresentazione digitale. I partecipanti saranno orientati verso un nuovo rapporto con le forme create che oltre ad essere frutto di trasformazioni delle entità primitive che Rhinoceros propone, si costruiranno anche in relazione a parametri variabili.
Nel corso si imparerà a comporre algoritmi semplici, di carattere principalmente geometrico, in grado di generare forme e gestire i comportamenti delle stesse se sottoposte a variabili esterne.
In fine si imparerà a confrontarsi con un contesto evolutivo, che influenza i parametri della rappresentazione portando a dei modelli dinamici.
…
decided to concentrate my effort today on this problem and manage to come up with a solution !
I will explain it if somebody else is looking for a similar solution.
Finally my only problem was to create an alternating true/false list that inverse at certain index, this what I came up with: I have a list of points and random index , the box and sphere represent true and false, and the blue sphere is the node(index) where I want to see an inversion.
In reality, it was pretty simple, I just didn't know the right modules. (In yellow, it's the most important part of the patch)(Sorry for the spelling mistake)
Here is a diagram of what I did: I created a list going to 1 to [number of lines], here it's 1 to 10, I had node at 3-4 and 7-8. For each node I created a list of 1 repeated [(number of lines)-index] times. Here, 7 (10-3) and 3 (10-7) times.
After grafting everything, I add everything in mass addition module. I had my final list which I checked if it was divisible by two.
It was more of a logic problem than a grasshopper problem.
Here it is the initial shape with what I wanted !
…
y working on is a tensegrity structure that uses cables and a tensile fabric to apply traction. The basic cell of the structure is a sail with two parallel rods.
The easy one was the fabric anchored to the extremes of the rod. I got great results with the tensegrity model , very similar to physical models that I was working on.
But then I tried the same thing with the fabric anchored all along the rods, but it proved to be hard (read all the "rod discussion"). I tried the bending force, but was too unstable. The best model I got was by applying different stiffness to the mesh, specifically, to the lines that coincide with the anchors.
It's by no means the solution that I had in mind, but the next days I'll be testing it with the structure. I came across with the next thing to my ideal solution, Daniel's boat (https://vimeo.com/30128894), but I couldn't replicate it. Anyone has some idea of a different, more rigid solution? Even in K2, which I really don't understand yet, but any clue would be helpful.
Aside of that, I was also having trouble applying real values of stiffness. The third archive has the same definition that the first, but with real stiff values (the rods are wood, k=10^7 N/m, cables are nylon k=2x10^5 N/m). I adjusted the timestep and the subiterations, but it doesn't work as stable and smooth as the whatever-stiffness-sail. I don't know if isn't correctly calibrated, or my computer its too old (it pretty old and slow) or simply isn't a good definition.
If anyone has any idea it would be very much appreciated!
Antonio…
one approach. If you are doing residential or small retail I would recommend something completely different. Having been in the architectural business for 25 years I offer the following illustration of how I am using Rhino/Grasshopper, its strengths, and its weaknesses as I see them.
My current work hovers somewhere between sculpture and small commercial architecture and involves in-house design and Digital/analogue fabrication, usually metal. In the past I have also worked for large traditional A/E firms of 100 people, and smaller 10 person Architectural Design Firms also so I understand those types of practices as well. I find the Digital Design/Fab process to be a welcome change in a profession that has been due for an evolutionary leap forward.
Rhino/Grasshopper is a very intuitive (especially for users with autocad history) design tool primarily with the added feature of providing a seamless transition to digital fabrication whether in-house or not. Up until I discovered Rhino, about 7 years ago, I used AutoCad for the 10 years prior, which offered virtual 2D hand drafting with a few added CAD features. It was really still just traditional 2D drafting with a mouse instead of a pencil. During my autocad period, design did not really change much and remained a more traditional process and CDs were done in AutoCad. Once I found Rhino, my design world immediately became one anchored in 3D form.
In a nut shell, Rhino and Grasshopper are a design tool and are best utilized to design 3D form well suited for CNC fabrication. It is particularly strong when the forms start to stray very far from Euclidean geometries. That being said, it is not my tool of choice for traditional architectural Construction Documents (CDs) nor does Rhino claim to be a significant CD tool.
In my early years of Rhino, the ability to parametrically study a design solution did not exist. Each significant design iteration required the designer to pretty much start over with a new model unless the change was fairly simple. With the advent of Grasshopper, parametric variant studies are now one of its greatest strengths. Grasshopper provides the ability of any number of extremely complicated relationships to be established then instantaneously varied and studied without writing a single line of computer code. Hundreds of combinations can be studied in an extremely short period of time. This is the power of Rhino/grasshopper I value most. A great many Grasshopper users also choose to create incredibly complicated geometric forms. This is another of Grasshoppers great strengths however, many of these "over the top" theoretical forms, though very beautiful and stimulating, seem to remain theoretical or at least prohibitively expensive to actually construct at an architectural scale and with our current state of the art of construction technology. Since my work revolves around built form, I remain tethered to build-ability. Grasshopper paired with CNC fabrication re-catagorizes many complicated forms from "unbuildable" to "very buildable". But even with reality limiting my outcome, Rhino and Grasshopper are incredibly powerful tools able to manage challenging 3D forms while providing ease of virtual infinite variant study.
The bottom line of today's architectural process analysis is that there is no silver bullet in design software. The current state of the art of the architectural process utilizes many types software even within a single project. The work flow of a particular project is as highly sensitive to project constraints and opportunities as the design solution its self. If your work varies, so will your process.
And to your second point regarding industry guidelines. BIM, digital fabrication, sustainability, are all such new complexities in a profession that is changing at an unimaginable rate; never before seen in the profession. I am not aware of any guidelines to this issue but would love to hear from someone that might know of some guidelines particularly about risk and responsibilities regarding sharing digital models with the contractor.
Stan…
Added by Stan Carroll at 10:29pm on March 22, 2010
corner, solid surface, reflectance 0.18, when there is NO direct sunlight on the sensor (illuminance<10000 lux).
Shading Group 1 State 2: curtains along the glass, trans surface, transmittance 0.2, when there is direct sunlight on the sensor (illuminance>=10000 lux).
After the run I checked the ill files in the folder and the shading schedule in the intgain.csv file and found some inconsistency, taking Jan 1st as an example
In the intgain.csv, the shading schedule shows the curtain only covers the glass (state 2) at 9.5,11.5,13.5.
But in the ILL file with no dynamic shading, the sensor point (first column after hour) illuminance is above 10000 lux from 10 to 15. So the shading schedule should be 1 from 9.5 to 14.5, right? Or am I missing something here?
I'm trying to get the lux hours/accumulated illuminance for the test point, but there is no ILL file that actually combined the ill, state-1 ill, and state-2 ill together based on the shading schedule? (My understanding is the "read annual result I" visualizes the Daylight Autonomy based on the advanced shading schedule but didn't generate another ill file?)
I was doing it in Excel and found the difference between shading schedule and the sensor reading. Please let me know if I made any mistakes in the simulation setting! Any comments on a better data processing method would be much appreciated!
Best,
XF
…
ist.
In other words, I'm looking for the GH equivalent of
Dim x As New List(Of List(Of List(Of Double)))
For example, I might have an outer list of 10 items each containing 20 lists with 30 items inside each 2nd tier list.
Say the outgoing gh_Structure is:
Dim outgoing_Struc as new gh_structure(of gh_number)
I can't seem to figure out how I might use the "append" method to GH_Structure to insert items to specific paths to create a list of a list.
The additional complexity is that I want to customize the indices of the outgoing list. Instead of the outer most list running straight from 0 to 9, I might want to have its indices non-sequential as {0}, {2}, {5}, {11} for example. This helps in using the "Tree Item" component downstream as these specific non-sequential indices refer to something specific upstream.
For example, with custom indices, I can pull a specific sublist by using index {11;3} which may not exists if the indices ran sequentially.
I guess the more general questions is whether anybody has pointers on creating nested trees in a custom component with specific indices? It appears that GH_Path has a "DebuggerDisplay" property which masks the internal continuously running index but this is a read only property.
Any pointers would be helpful
Thanks.…
Added by kermin chok at 1:37am on December 10, 2013
f Virtual Build Technologies will debut their Rhino plug-in RhinoBIM and showcase its functionality. The presentation will cover using RhinoBIM for Structural Design Modeling, Structural Analysis, and more.
Title:
RhinoBIM Debut Webinar
Date:
Friday, March 4, 2011
Time:
9:00 AM - 10:30 AM PST
…
Added by Mary Fugier at 1:04pm on February 24, 2011
() Sub Main()
' user input
Dim intHowManyTrees : intHowManyTrees = Rhino.GetInteger("how many trees is a forest",20,1,50) Dim intHowManyGenerations : intHowManyGenerations = Rhino.GetInteger("how many generations is a tree?",6,1,10) Dim dblForestLength : dblForestLength = Rhino.GetReal("was is the desired length of your forest",50) Dim dblForestWidth : dblForestWidth = Rhino.GetReal("was is the desired width of your forest",50) Dim dblInitLength : dblInitLength = Rhino.GetReal("was is the desired length of the first main Branch?",10) Dim ang : ang = Rhino.GetReal("angle of rotation", 30, 1, 180) Dim scale : scale = Rhino.GetReal("scale of branch", 0.9) 'loop for number of generations i 'ReDim arrgenerations (Ubound (intHowManyGenerations)) Dim layer_0 : layer_0 = Rhino.AddLayer("0") Dim i For i=0 To intHowManyTrees Dim arrSeed : arrSeed = Array(Rnd*dblForestLength, Rnd*dblForestWidth,0) Dim strLine : strLine = Rhino.AddLine(Array (arrSeed(0), arrSeed (1), arrSeed (2)+Rnd*3), Array(arrSeed(0), arrSeed(1),arrSeed(2)+Rnd*dblInitLength+3))
Call Rhino.ObjectLayer (strLine, "0" ) Call Rhino.ObjectName (strLine, i) Next Dim j,vec ReDim arrbranch (intHowManyGenerations) For i=1 To intHowManyGenerations 'select the elements arrbranch (i) = Rhino.ObjectsByLayer (i-1) Dim strBranch For j=0 To Ubound(arrBranch(i)) strBranch = arrBranch(i)(j) Dim strParentName : strParentName = Rhino.ObjectName(strBranch) ' get start and end points Dim arrStartPt : arrStartPt = Rhino.CurveStartPoint(strBranch) Dim arrEndPt : arrEndPt = Rhino.CurveEndPoint(strBranch)
' get a vector between start and end vec = Rhino.VectorCreate(arrEndPt, arrStartPt) ''''' vec(x,y,z)
' scale vector vec = Rhino.VectorScale(vec, scale)
' rotate vectors Dim arrPlane : arrPlane = Rhino.CurvePerpFrame (strBranch, Rhino.CurveDomain(strBranch)(1))
Dim arrRotAxis Dim layer layer = Rhino.AddLayer ( i )
arrRotAxis = arrPlane(Int(Rnd*3)) Dim vec1 : vec1 = Rhino.VectorRotate(vec, ang, arrRotAxis) ' add the vector to the end point Dim newEndPt : newEndPt = Rhino.VectorAdd(arrEndPt, vec1)
Dim line1: line1 = Rhino.AddLine(arrEndPt, newEndPt) Call Rhino.ObjectLayer (line1, i) Call Rhino.ObjectName(line1, strParentName)
If rnd<0.8 Then arrRotAxis = arrPlane(Int(Rnd*3)) Dim vec2 : vec2 = Rhino.VectorRotate(vec, -ang, arrRotAxis) Dim newEndPt2 : newEndPt2 = Rhino.VectorAdd(arrEndPt, vec2)
Dim line2: line2 = Rhino.AddLine(arrEndPt, newEndPt2) Call Rhino.ObjectLayer (line2, i) Call Rhino.ObjectName(line2, strParentName) End If
If rnd<0.2 Then arrRotAxis = arrPlane(Int(Rnd*3)) Dim vec3 : vec3 = Rhino.VectorRotate(vec, ang*(rnd-0.5)*2, arrRotAxis) Dim newEndPt3 : newEndPt3 = Rhino.VectorAdd(arrEndPt, vec3)
Dim line3: line3 = Rhino.AddLine(arrEndPt, newEndPt3) Call Rhino.ObjectLayer (line3, i) Call Rhino.ObjectName(line3, strParentName) End If Next Next End Sub
Any kind of help would be highly appreciated…