ween the extremes of each goal.
Also see octopus.E for custom evolutionary algorithms.
Download the latest version on food4rhino
It is part of a range of tools developed at the University of Applied Arts Vienna, and Bollinger+Grohmann Engineers.
search for single goal + diversity of solutions
search for best trade offs between 2 to X goals
improve solutions by similarity-goals
choose preferred solutions during a search
change objectives during a search
solutions' 3d models for visual feedback
recorded history
save all search data within the Grasshopper document
save a solution as a Grasshopper State
export to text or text files
Octopus introduces multiple fitness values to the optimization. The best trade-offs between those objectives are searched, producing a set of possible optimum solutions that ideally reach from one extreme trade-off to the other.
Based on SPEA-2 and HypE from ETH Zürich and David Rutten's Galapagos User Interface. Developed by Robert Vierlinger in cooperation with Christoph Zimmel, karamba3d.com and Bollinger+Grohmann Engineers.
To install:
Copy the .gha and .dll file into the Grasshopper components folder
Right-click the file > Properties > make sure there is no "blocked" text
Restart Rhino and Grasshopper
Some examples are provided here.
New commented examples and a brief manual are provided in the download of octopus on food4rhino.
…
Added by Robert Vier at 2:51am on December 6, 2012
I live on my computer and I even sleep with it, so learning all this is probably within my reach but I'm a complete beginner as of now.
I'm downloading the 32 bit version of rhino 5 since the 64 bit doesn't seem to work with your downloads Jon.
I haven't grasped everything you have made yet Jon I can't even begin to understand what your IFC stuff is actually capable of, but just to be clear I'm not interested in solely being able to tell that something is colliding as there are already software that can do that beautifully. What I want to do is bypass that step altogether by never having collision-checking back and forth go on, even collisions which aren't physical collisions, but rather just violations by code. The simplest way to do this would be to simply make the geometry of the beams 2 feet wider than they are in real life, so that way you could put a light right next to the 'over-sized' beam and it would still be within the rules. But that would be extremely primitive and I'm sure there's a way to do it mathematically.
Just to clarify, I'm the fire sprinkler designer in the architectural circus. The sprinkler designer (me) doesn't really get the luxury of telling the other trades that they're colliding with my stuff and they should move. Rather, I get their drawings, find out I'm colliding with them, and move around them. So it would be of great use to me to have this be automatic - that is, to automatically space my sprinklers the neccesary distance away from all obstructions. There are different spacing rules for different obstructions - walls, beams, open web steel, unit heaters, hvac ducts depending on how wide the ducts are, lights, fans, high rack storage, basically anything that would obstruct the water spray from a sprinkler needs to be taken into account and spaced away from.
It's therefore a very attractive idea to be able to just draw a rectangle (representing the walls of a simple room) for instance, have the sprinklers automatically spaced as far apart as possible within the rectangle according to the rulebooks (to minimize the amount of sprinklers needed which minimizes the material cost of the job).
Then add obstructions inside the rectangle, such as a beam, and have the sprinklers relocate themselves or add new sprinklers to accommodate for the new obstruction.. Keep adding obstructions until you have the realistic 3d model of the room, with the sprinklers spaced accordingly, and you have an up-to-code sprinkler system.
There is one example where sprinklers actually need to be spaced really close to, rather than away from, an object.. and that is the ceiling (sprinklers must be within 12 in of ceiling typically).
If the HVAC guy decides to reroute his ducts right through my sprinklers, then I could draw 3D HVAC ducts (I usually get 2D drawings coming in) going right through the room and the sprinklers would relocate and auto-space away from the ducts, without actually having to tell the HVAC guy he is colliding with me because all that will do is require me to do a redesign anyway.
And presto, the HVAC guy loves me because I didn't complain to him at all and seemingly did all this work by moving around him when all I really did was use the computer to do it, the job gets done much faster and I don't have to worry that I'm going to lose my job in court because I made a silly human error when I was patching my system manually because some HVAC guy made me redesign 12 times in different places.
From what I have been reading from you guys, doing this is possible although (I realize) ambitious. The end result would be vastly increased productivity, less error making, cheaper design cost, etc. Using programs like Rhino, architects are getting more and more funny-shaped buildings and making it difficult for guys like me to make sprinkler systems within the rules, and I see it as an inevitability that computers will be making almost all of the typical design decisions in the future when it comes to life safety systems, I'm just trying to see if it's possible to start implementing this extra aid today.
…
en la práctica de nuevos métodos de diseño y fabricación utilizando herramientas digitales. Estos procedimientos emergentes están cambiando radicalmente la manera en que nos aproximamos al proceso de diseño en términos de concepción y producción. Los participantes serán introducidos en el uso de softwares de modelado 2d y 3d para la generación de geometrías que serán posteriormente mecanizadas in situ en una máquina de control numérico CNC de 3 ejes.
¡AL FINAL DEL CURSO TE LLEVAS TU LÁMPARA A CASA!
Profesores: Equipo MEDIODESIGN* + TOOLINGROUP*
*Official Rhino Trainners. Acreditación otorgada por McNeel, desarrolladores del software Rhinoceros.
Lugar: Mediodesign. Pallars 85-91 5-2 BCN
Duración: 16 / 20 horas
Fecha: sábado 9 / domingo 10 julio de 2011
Horario: de 10h a 14h / de 16h a 20h
Plazas: 20 participantes
REQUISITOS
< Dirigido a estudiantes y profesionales de la arquitectura, diseño y profesiones afines.
< Ordenador portátil.
< Softwares instalados. En el momento de la inscripción, los participantes recibirán las instrucciones para la descarga e instalación de versiones gratuitas (trials) de los softwares.
CONTENIDOS
< Introducción al diseño avanzado y la fabricación digital.
< Entorno Rhinoceros y sus plug-ins.
< Herramientas y estrategias de trabajo CNC.
< Materiales y sus características.
< Planteamiento del ejercicio: diseño de una luminaria
< Desarrollo del archivo de RhinoCam para el mecanizado CNC.
< Mecanizado y post-producción.
< Entrega de propuestas: Presentación en formato digital del proceso de diseño y fabricación (pdf, powerpoint, etc…) y del prototipo de luminaria realizado.
INSCRIPCIONES
Precio: 199 € Materiales incluidos.
Forma de pago: mediante transferencia bancaria.
Límite fecha de inscripción: lunes 4 de julio 2011
Se otorgará certificado de asistencia. …
) Course Fee: Professional EUR 825,- (+VAT), Student EUR 415,- (+VAT)
Led by plug-in developer and structural engineer Clemens Preisinger, along with Zeynep Aksoz and Matthew Tam from the expert Karamba3D team, this three-day workshop will focus on methods of setting up structural systems in the parametric environment of Grasshopper. The participants will be guided through the basics of analyzing and interpreting structural models, to optimization 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. For beginner users of Rhino and Grasshopper, there will be an optional introductory course one day before the Karamba3D course.
Karamba3D 1is a parametric structural engineering tool which provides accurate analysis of spatial trusses, frames, and shells. Karamba3D is fully embedded in the parametric design environment of Grasshopper, a plug-in for the 3D modeling tool Rhinoceros. This makes it easy to combine parameterized geometric models, finite element calculations, and optimization algorithms like Galapagos.
Course Outline
Introduction and 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 Karamba3D and visualizing results
Complex workflow processes in Rhino, Grasshopper, and Karamba3D
Places are limited to a maximum of 10 participants with limited educational places. A minimum of 4 participants is required for the workshop to take place. The workshop will be canceled if this quota is not filled by October 28. The workshop will be taught in English.
Course Requirements
Basic Rhino and Grasshopper knowledge is recommended. An introductory course is offered.
No knowledge of Karamba3D is needed. Participants should bring their own laptops with Grasshopper and either Rhino 5 or Rhino 6 installed. You can download a 90-day trial version of Rhino. Karamba3D ½ year licenses for non-commercial use will be provided to all participants.
Please register here……
Added by Matthew Tam at 6:38am on September 13, 2019
project below- should I be learning Grasshopper & Rhino or just Rhino first?
I'm trying to panel modules with low tolerances- I've prototyped regular shapes like geodesics and am now looking to experiment with irregular shapes with lots of different panel shapes.
I understand some things are best done through Grasshopper when using Paneling Tools- I'm trying to figure out if I can do what I want to achive with PT alone or should do it through Grasshopper (or some other route).
I’m on the MAC WIP - The module was built in Sketchup - all the components seem to be in order as blocks though am having problems running the ptpanel3dcustom command - thinking maybe a bug in the WIP or something wrong with my input or that I imported the sketchup file the wrong way. (I dropped it in the window) - If the 3D command is run it doesn’t do anything - if 2D (ptpanelgridcustom) it crashes.
The tileing pattern - the green rectangle is a refrence. each tile contains 4 blocks with 3 more nested in each.
How the module tiles.
The other thing I'm trying to do is specify that most of the lines in the panels don’t bend/curve when they are paneled (or something like Cage Edited). For my purposes the length & angles can change while the lines must remain straight.
These images show a test tile to be panneled on a ellipsoid. When the tile is mapped to the grid the lines curve, this is an extreme example but notice allot of tiles far from the hemespheres are also bent slightly.
These two questions have me stumped the most for now. What should I look into get a better handle on these problem areas? Maybe I should try recreating the work on a windows machine? or perhaps I should get started with Grasshopper?
Thanks for reading.
Lu…
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…
2: https://vimeo.com/107502226
------------------------------------------------------------------------------------------------
Hi all,
1. Chris, Chien Si and I will present Ladybug and Honeybee at IBSA-USA NYC this Thursday (August 21st). The presentation will include some of the latest developments that we are working on. If you are interested to know more about some of the new developments and see some of the workflows and you are around New York then just stop by. If can't attend in person you can still watch the presentation online. Check the links below. (Make sure to register by Wednesday if you are attending in person.)
2. We would like to show some of the works that you have done with Honeybee and Ladybug during the presentation so if there is anything that you think is interesting and can be presented publicly send it to us at thisisladybug@gmail.com or just post it here. Make sure to let us know who do you want us to credit the image.
3. That's it for now. I copy the information about the presentation below and hope to see some of you there. Thanks for your help and support.
Cheers,
Mostapha
IBPSA-USA New York Regional Chapter presents:
Parametric Modeling Tools | Ladybug and Honeybee
Location: Thornton Tomasetti, 44 East 27th street (between Madison and Park)
Date & Time: Thursday, August 21, 2014 - 6:00-7:30 PM.
6:00-6:30 PM Networking
6:30-7:30 PM Ladybug and Honeybee
Mostapha Sadeghipour Roudsari, Thornton Tomasetti
Chris Mackey, MIT
Chien Si Harriman, Terabuild
7:30-7:45 PM Q & A
Click here to register**: https://attendee.gotowebinar.com/register/6507378565592582402
**Please register at least a day in advance if you wish to attend in person
Descriptions
Ladybug + Honeybee
Ladybug and Honeybee are open source environmental plugins for Grasshopper that help architects and engineers create an environmentally-conscious architectural design.
Ladybug imports standard EnergyPlus Weather files (.EPW) into Grasshopper and provides a variety of 3D interactive graphics to support the decision-making process during the initial stages of design. The plugin also provides further support for designers as they test their initial design options with radiation, sunlight-hour, and shading analyses. Integration with Grasshopper allows for an almost instantaneous feedback and, since the plugin runs within the design environment, the information and analyses are interactive.
Honeybee connects Grasshopper3D to EnergyPlus, Radiance, Daysim and OpenStudio for building energy and daylighting simulation. The Honeybee project intends to make many of the features of these simulation tools available in a parametric way. Just as users have made changes to geometry for years in Grasshopper, now users can parameterize system types, zoning schemes, schedules of operation, daylight sensor placement and controls - all of the “hardcore” simulation parameters that have never been exposed to parametric modeling tools.
https://www.facebook.com/LadyBugforGrasshopper http://www.grasshopper3d.com/group/ladybug
…
rp edges fairly well, but since it has such kinetic behavior, seemingly optimized for speed on small test systems, it doesn't give the most uniform mesh, most of the time. If you take the dual of the triangular mesh, you see lots of squares and octagons.
I also had to rely on MeshMachine to refine Cocoon marching cubes organic surfaces, since the refine component of Cocoon blows up even worse than MeshMachine, which it is black box based on, with five completely undocumented parameters.
So I searched for many days for various scriptable libraries, all of them in C++, and not only did few work well as software, they gave lots of squares too, meaning they are poor at dividing up a surface evenly, since those four triangles per square dual shape are so small of an area. I want something more like a beehive or a fly's eye.
The standard library for geometry out there is CGAL, and it would be nearly impossible for most Grasshopper users to install it, since there are no binaries of the latest versions, and you have to compile several smaller libraries as you spend upwards of many full days searching forums for answers to errors in just installing it. And who knows how good of meshes it makes? I can only test it in C++, fairly easy enough, and may be able to compile a remeshing function that I can call from the command line which I can upload as a working binary, that will write the output to disk. That means I could call it from Python, anybody could, since Python is so simple. But what I can't do after the installation is get Python bindings to work on Windows. That's just broken completely.
The breakthrough, after struggling through truly terrible Windows utility programs, was finding OpenFlipper, a geometry plug-in development platform. It even has a Grasshopper-like nodal editor to build scripts, but that's so far limited. The normal scripting commands are easy to pick up on though, so I wrote Grasshopper wrappers for three remeshing strategies that result in no squares or even octagons and above, only pentagons, hexagons and septagons in the resulting dual of the triangle mesh. I used Python to write an input mesh to disk as an STL, then I create an OpenFlipper script on the fly, also written to disk, then I have OpenFlipper run and I read in the resulting STL file back into Python and spit out a Rhino/Grasshopper mesh again. It briefly brings up the GUI of OpenFlipper then closes it to put you back in Grasshopper, since the command-line-only option seems to be broken and this allows all commands to run, not just blind capable ones.
The Python scripts are simple enough to modify on your own to add more OpenFlipper commands.
Just download the Windows program here, the "Staging" version being the desired beta version with more features:
https://www.openflipper.org/download/
Install it in the normal Programs Folder. In the future you will have to edit the path in Python with updated OpenFlipper version numbers, in line 35 below. [See troubleshooting posts below about right clicking on Rhino.exe and OpenFlipper.exe to set the Compatibility tab checkbox in Properties to "Open this program as administrator." and to also check that OpenFlipper's directory matches what's in the Python code that you can view by double clicking the Python component on the Grasshopper canvas.]
None of the three strategies automatically preserves hard edges, so for those the adaptive strategy is often best.
Use Weaverbird Dual to gain quick access to this blissfully better distribution of cells on a surface than the "alien slime" of random Voronoi diagrams.
These will not smooth out original large facets from crude meshes, so subdivide those first using Weaverbird. I included a source meshing group, to apply to NURBS polysurfaces, too, since OpenFlipper won't import surfaces, only meshes.
Such ideal meshing that lack tight little square areas in the dual will also afford highest quality 3D tetrahedral meshes. I ported Tetgen to Grasshopper too, in the past, for that, and that also affords 3D polyhedral cells.…
Added by Nik Willmore at 9:22am on October 6, 2017
and...how to bake meaningful assembly/component type of structures for the rest of the tedious work required > you know what I mean > the ugly part of our business > documentation drawings, BOM, tech etc etc etc.
For instance, let's focus to the planar glazing support items: absolutely no need to make them it via any smart app since they are plenty of them around in the market (unless you are I.M.Pei and you do that exceptional Pyramid wonder thing).
But...the goal is...hmm...to create some kind of "smart" (kinda, he he) solution where components (the "baked" ones, so to speak) are structured in such a way that further work (via conventional CAD apps) is easily managed. To speak in Rhino dialect: nested Blocks and/or nested Refs. Like having components in GH that could manage nested Block/Ref stuff (but I guess that you can do it rather easily via VB).
Back to that ugly truss: It's obvious that this is a nested collection of "repetitions" (should I call them iterations?) : meaning that a void top node owns a module truss that owns 2 supportive sub-trusses that are made by some pipes that own connecting items that own the planar glazing items etc etc etc.
With regard the "own" thing: Imagine a CAD file that is simply a container/place holder of some individual entities (called Models). These Models can be "linked" to others (in a nested parent/child relation). Links can be external of internal. They can be either References or Cells or Shared Cells. This the way that Microstation classifies/handles "entities" (a bit primitive, mind, but nobody's perfect - for the real thing see CATIA/NX).
Back to that ugly truss: Obviously this structure (actually the assembly/component combo related with the given solution) has to be transfered into classic 2d extractions (say: plans, elevations, sections et all). This is done why a weird thing called Dynamic Views/live markers in Microstation (you define Clip planes in 3d space that manage 2d extraction content in something called Drawing Model that controls other weird things called Sheet Models, all these live linked etc etc).
To make things more spicy...these 2d extractions can been viewed as master detail directives: from where 1:1 classic details are made (that is: you apply more Dynamic Views and live markers and life goes on - red pepper extra strong Russian vodka is a must when you do that type of work).
This is where Rhino is out of his depth (but to be fair: it's not designed for this type of work) and also this is where Microstation has no competition at least for AEC purposes (but to be fair: it is designed for this type of work).
Of course Autodesk...well expect soon the Gen Comp equivalent for Revit...a fact that complicates things (for Bentley) a bit given the Revit mania in the AEC world.
Moral: intelligence is good but it's only the tip of the iceberg. …
we're actually using PET sheets for our flexures. We try to design so that the flexures don't go through more than +/- 30 degrees of deflection. If the angular deflection is kept small, the lifetime can definitely be on the order of 1000000 cycles.
As for the design process (item 2), ideally the designer would be able to use a simple 3D CAD tool to design a model of a robot, and the geometry would be represented by dimensioning the individual parts in the model. Maybe there should be some parametric primitive kinematic building blocks like four bar linkages, box frames, etc. that a user could build up a robot from. But, the key functionality the tool needs to provide is for the designer to be able to visualize how the robot will move when it's fabricated. This could mean observing (or plotting) the motion of a leg, a wing, or a series of body segments. Ideally, then, the tool would generate an unfolding of the design. How this would work is still very vague - maybe the user would assist in the unfolding, maybe there would be an optimization routine that computes optimal unfoldings based on criteria like minimal waste, or fewest pieces (I would *not* constrain the problem to construction from a single monolithic piece as in origami). The biggest problem we have right now, is that our design process is totally divorced from fabrication. Even if we went through the trouble of extruding individual thin plates in Solidworks and creating an assembly for visualizing the kinematics of a mechanism, that particular representation doesn't transfer easily to the fabrication process because it's essentially monolithic.
Item 3: The 2D drawing is simple a drawing done manually in Solidworks. There are different layers for flexure cuts, outline cuts, and potentially any cuts to be made in the plastic flexure layer. Depending on the robot, there may be many separate pieces for different parts and linkages in a single robot. For example, the drawing for a robot containing a fourbar linkage may have the linkage laid out as a physically separate piece consisting of five rigid links connected by four flexure hinges. During assembly, the designer would then fold up that linkage and insert it into the robot wherever it's supposed to go. If you're curious you can see some sample 2D drawings for older designs here: http://robotics.eecs.berkeley.edu/~ronf/Prototype/ under the "Example Structures" heading.
I noticed Kangaroo seems to be a popular choice for physical simulations. I don't really even need to include forces like bending resistance - I'm happy to allow the design tool to approximate flexures as pin joint-type hinges. Once the design is unfolded, the details of how to cut the flexures could be worked out in a post-processing step. I wouldn't expect the tool to be able to realistically simulate the bending of the hinges.
I'm going to have to dig a lot deeper into understanding Grasshopper and Kangaroo. I only just got started with Grasshopper today by following the folding plate tutorial on wa11ace.com.au today. …