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~…
ceros.
Public concerné /
Architectes et designers, utilisateurs de Rhino souhaitant paramétrer Rhinocéros à l’aide de Grasshopper,
programme associant des composants et une structure de graphe interagissants avec le modèle Rhino.
Une bonne connaissance de Rhinocéros est nécessaire. La langue de la formation est le français.
Structure et Objectif de la formation /
La formation se déroule sur 3 jours : les 2 premières journées sont consacrées aux « fondamentaux » de
Grasshopper avec en préambule une introduction au design et à l’architecture paramétrique et leurs impacts
dans la conception, la création et la construction.
La troisième journée sous forme d’atelier est dédiée à l’étude de cas concrets proposés par les stagiaires, qui,
quelques jours avant la formation, pourront envoyer leurs projets par mail à - info AT rhinoforyou DOT com -
Les stagiaires, après la formation, pourront rester en contact avec les formateurs de HDA par le biais du
blog complexitys.com et le twitter @HDA_Paris. La durée de cette formation permettra d’atteindre une
autonomie et une bonne compréhension basée sur des exemples concrets.
Programme ind icatif des notions traitéES pendan t la formation /
Introduction à la conception Paramétrique . Rhinoscript, Grasshopper: différences et similarités . Interface
graphique de Grasshopper . Objets, Données, Listes . Opérateurs scalaires : La mathématique de
Grasshopper . Gestions des données : la logique de Grasshopper . Vecteurs, Points, Lignes, Surfaces : La
géométrie de Grasshopper . Listes, Arbres, Branches . Le dessin paramétrique: exercices divers et exemples
. Références, Bibliographie, Support de cours . Ateliers d’architecture et design paramétrique (3ème jour) .
Moda lité de la formation /
Venir avec un PC portable équipé de Rhinocéros version 4.0 SR 7 et de la dernière version du plug-in
Grasshopper (téléchargeable sur www.grasshopper3d.com).
Le coût du stage de 3 jours est de 1050 € HT par personne.
Réserver votre place dès que possible car les places sont limitées à 10 participants maximum.
Inscriptions et renseignements: Jacques Hababou, info AT rhinoforyou DOT com
Pour en savoir plus sur l’architecture paramétrique: www.complexitys.com…
.
Today we have gone live, and the plugin is available on Food4Rhino. You will find an installer package, sample files, and a demo video on getting started:
http://www.food4rhino.com/project/human-ui
Visit the Bitbucket Repo and poke around in the code:
https://bitbucket.org/andheum/humanui
Check out today's coverage in Architect Magazine:
http://www.architectmagazine.com/technology/nbbj-releases-human-ui-to-bring-parametric-modeling-to-the-masses_o
Finally join our group and ask any questions or post any comments here:
http://www.grasshopper3d.com/group/human-ui
See below for detailed description!
----------------------------------
Human UI
Primary Development by:
Lead Developer: Andrew Heumann / andheum / @andrewheumann
Product Manager: Marc Syp / marcsyp / @mpsyp
Contributing Developer: Nate Holland / nateholland / @_NateHolland
Gone are the days of faking a user interface by laying out sliders and text panels and hiding wires on the Grasshopper canvas. Human UI interfaces are entirely separate from the Grasshopper canvas and leverage the power of Windows Presentation Foundation (WPF), a graphical subsystem for rendering user interfaces in the Windows environment.
OLD NEW
In other words: Human UI makes your GH definition feel like a Windows app. Create tabbed views, dynamic sliders, pulldown menus, checkboxes, and even 3D viewports and web browsers that look great and make sense to anyone--including designers and clients with no understanding of Grasshopper.
Human UI has been in development at NBBJ for over a year, as part of a larger NBBJ Design Computation initiative to deliver our tools internally as Products -- with fully automated installation, managed dependencies, analytics, documentation, and “magical” user experience. Human UI has been a huge component of the user experience part of this puzzle, and we are excited to share it with the larger Grasshopper community so that others can benefit from it and contribute to its development.
The initial release of Human UI is accompanied by a few simple examples to get you started, but we have developed sophisticated user interfaces with these tools at NBBJ and will slowly be rolling out more advanced examples. We also look forward to opening up the development to the community and seeing what new features and paradigms we can add.
Download the plugin at Food4Rhino and get started building Custom UIs for Grasshopper right away! We are happy to answer any questions or field discussion in the dedicated Grasshopper Group. Please join us!
Join the Grasshopper Group
http://www.grasshopper3d.com/group/human-ui
Download the plugin + sample files
http://www.food4rhino.com/project/human-ui
Visit the Bitbucket Repo
https://bitbucket.org/andheum/humanui
We look forward to seeing where this project takes you, please share your projects made with Human UI!
Sincerely,
Design Computation Leadership Team, NBBJ
…
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
…
hopper no requiere de conocimientos de programación o scripting para permitir al diseñador trabajar de forma generativa y paramétrica. No son necesarios conocimientos previos de Grasshopper pero sí de Rhino a nivel básico.
Controlmad es Centro Formador Autorizado Rhinoceros y Rhino fab Studio.
Nuestros profesores son Instructores Autorizados Rhinoceros con experiencia universitaria, nacional e internacional.
El curso y los ejercicios a desarrollar están enfocados a diseñadores, arquitectos, ingenieros y estudiantes.
En este curso introductorio el alumno se familiarizará con términos básicos de la estructura de Grasshopper, como “listas de datos”, “dominios”, “estructuras en árbol”, etc.
Es un curso de 18 horas, con el que se pretende entrar en la lógica de trabajo de Grasshopper mediante diversos ejercicios, de forma que el alumno sea capaz posteriormente de desarrollar sus propias gramáticas, con la confianza que da comprender los términos básicos de programación sobre los que se apoya todo el sistema de trabajo de Grasshopper.Para este curso no son necesarios conocimientos previos de Grasshopper, pero sí de Rhino (a nivel básico).
También se vincula el programa con la impresión 3D aprendiendo a exportar archivos desde Grasshopper con los requisitos mínimos de impresión 3D. Se realizará una demo de impresión en el aula.
El primer día del curso se le facilita al alumno un manual-tutorial con los ejercicios a realizar, en PDF.
A la finalización del curso, y siempre que el alumno haya asistido al 80% de las clases, se le otorgará un diploma oficial acreditativo del curso.
Fechas: 5, 6, 12 y 13 de marzo
Horario: sábado y domingo 16 - 20,30h (Madrid, CET)
Lugar: Sesiones On-line en directo a través de nuestra plataforma online.controlmad.com
…
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.…
de geometries, which can easily be adapted to changing design intentions and requirements. The core concept of the software is that the brick unit is the basis for every action performed. Basically, a design is generated through drawing, placing and manipulating individual bricks. BrickDesignoffers different methods to manipulate the individual bricks in order to map patterns on a façade. These methods can be extended ad libitum through an open script interface, which gives access to a number of brick parameters.…
Added by Ayuka Oomura at 3:40am on November 4, 2013