elow are some pictures of the specific configuration I am trying to model out of the reeds in varying stages of being "rolled up".
Basically I am trying to roll up a hexagonal sheet into a cone, while maintaining their edge lengths. I know that there are a lot of threads on this forum concerning modelling topology based off of equal edge length polygons, my main interest in this is not to develop a random surface to apply a function on top of but to make a tool that is more generative based off of the material/topological properties of carbon bonds. The closest thing I have found related to this are the discussions of Lobel frames.
Currently I have been trying to work through it from two ways, one using an array of hexagonal solid bodies with magnet snaps at their vertices and trying to manually zip up the cone using K2. However because all of the planes distort slightly when taking the form it is proving to be difficult and not exactly what I am looking for.
I think ideally I would like something that can just translate the hexagonal form using Daniel Piker's mesh dual from a equilateral triangle mesh after it has been rolled. Then I would have the network of closed polylines to build from. However I think the current way I have of zipping up the sheet using the K2 gripper is a bit too analogue. I also cant seem to find a way to join the mesh after it has "zipped" together in the simulation to create a smooth transition as well as complete the hexagonal pattern along the seam.
Another problem with the mesh dual strategy is that it only works with closed hexagons, it does not leave any loose strands open to be "zipped".
Attached are the two working files for the strategies outlined above.
In short I am looking for suggestions on how best to approach ways of modelling the form that I originally modeled out of reed. None of the strategies I have come up with get me the topological equivalent of the built model.
More specifically, Does anyone know of a way of joining a mesh seam during a kangaroo simulation so that it can inherit the hinging properties of a closed mesh?
Any help or suggestions would be most welcome!
Thanks.
…
functions:
Human.gha
Extends Grasshopper's ability to create and reference geometry including lights, blocks, and text objects. Also enables access to information about the active Rhino document, pertaining to materials, layers, linetypes, and other settings.
Includes the following components:
(Those in bold are new components with this release.)
Object Creation
Bake Geometry with Attributes
Create Hatches
Create Justified 3d Text
Create Lights
Define Block
Place Blocks
Create Object Attributes
Display
Custom Display with Variable Lineweights
Custom Display with Bitmap Textures
Render Text to Screen
Render Mesh to Screen
Render Curve to Screen
Render Point to Screen
Screen-Oriented Text
Screen-Oriented Mesh
Document Information
Font Table
Material Table
Layer Table
Hatch Pattern Table
Linetype Table
Document Modifications
Create/Modify Layers
Create/Modify Materials
Miscellaneous
Document Units
Directory Contents
Delete Objects on Layer
Dynamic Item Selector
Reference
Dynamic Geometry Pipeline
Explode Hatches
Explode Blocks
Explode Blocks Recursively
Get Object Attributes
Light Properties
Sort Objects by Type
Text Object Info
Get Objects by Selection
Get Objects by Layer
Texture Mapping
Planar Mapping
Box Mapping
Spherical Mapping
Surface Mapping
Cylindrical Mapping
Custom Texture Mapping
TreeFrog.gha
This add-on includes a set of components to aid in the advanced manipulation of data tree structures.
Includes the following components:
Assign Paths
Graft by Data
Match Paths (this is pretty much the same as GH's native "Unflatten" - but it came first so I'm leaving it in :D )
Path Description
See the images and reference files for a detailed explanation of the function of these components.
I'd also like to acknowledge the creators of Horster Reference, the first Grasshopper add-on to expose advanced reference functionality. These components definitely build on the work they have done, although they take a slightly different approach.
To install:
In Grasshopper, choose File > Special Folders > Components folder. Make sure you delete all earlier versions of HDTReference.gha, TreeFrog.gha, and Human.gha if there are any. Save the gha file to that directory.
Right-click the file > Properties > make sure there is no "blocked" text
Restart Rhino and Grasshopper
…
de modelación en 3D y aprovechen las ventajas que plantean, como mejorar su proceso de diseño y explorar múltiples alternativas para un proyecto en lapsos de tiempo muy reducidos en comparación de los métodos tradicionales.
En consecuencia, los alumnos tendrán la posibilidad de disminuir sus tiempos de trabajo, con resultados iguales o incluso mejores a los que obtenían con anterioridad; mejorar la calidad de sus presentaciones y, lo que es más importante, ampliar la fundamentación de sus proyectos en el aspecto funcional y formal, dependiendo de las características del proyecto.
Para lograr estos objetivos, se contemplan dos temarios y un ejercicio práctico.
Al finalizar el curso, los asistentes serán capaces de manejar Rhinoceros y Grasshopper en un nivel medio, con el objetivo que el alumno pueda continuar aprendiendo con alguno de nuestros siguientes workshops o de manera autodidacta.
Además del contenido teórico se incluye un ejercicio práctico, la magnitud del ejercicio y el material que se le destine se definirán con base en el número de asistentes.
El workshop tiene una duración de cinco sesiones:
Sesión 1 – Temario de Rhinoceros
Sesión 2 y 3 – Temario de Grasshopper
Sesión 4 y 5 – Ejercicio práctico
El horario es de 9 am a 4 pm, con una hora de receso para tomar un refrigerio.
No es necesario traer el equipo necesario para trabajar, se cuenta con un equipo para cada persona asi como el material de trabajo para el ejercicio práctico, por lo cual se les recomienda que no traigan portátiles u otro material, únicamente dispositivos de almacenamiento si desean guardar sus trabajos.
El costo del evento es de $3,500 estudiantes y $4,000 profesionales.
(Para poder tener el descuento de estudiante es necesaria una constancia de la universidad de la que proviene, acreditando que el interesado está cursando algún semestre de la carrera. Personas graduadas que estén cursando una maestría o algún grado superior no reciben el descuento).
Para apartar su lugar pueden realizar un depósito de $1,500 y terminar de efectuar el pago antes del 15 de abril si es mediante un depósito bancario o el primer día del evento en efectivo.
El evento se realizará en las oficinas de Vegasot, ubicadas en Circuito Cirujanos No. 23-A
Cd. Satélite, Naucalpan, Edo. de México 53100
http://www.vegasoft.com.mx
Para cualquier duda por favor escriban un correo a luzytextura@gmail.com, por teléfono al 044 55 4381 3302, o en facebook.com/archbernardorivera…
duttiva, sarà finalizzata alla realizzazione di un modello d'architettura complesso attraverso l'utilizzo di comandi e tecniche avanzate di rappresentazione con i software Rhinoceros e 3dsMax.Durante l'openDAY verranno mostrate le caratteristiche e le potenzialità degli strumenti Nurbs (Rhino) e Mesh (3dsMax) chiarendo i nuovi valori assunti dalla modellazione 3D per il progetto e per il rilievo.Inoltre come conclusione al mini-corso, sarà illustrato il potenziale di V-ray per 3dsMax renderizzando il modello disegnato durante l'incontro e verrà mostrata la potente plug-in Grasshopper del software Rhinoceros, strumento sempre più utilizzato in ambito europeo ed internazionale.
La lezione e la presentazione si terranno presso lo studio IL PEDONE - officine di architettura.
PROGRAMMAZIONE
- Mini-corso integrato di modellazione avanzata con Rhinoceros e 3dsMax;
-Il modello dinamico: il modello digitale come prototipo virtuale per il concept progettuale
[Michele Calvano];
-Nuove tecniche di modellazione parametrica con Grasshopper:
[Michele Calvano];
- Il modello espressivo: la mesh e le sue capacità di strutturare lo spazio architettonico
[Wissam Wahbeh];
- Esempio di rendering con Vray per Max:
[Wissam Wahbeh];
- Offerta formativa 2013 - Corsi e Workshop [Francesca Guadagnoli];
- Question Time per chiarimenti sugli argomenti illustrati.
COMEL' openDAY SARA' APERTO A TUTTI GLI INTERESSATI, COMPLETAMENTE GRATUITO E SARA' REPLICATO IN DUE SESSIONI DI UGUALI CONTENUTI ORGANIZZATE NEI SEGUENTI ORARI:
Sessione [1] 15,00 - 17,00
Sessione [2] 18,00 - 20,00
Per necessità di organizzazione, è importante la prenotazione all'evento utilizzando il form presente in fondo alla pagina, dove nella stringa apposita (Evento), si dovrà specificare il nome dell'evento, la sessione (es. open day sessione 1) e agli altri dati richiesti.
per info contattare la Coordinatrice Didattica Francesca Guadagnoli
cell: 347 7189175 oppure 340 3476330
@: parametricart@gmail.com
Presentazione precedente parametricDAY -14 gennaio 2013http://www.youtube.com/watch?v=YSdVf6ppATwhttp://www.youtube.com/watch?v=IzsMPuLfCLQ…
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
…
rsi giornalieri (livello base) dedicati a 4 diversi topic Rhinoceros - 8 febbraio Grasshopper - 16 febbraio Rhino cam - 8 marzo Stampa 3D - 9 marzo
tutor: Amleto Picerno Ceraso, Francesca Viglione, Gianpiero Picerno Ceraso.
. Arduino for interaction (livello base-medio) 15, 16 marzo Il workshop parte dalle basi della programmazione di arduino fino ad arrivare all’interazione tra un oggetto fisico ed un imput informativo tutor: Gianpiero Picerno Ceraso
. Grasshopper advanced: “Complex surface” (livello medio) - 18, 19, 20 marzo Il workshop ha come obiettivo lo sviluppo di superfici complesse rispondenti ad informazioni provenienti dall’ambiente. Il corso parte dalle nozioni di Grasshopper fino ad arrivare alla possibile realizzazione di un oggetto tramite le tecniche di fabbrizazione digitale. tutor: Amleto Picerno Ceraso nb: è richiesta una conoscenza base di Grasshopper
. Emotional design (livello alto) 23, 24, 25 marzo Il workshop verterà sull’acquisizione, registrazione e manipolazione di tali dati/emozioni tramite Grasshopper e il loro utilizzo per controllare i parametri del design di specifici oggetti che diventeranno quindi, essendo customizzanti con le specifiche emozioni dell’utente, istanze e memoria tattile di precise esperienze. tutor: Andrea Graziano nb: è richiesta una conoscenza base di Grasshopper
. Fabricated fashion (livello alto) 26, 27, 28, 29, 30 marzo Il tema del workshop verte sulle tecniche di progettazione digitale applicate al fashion. tutor: Luis e Elizabeth Fraguada nb: è richiesta una conoscenza base di Grasshopper
. Blender (livello alto) - 16, 17, 18 maggio tutor: Andrea Graziano
. Interaction design: Arduino + Grasshopper (livello medio) - 2, 3, 4 maggio Il corso ha l’obiettivo di indagare processi di interazione tra le persone e gli ambienti in cui vivono attraverso il responsive design. nb: è richiesta una conoscenza base di Grasshopper e Arduino. tutor: Amleto Picerno Ceraso del Mediterranean FabLab e Antonio Grillo del FabLab Napoli.
info su costi: http://www.medaarch.com/2765-il-nuovo-calendario-attivita-firmato-medaarch/
…
uier momento del diseño de un modelo 3D y este se readapta sin necesidad de redibujar la zona alterada.
Otra de las principales características del trabajo paramétrico es que nos permite automatizar procesos de trabajo o diseño. Esto quiere decir que, con procesos sencillos, podemos generar geometrías complejas y siempre justificadas en función de unos parámetros que nosotros definamos; lo que, en cierto modo, elimina la arbitrariedad en el diseño y nos arma de argumentos en la toma de decisiones de proyecto. Por otro lado, se pueden generar texturas y patrones de manera aleatoria o variable en función de atractores.
Tras la realización de este workshop, el alumno será capaz 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.
Grasshopper nos abre todo un mundo de posibilidades en el diseño y en la fabricación digital.
PARA QUIÉN
El workshop está dirigido a estudiantes y profesionales de la arquitectura, el interiorismo, la ingeniería, el diseño de producto, el diseño industrial y, en general, perfiles creativos y disciplinas artísticas que quieran introducirse en el mundo del diseño paramétrico.
Es recomendable tener conocimientos previos de Rhinoceros (nivel básico) ya que hay algunos conceptos que pueden ser útiles para un mejor seguimiento del workshop.
…
ht spot :)
Is scriptcontext used to define docspace only?scriptcontext is not used only for that. It contains quite some few variables that allow to do different things. For example, there's the sticky dictionary, useful to store temporary information and bring it also across components or over to the _EditPythonScript editor. It is a real module and you can find it in the folder containing also the rhinoscript library.
Not sure how to use these: [...] AddReference('Grasshopper')There is no longer any need to use this call in the last release of GhPython, as the component automatically adds a reference to the Grasshopper library (grasshopper.dll) for convenience. As it might already be clear to you, Python itself does not know about Grasshopper
How is the gh kernel used in relationship to rhinoscript?Not in any specific way. They are two different libraries. The Grasshopper kernel does not know about the ghdoc document, so -- if you ever need to use it -- you can use the rs.coerceXXX() functions to get the geometry from rhinoscript Guids.
>>from Rhino import Geometry as makePlease don't import modules with very-different-looking variable names (aliases). Other people will have more trouble following.
Where can I find documentation on ghenv?Sorry, there is no more documentation than what you can see with autocompletion. However, there is also nothing else there, other than that! We do not encourage modification of Grasshopper behavior via this variable. You can see its sourcecode here:https://github.com/mcneel/ghpython/blob/master/Component/PythonEnvi...The most important information, as you already discovered, is Component, which returns a GH_Component instance (a ZuiPythonComponent instance, to be precise -- but this might change in the future). GH_Component is defined in the Grasshopper SDK.
(Paraphrasing from your comment) Why are these calls doing the same: a = rs.AddPoint(x,y,0) #rhinoscript b = ghdoc.Objects.AddPoint(x,y,0) #rhinoscript? access through ghdoc? how is this different? c = sc.doc.Objects.AddPoint(x,y,0) #only some of the rhinoscript methods availableThese calls are not doing the same. I understand how this might seem difficult, as this is the result of normal OO (object-oriented) design, where you might get reach to the same (or similar) objects through different calls.Now, rs up there is rhinoscriptsyntax module up there.ghdoc is a variable (similar to ghenv) that contains a reference to the invisible Grasshopper document. The document (both Rhino and Grasshopper ones) have an object table available through the Objects attribute. So,sc (the scriptcontext module) has a variable (doc) which gives you whichever document is current. In GhPython, this is by default ghdoc. In Rhino (the _EditPythonScript editor) this is by default Rhino.RhinoDoc.ActiveDoc. This is the place where rhinoscript functions add geometry. Whoever called AddPoint(x,y,0) that way, bypassed standard methods and added geometry through the same call that eventually rhinoscriptsyntax uses. d = Rhino.Geometry.Point3d(x,y,0) #rhinocommon #e is exactly the same as d, just with another shortcut. Dont do this if you can.d invokes the RhinoCommon constructor for Point3d. This returns a 3D point.Use type(var) to get the type of a variable. Other methods exists for other reason (this is IronPython), but please stick to this one unless you know why you should be doing differently.If the first three calls are successful, a, b, c will contain Guids that refer to objects in documents. d will be the RhinoCommon geometric point itself. This has advantages and disadvantage: objects in the document have also attributes like color, linetype, etc, while geometry is completely "bare-bone".
>>got bake figured out on component below.Nice, so you are putting these concepts into practice.
I hope this rather long answer was helpful.Thanks, kind regards,Giulio--Giulio Piacentinofor Robert McNeel & Associatesgiulio@mcneel.com
…
to prepare walls that extrudes from the base curve and wrap it around to top and bottom slab. To make them nicely, the "walls" have to take into considerations the thickness of the material one is using.
For example, at an exterior 90degrees corner, while some master model makers will try to knife the wall edges into a type of Miter Joint with extreme care and the expense of time. Many will choose make one wall longer while another one shorter and glued with one wall covering another wall. This method proofs to give fairly acceptable result with much less time spent. In my experience of building such models, the challenge is to make calculations and decide which wall have to be shortened and which one have to be lengthened, this applies to both laser cut walls and manually-cut walls. Apart from the fact that this usually a long and boring process, the next step of taking the measurements and redrawing the rectangles (for laser cutting) with the right height and width are prone to human error. The chance of making an mistake is particular high is when facing blocks that have non-90degrees corners.
Here I have created a small tool that reads polyline curves and automatically determine the required shortening and lengthening on all walls, taking care of the material thickness. It reads the height value from the Name of the polyline curve (which I found easiest to use). It can then redraw the laser cutting files for the walls with correct tags that allow assembly much easier. I also wrote a 3D extruded preview of all the models, so that one can check visually before going to the cutting, which also helps during the assembly to figure out which wall overlaps with which wall and how to properly glue them.
To run the script, you need to have "planar" "closed" polylines (it wont accept curve segments) with the height value entered in the "Name Property". (look at my example file)
If you have changed the height of the building but the script did not update, press F5 in grasshopper to Recompute.
Each block is named in numerical order, the walls are tagged with alphabetical suffix to specify the sequence.
Top slab has no tag to avoid showing on the model, match them with the bottom slab if you get confused.
Note that the walls are individual piece but not a folding sheet. The whole idea is not for models that the walls warps (continuous piece of paper) around top and bottom plates.
I have added an etched line for positioning the roof with a slight sink. Which will make the blocking look nicer with a shadow gap.
The script with an example file is uploaded on my website here: http://www.dreamationworks.com/?p=684
Cheers
Victor…
Added by Victor Leung at 8:54am on December 14, 2011