is called TouchOSC (http://www.hexler.net/software/touchosc).
Basically, what TouchOSC does is sends a message over UDP, but it's formatted according to the OSC specification (http://opensoundcontrol.org/spec-1_0). Firefly (and Ghowl) both have UDP/OSC receivers (although they work slightly differently). Basically, you have a sender (your phone) and a receiver (your computer) and the sender has to know the IP address of the receiver and they both have to know which port they want to communicate on. The port can really be any number you want. So, when launching the TouchOSC app, you need to go into the settings and specify the IP address of your computer and the port you want to use. Then, just pick a layout and start moving sliders to send the data. On the Firefly side, just drop a OSC listener component onto the canvas and specify the same port number you put into the app. Then, connect a Timer component to the OSC listener to get it automatically refresh at a given interval. The data should come over as a data tree, and you can extract the header of the message, or the actual value using the standard Data Tree components.
The one thing you may want to know is that some networks will restrict communications over UDP (particularly those at schools, or other institutions). I would recommend starting out using your home router, which hopefully doesn't have these restrictions. If you do want to use it at a school, you may need to create an ad-hoc network and make sure your phone and computer are both on that same network. Other than that, it should be pretty straight forward. Hopefully this gets you started.
Cheers,
Andy…
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~…
io, alle ore 19:30 presso la Mediateca MARTE di Cava de’ Tirreni (Sa), la lecture magistralis dell’arch. Walter Nicolino dal titolo “Augmented visions / Responsive spaces”, un viaggio culturale che, attraversando gli studi progettuali a diverse scale condotti tra la sede torinese e il centro ricerca di Boston, mette in luce una attitudine nell’indagare e nel dar forma alle interazioni tra le persone, gli oggetti e gli spazi, al fine di fornire possibili risposte alle nuove istanze poste dalla rivoluzione digitale.
In apertura i saluti istituzionali del sindaco Marco Galdi, mentre a introdurre la lecture l’arch. Amleto Picerno, promotore del Mediterranean FabLab di Cava de’ Tirreni e tutor della Summer School digitalMed, il laboratorio progettuale che da quattro anni a questa parte, indaga temi, pratiche e tecniche dell’attuale panorama architettonico internazionale. È la smart city al centro della IV edizione di Summer School Digitalmed 2013, che si svolge a Salerno dal 22 al 28 luglio con l’obiettivo di creare un sistema di relazioni e di interazioni continue tra la città, le persone e l’ambiente in cui queste si rapportano in un continuo scambio di informazioni.
Ad esprimere la critic ai prototipi di progetto che emergeranno dal workshop digitalMed, sarà proprio Walter Nicolino, architetto di spicco del panorama italiano, coinvolto in numerosi progetti di ricerca al Senseable City Lab del MIT di Boston, insieme all’arch. Carlo Ratti con cui è fondatore e socio dello studio torinese CARLORATTIASSOCIATI.
Il 26 luglio lo space 1.0 della Mediateca MARTE di Cava de’ Tirreni si fa, dunque, arena d’avanguardia per un interessante dibattito durante il quale, a proposito della Summer School digitalMed, si ragionerà anche sul modo in cui le tecnologie digitali influenzano l’architettura.
«Da qualche tempo a questa parte possiamo scegliere se orientarci alla perfezione tramite navigatori GPS o perderci come sognanti flâneur metropolitani; possiamo associare in un batter d'occhio infiniti layers di dati a un luogo, oppure contemplarne in silenzio il paesaggio; possiamo anticipare la realtà con sofisticate rappresentazioni virtuali, oppure esercitarci in giocose autocostruzioni partecipate.
Possiamo avere l'una e l'altra cosa: non si tratta di una scelta tra il mondo reale e quello virtuale, come predetto da parte della letteratura agli albori dell’era digitale, ma si tratta di capire come il nostro ambiente costruito e gli spazi in cui viviamo stiano imparando a parlare un nuovo linguaggio e ad interagire in modo sempre maggiore con le persone - afferma Walter Nicolino che parafrasando Le Corbusier “La civilisation digitale cherche et trouvera son expression architecturale”, sottolinea l’importanza di integrare le nuove tecnologie e radici locali senza perdere la visione e la dimensione umana della città: All’architettura è richiesta una revisione dei propri strumenti per creare spazi flessibili, inclusivi, in grado di adattarsi ai nuovi modi di vivere e lavorare e di rispondere in modo interattivo alle nostre esigenze».
…
ppresentazione di modelli per l’architettura ed il design, verso un apprendimento d' alto livello delle tecniche di modellazione parametrica 3D.
Il corso si svolgerà nei seguenti giorni:
Sabato 19/10 dalle 10.00 alle 19.00
Domenica 20/10 dalle 10.00 alle 19.00
Scadenza preiscrizione: 16/10
Contenuti
Durante questo corso, attraverso l' uso di tecniche avanzate di modellazione Nurbs,
si potranno costruire modelli tridimensionali complessi che permetteranno di comprendere le tematiche legate alle forme complesse dell’architettura.
Particolare attenzione verrà data allo studio delle superfici a doppia curvatura, alle superfici rigate e alle superfici sviluppabili, quest’ultime adatte alla creazione di manufatti rivolti alla produzione. Allo studio delle superfici sarà affiancata la logica della loro tassellazione, quindi il passaggio da entità continue ad entità discrete, indagandone il valore attraverso esercitazioni pratiche.
Per comprendere meglio le finalità pratiche della tassellazione verrà adoperata una plug-in integrativa specifica per questo tipo di operazione: Paneling Tools. Le lezioni pratiche saranno arricchite da brevi comunicazioni teoriche utili a perseguire l’obiettivo della costruzione di modelli complessi. Sintesi programma
Costruzione di superfici free-form facilmente editabili attraverso tecniche di sculpting ed una gabbia adeguata di punti di controllo;
Presentazione e spiegazione delle superfici a doppia curvatura, rigate, sviluppabili e loro pannellizzazione attraverso elementi lineari o tasselli piani;
Studio della tassellazione attraverso la plug-in Paneling Tools per lo sviluppo di tasselli tridimensionali complessi;
Modellazione di un'architettura complessa, costruita avvalendosi della anche della tecnica del morphing.
Preparazione della mesh e del file per il rendering.
Alla fine del corso, verrà rilasciato l’attestato di partecipazione ad un corso di Rhinoceros qualificato e certificato dalla casa sviluppatrice McNeel, valido anche per la richiesta di crediti formativi universitari.
Docente del corso
Il corso è tenuto da un docente qualificato, con riconosciuta esperienza universitaria, esperto in disegno e rappresentazione dell' architettura e del design ed istruttore McNeel:
Michele Calvano|_architetto, dottore di ricerca in rappresentazione architettonica specializzato nella modellazione matematica (Nurbs) e modellazione parametrica.
Docente ART (Autorized Rhino Trainer) - [vedi CV]
Info
Per ulteriori informazioni di carattere didattico sono a disposizione i seguenti contatti: Responsabile didattico: arch. Michele Calvano
Info mail: parametricart@gmail.com
cell: 340 3476330
…
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
…
phere with the maximum number of triangles but not much than a defined threshold.
I scaled that mesh just to fit Rhino grid, but it is not mandatory. What is useful, is to scale not uniformly the mesh (Scale NU). It could be done after cellular modifier applied or before or before and after. The 3 options are possible in the script. If you don’t need them just put 1 in scale sliders.
Ellipsoid mesh is the populated with points, I put 2 independents populations to randomize a bit further. For each vertices of the mesh the closest distance from the populated points is calculated.
Here is an illustration in color of this distance.
This distance is then used to calculate a bump. If domain for bump is beginning with negatives values to 0, it carves the mesh. Instead it bumps/inflates it.
Some images to illustrate the difference with populating 100 points with one or two populations.
Here some images to illustrate the application of scale before carving or after.
Next phase apply noise. At the moment I don't find it good.…