up structural systems in the parametric environment of Grasshopper. Participants will be guided through the basics of analysing and interpreting structural models, to optimisation processes and how to integrate Karamba3D into C# scripts.
This workshop is aimed towards beginner to intermediate users of Karamba3D however advanced users are also encouraged to apply. It is open to both professional and academic users.
Earlybird (until May 10):
Professional EUR 750 (+VAT)
Educational EUR 375 (+VAT)
Course Fee:
Professional EUR 825 (+VAT)
Educational EUR 415 (+VAT)
Course Outline
Introduction & Presentation of project examples
Optimization of cross sections of line based and surface based elements
Geometric Optimization
Topological Optimization
Structural Performance Informed Form Finding
Understanding analysis algorithms embedded in Karamba and visualising results
Complex Workflow processes in Rhino3d, Grasshopper3d and Karamba3d
Places are limited to a maximum of 10 participants with limited educational places. A minimum of 4 places are required for the workshop to take place.
The workshop will be cancelled should this quota not be filled by May 31st.
The workshop will be taught in English. Basic Rhino and Grasshopper knowledge is recommended. No knowledge of Karamba3D is needed.
Participants should bring their own laptops with either Rhino5/Rhino6 and Grasshopper3d installed. A 90 day trial version of Rhino can be downloaded from Rhino3d.
Karamba3D ½ year licenses for non-commercial use will be provided to all participants.
…
e and i get it. If you have time check the attached papers we published a while ago in relation to the contribution of thermal mass in the reduction of temperature in residential buildings. See the nice contribution of the heavy TM or the lower one for light TM.
As for the solarHeatCapacity, your description (of the 50W) is derived on a 1 Facade/Floor ratio and fully glazed. The only way to reduce it is to increase the ratio (bigger facade area). Which is not recommended (energy losses), but this is a different issue. So, roughly, we can say that 50 is the lower value. If i have less glazing area this number will be higher (right?)
I want to define a value list of "architectural situations", so it is easy to explain and understand. One situation can be:
"Ratio facade/floor 1 & Fully glazed" = 50
"Ratio facade/floor 1 & Half glazed" = 75
"Ratio facade/floor 1.5 & Fully glazed" = 30
"Ratio facade/floor 1.5 & Half glazed" = 50
"Ratio facade/floor 0.75 & Fully glazed" = 70
"Ratio facade/floor 0.75 & Half glazed" = 90
Makes sense for you something like this?
I also defined a value list for the timeConstant like this:
Light Building (Mobile home) = 1Medium-light building (Cement tiles on floor) = 4Semi Heavy Building (Concrete floor + Tiles) = 8Heavy Building (Concrete floors/ceilings + Heavy external and internal walls) = 12
As for the first 5-10 cm effective TM in general my assumption is that you take half of the mass to your space and half to the space above/below you. Will be interesting to do a parametric study on just the thermal mass, uninsulated and insulated to see what the depth limits effectivity will be. Interested in doing such a study together? Can be a nice work even for publishing.
Thanks a lot ... again,
-A.…
393&xg_source=activity
In this case we see a geometrically approach, which doesn’t works efficient, because it required knowing how they behaviors together before, and I think it is not the ‘really behaves’.
To make the structure ‘really behaves’ I tried use kangaroo and the result works very well! As you can see I simply give the 2-set reverse UForce, and then they start to rotate until they found their equilibrium. That means 90 degree rotation. I was wondering what we can do to make a endless-rotation. I am mean 360 degree or more like this:
https://www.youtube.com/watch?v=4owFczeqqMQ
By the way, I try to give supports which allow a horizontal movement only (Just curious how we could keep the anchor-movement horizontally and in the same layer, for example like usual supports for compression ring…). I use the AnchorXYZ, but Kangaroo-Engine seems don’t accept its output.
So maybe some one knows a better solution?
…
Added by Jon to Kangaroo at 7:40am on March 11, 2014
problem later) to fit more shapes that are otherwise won't fit in.
On the example below horizontal rectangle couldn't fit in but its rotated analog could and thus was placed in.
Later, when placed shapes are used to generate frames, because of this rotation, the position of the starting points changes and because of the approach I use to generate the frames some angle values are attached to the wrong corners, this brakes the frame shape and looks like this (on the left the frame of sick shape and on the right the frame of the healthy shape):
Again, this happens because the angle values are assigned to the specific corners (points) and previously rotated shapes get these all messed up:
Easy fix, don't rotate the shapes, problem is, I've already baked a good number of them for later use. I'd like to avoid regeneration because it takes a lot of time and without rotation I constrict the algorithm even more.
Better fix, use a different approach, this is where I'd like to hear suggestions and kicks in a right direction. Please take a look at my definition. It works but I have a feeling like giving an amputee a job of sweeping the floor.
…
ns. but first allow me to explain what i'm trying to do: i have a serial device i want to talk to, but i have to do it using some sort of handshaking. for instance, when i send a command/data, i need to wait for an appropriate response before sending another. i have used andy payne's general serial components from firefly, but i don't think they'll work for what i want to do, and in general, i want to know how to do this from scratch. i'm using the pyserial library to do the comm, and i can get it to work within one script. here's an example of a working (mostly) port open/close script (x=input param for baud, y=input param for port name, z=boolean input param for open/close):
import serialmyPort=serial.Serial()myPort.baudrate = xmyPort.port = yif z == True: try: myPort.open() except: print "Something went wrong. Cannot open port." if myPort.isOpen() == True: print myPort.name + " is open" if z != True: try: myPort.close() except: print "Something went wrong. Cannot close port." if myPort.isOpen != True: print myPort.name + " is closed"
this all works well and good. here are my questions:
1) I can open the port and then close it. however, if i try to re-open it, i get an access denied error. it seems rhino is holding the port open, as i have to re-start rhino to get it working again. i read through the discussions and didn't see any definitive answers to this problem. any advice?
2) I'd like to share this port with other components (or at least break up the functions of opening/closing the port and read/write, not unlike how the firefly components are organized), but i have no idea how to share an object instance between components. i did see that there is a sticky dict and tried to add myPort to it, but i kept getting errors in the other component when i try to use the object's methods. for instance:
Component 1 Script:
import serial
import scriptcontext
myPort=serial.Serial("COM4", 9600)
scriptcontext.sticky['myPort']=myPort
Component 2 Script:
import serial
import scriptcontext
myPort=scriptcontext.sticky['myPort']
print myPort.read()
but i get messages like:
Runtime error (MissingMemberException): 'Serial' object has no attribute '_port_handle'
any assistance would be greatly appreciated!!
best,
~BB~…
t the maximum potential with the bridge BIM+PARAMETRIC DESIGN ;D
During this Intense Week, we will learn about the power of Rhino + Grasshopper + ArchiCAD with Professional and Useful examples for our Normal Working day :D
You will get Advanced Library Files + Personal Web + Knowledge and Skills to start using this incredible Methodology ;D
Also, the week is having Lectures from different Experts sharing their Computational Working Experiences ;D And Jam Sessions! opening the door to 5 interesting topics to research, learn and experiment together :D
2020 is your YEAR ;D !!!
Complete details and registration……
nter the programming world and tinker more complex, interactive solutions. We will also explore advanced programming paradigms. There is no class official programming language, as both C# and Vb.Net are possible on the participant’s side, and all examples will be provided in both C# and Vb.Net. Additionally, we will see how to get started writing full .Net plug-ins. Finally, we will have time to explore user’s own proposals on the third day.
Day 1 Morning: programming introduction in .Net
• The Grasshopper scripting components. Choosing a .Net language. Language developments
• Variables declaration, assignment and utilization. Operators. Methods [functions]. Calls
• Classes: declaration and instancing. Constructors. Importing a namespace. On3dPoints, OnLines
• Arrays declaration and usage. Lists. Adding to arrays and lists, advantages and opportunities.
Afternoon: patterns
• About OOP (object oriented programming) as opposed to procedural programming. Discussion
• Example of OOP good code reuse: sorting points by coordinates using the .Net SDK classes
• Lists as input parameters. Trees as input parameters. Usage and limitations
• Finding resources: on the net with website that can help getting started and troubleshoot. And books
Day 2 Morning: extending Grasshopper functionality with our definitions
• Store data between updates. The use of fields [globals, or static locals]
• Examples on how to use stored data between updates: a simple agents simulation
• Baking geometry with scripting directly into the Rhino document. Baking with names
• Passing custom types from a scripted component to another one. Our own code reusability
• Rendering an animation from Grasshopper. How to get started and final results
Afternoon: customizing our tools
• Our Rhino plug-in with Visual Studio C# [Vb.Net] Express Edition & wizard. Parametric mesher
• Writing a custom Grasshopper component: hacking an exporter for our data to Excel
Day 3 All day: personal project
• Rehearsal on any example from the first two days. A project that you want to start on your own, being it a Rhinoceros plug-in, a Grasshopper assembly or a script. Example might be to send data through network with UDP to Processing
MINIMUM REQUIREMENTS
A good foundation of Grasshopper visual programming is mandatory. You will need a level which corresponds to the Grasshopper 101 course outline. Examples of things that will not be covered in this course are: sorting document spheres by diameter, paneling of a surface with grasshopper components. You are expected to already know these from the Grasshopper course.…
ild on its expertise on generative design methodologies and large-scale prototyping techniques from previous years. AA Istanbul Visiting School will investigate the inherent associations between form, material, and structure through the rigorous implementation of innovative design and fabrication techniques. Computational methods for design, analysis, and fabrication will be coupled with physical experimentation, fostering ‘learning-by-experimentation’ in an active collaborative studio environment. Throughout the design and fabrication processes, the associations between various computational platforms will establish correlations between form-finding, material computation, and structural performance. The key objective of AA Istanbul Visiting School will comprise the design and fabrication of a one-to-one scale prototype realized by the use of robotic fabrication techniques.
Organization:
Design Studios | Technical Tutorials | Lectures
Approach:
Team-Based Design | Learning by Experimentation
Technique:
Computation | Digital Fabrication
Eligibility:
The workshop is open to architecture and design students and professionals worldwide.
Standard Applications:
The AA Istanbul Visiting School requires a fee of £695 per participant, which includes a £60 Visiting Membership fee.
Turkish Students Only:
The AA Visiting School requires a fee of 3,000 TRY per participant, which includes a £60 Visiting membership fee. Please contact the VS Office for instructions on registering onto the course and paying online and/or by bank transfer.
The deadline for applications is 27 May 2019. No portfolio or CV, the only requirement is the online application form and fees. The online application can be reached from:
https://www.aaschool.ac.uk/STUDY/ONLINEAPPLICATION/visitingApplication.php?schoolID=597
For inquiries, please contact:
showkatbakhsh@aaschool.ac.uk (Programme Co-Head)…
creating the structural frame, finding the endpoints, linking these endpoints with curves and afterwards lofting the surfaces between the curves.
The results were quite nice, however, the procedure is very time consuming and inefficient. There is just too much copy-pasting involved.
(see attached file: "Old Attempts.zip" )
Mesh relaxation:
I have later on used Daniel Piker's tutorials on Mesh Relaxation and realized that this might be the way to go.
The link to these online tutorials on wewanttolearn.net is:
https://wewanttolearn.wordpress.com/2011/10/22/mesh-relaxation-kangaroo-tutorial/
His tutorials, however, only deal with mesh boxes which are ideal cubes. He then joins them together in various directions, but it is under 90 degrees angle.
( see attached file: "Daniel Pikers Examples" )
What I would like to achieve:
I want my bridges to go in all directions and angles, not just under 90 degree angle.
Ideally I would like to make a square (polygon) follow a curve (which moves in all axis) at certain number of division points. I would then loft these squares into a mesh and use that shape as a mesh box. I would later use this mesh box and relax it the same way as Daniel Piker used the cubes in his tutorial. The anchor points are only the vertices of the squares which create the lofted mesh box.
( see attached file: "New Attempts" )
As you can see below this procedure works even if the curve is moving in all directions not only along xy axis. There are, however, many problems connected to it.
The problem:
Despite all the effort I cannot seem to come up with a design where I would be able to draw a random curve which would be the guideline for my mesh box and then apply this box to one definition in order to relax the mesh and create the shape that I want. Without this I am again forced into a lot of copy pasting as the final mesh box is made out of several sections.
Also is there any way I could make the final resulting mesh a bit smoother? Increasing the number of mesh faces is probably the only way, right?
Thank you guys so much for any potential help.
All best,
Luka
…
Introduzione a Grasshopper", il primo manuale su Grasshopper.
.
I corsi PLUG IT nascono dalla volontà di promuovere le nuove tecnologie digitali di supporto alla progettazione e condividere il know-how maturato attraverso ricerca, collaborazione con i più importanti studi di architettura e pubblicazioni internazionali.
.
Verranno introdotte le nozioni base di Grasshopper approfondendo le metodologie della progettazione parametrica e le tecniche di modellazione algoritmica per la generazione di forme complesse. Il corso è rivolto a studenti e professionisti con esperienza minima nella modellazione 3D e si articolerà in lezioni teoriche ed esercitazioni.
. Argomenti trattati:
- Introduzione alla progettazione parametrica: teoria, esempi, casi studio - Grasshopper: concetti base, logica algoritmica, interfaccia grafica - Nozioni fondamentali: componenti, connessioni, data flow
- Funzioni matematiche e logiche, serie, gestione dei dati - Analisi e definizione di curve e superfici
- Definizione di griglie e pattern complessi - Trasformazioni geometriche, paneling - Attrattori, image sampler
- Data tree: gestione di dati complessi - Digital fabrication: teoria ed esempi - Nesting: scomposizione di oggetti tridimensionali in sezioni piane per macchine CNC
.
Verrà rilasciato un attestato finale.
.
Ulteriori info e programma completo su: www.arturotedeschi.com e su www.samilolab.it…