rawing speed here depends mainly on the speed of a single processor. Get a faster processor, increase the redraw speed.
2) Geometry operations. Such as Piping, Lofting, Curve CP etc. These are all performed by the Rhino core so there's little to be done here. We're continuously working on speeding things up, but they're already pretty fast (considering the complexity of the tasks). Rhino 5 has got a few bits and pieces of multi-threaded code and once we're convinced they're working well we'll probably apply those newly won skills to other parts of the core. These operations are also dependent mainly on processor speed.
3) Autosave operations. Since these involve writing data to the disk, it's very hard to predict whether or not it will be a fast or slow operation.
4) Viewport previews. This code is actually pretty horrible, it could be much faster than it currently is. However, a good Graphics card will make a lot of difference both now and in the future.
The ideal spec for Grasshopper is the same as it is for Rhino:
A) Get a good graphics card. We no longer shun ATI since their latest cards are actually pretty good, so either get a high-end NVidia or ATI card. Good gaming cards are not necessarily good CAD cards. Gaming cards are optimized for triangles and sprites, they don't do particularly well with curves.
B) Memory is dirt cheap, get as much as you can. 4GB being the absolute minimum. But, be sure to get fast-access memory, makes a lot of difference.
C) Get a fast processor. Since neither Rhino nor Grasshopper very much use multi-threading it is important that every single core is fast. I.e., don't get fooled by vendors who add the core speeds together and present that as the processor speed. One core running at 4 GHz is better than 8 cores running at a combined 16GHz.
As for OS, I'd recommend XP Pro or Windows 7. Stay away from Vista if you can. Also, almost all the software and hardware problems I come across at workshops are happening on MacOS machines running some flavour of Windows. Be it parallels, Bootcamp or VMWare.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 11:33am on December 15, 2009
you still have left, what matters is how much memory Rhino is using compared to how much Windows is prepared to give it. On 32-bit systems this is usually 2, sometimes 3 Gigs. On 64-bit systems it's such a high limit that it's unlikely you've reached the limit.
You're low on or out of specially allocated memory/handles. Certain processes such as GDI drawing or winforms UI elements require a handle per instance. Every window, every label, every button, every slider, every bitmap... each one has a unique handle associated with it. Depending on the windows version, you either get a few, some, a bunch or lots of these handles to play with. When you start running out, usually the first sign is that the UI goes all wonky. Text disappears, fonts suddenly look terrible, parts of windows go missing. When all the GDI handles that are allowed have been claimed, the application will crash. The same may be true for OpenGL or DirectX handles, I'm not an expert on those.
There's an arithmetic error causing an overflow error. Sometimes these are handled gracefully and you get a proper crash or error message, sometimes they cause software to start accessing the wrong memory.
It's just some random crash that decides to manifest as an out-of-memory crash. This happens a lot and it makes these crashes very difficult to track down.
Since your images start going black before the crash, I'm tempted to think we're dealing with a #2 crash here. Maybe all these images we're saving out are hogging GDI handles and choking the system. If the handles or GDI objects assigned to Rhino keep going up and up as you write out these images, that'll be good supporting evidence. You can use the Windows 8 Task Manager to keep an eye on these values, or if you're running an older version of Windows I recommend installing Sysinternal Process Explorer in lieu of the Task Manager.
…
Added by David Rutten at 1:20pm on February 28, 2015
ruses could follow. Then cones are made and some other things.You can move the cones around via the equivalent slider. If the cones "touch" then ... well .. test it and see what's happening,
2. Interactive capability is not present: assume that you have 666 paths/cones > by what means you think that you could control what's happening? By adding 666 sliders? (not in a million years).
3. Rhino is amusing with regard the solid union Method. Depending on Karma you can get this:
or that :
4. Leaving aside N3 .. if the real-time response goes AWOL with just 8 cones what would be the situation if you add 666 cones? This is the reason for using K to solve this ... obviously with "some" compromises yielding "vault" stuff like this:
or like that (an Alien billiard (C)(Tm)(US patent pending) for planet Zorg):
Moral: stick to the Soap_opera approach.…
a nodi, permette di sfruttara le potenza della programmazione, senza necessariamente avere competenze avanzate.
Con Grasshopper potrete avere accesso ai segreti della modellazione generativa, un nuovo linguaggio progettuale che sta cambiando il mondo del design, a partire dalla gioielleria, fino ad arrivare all'architettura.
Durante il corso sarà possibile comprendere le caratteristiche di funzionamento del programma e applicarlo alla creazione di oggetti complessi che potranno essere stampati in 3D, oppure renderizzati. La durata è di 30 ore e alla fine del percorso verrà rilasciato il certificato McNeel.
Il Programma
Il corso spiega i concetti base di modellazione parametrica e generativa. Nello specifico:
Interfaccia e comandi
Parametri e componenti
Interopazione con Rhinoceros
Strumenti di parametrizzazione
Combinazione dati
Data tree
Creazioni di superfici attraverso algoritmi di paneling
Teoria degli attrattori
Gestione strumenti mesh
Creazione di Cluster
Durante il corso saranno proposte esercitazioni pratiche sul campo di utilizzo preferito dallo studente
Il docente
Antonino Marsala, è un formatore certificato McNeel con alle spalle oltre 11 anni di esperienza nel settore della modellazione 3D. Oltre ad occuparsi di formazione, collabora con aziende orafe e di architettura per la messa in pratica dei principi di modellazione generativa, applicandoli a casi reali.
FAQ
Quanto costa il corso?
Il prezzo del corso è di 500,00 € + IVA che potranno essere saldati in una soluzione unica. Nel caso di iscrizione di gruppo, potrà essere applicato uno sconto.
Cosa posso portare e cosa non devo portare all'evento?
Gli organizzatori forniranno computer con il software già installato. Nel caso vogliate portare il vostro computer, vi forniremo una versione trial da 90giorni di Rihnoceros e Grasshopper
Dove posso contattare l'organizzatore per qualsiasi domanda?
antonio@mandarinoblu.com
334 24 20 203
La mia registrazione o il mio biglietto è trasferibile?
Si, purchè venga comunicato il cambiamento entro 48 ore dalla partena del corso
…
ies and ideas (in this case agent-based modelling) simply because they are the new cool thing to do and, if we think carefully about how the integration of agent-based modeling will improve the accuracy and usefulness of our models, we are more likely to make lasting contributions through their integration.
For example, it seems vital to me that such agent-based models be grounded in some clear quantifiable observations of human behavior in real buildings as opposed to relying on our own coefficients to represent how valuable we think certain things are to the occupants. I will give an example of two agent-based ideas that I have had - one of which has turned out to seem much more valuable in the long-run because of it's grounding in real-world data and I plan to implement soon.
To start with the more valuable example, ever since I read this awesome book on adaptive thermal comfort (https://books.google.com/books?id=vE7FBQAAQBAJ&printsec=frontcover&dq=adaptive+thermal+comfort&hl=en&sa=X&ved=0ahUKEwjDmO6avNnJAhUD9h4KHXWVBuAQ6AEIHDAA#v=onepage&q=adaptive%20thermal%20comfort&f=false), I have had several ideas for how to integrate the findings of recent comfort surveys into our energy models. Generally, the focus of thermal comfort research seems to be shifting from theoretical human energy balance calculations to surveys of occupant behavior, giving us a lot of great data that helps incorporate these behavioral factors in our energy models. To continue one of the ideas that you mention, Theodore, here is a plot from the book that describes the window-opening behavior of occupants as the indoor temperature increases:
Currently, EnergyPlus does not easily allow you to set such a function for window-opening, as you point out but the incorporation of this behavior seems necessary to produce an accurate model of a naturally ventilated building (since opening all of the windows as soon as the indoor temperature hits 21 C is far from realistic). To get around this, I was thinking of including an option on the nat vent component that will put in a series of IF/THEN nat vent objects that approximate this smooth function through a step function:
IF 19 < indoor temperature < 20 THEN WindowOpening = 10%
IF 20 < indoor temperature < 21 THEN WindowOpening = 15%
IF 21 < indoor temperature < 22 THEN WindowOpening = 21%
IF 22 < indoor temperature < 23 THEN WindowOpening = 35%
...
I am hoping to implement this soon.
To describe the example that I have realized was not so helpful with time, when I was first drafting the idea for high-resolution comfort maps (https://www.youtube.com/playlist?list=PLruLh1AdY-Sj3ehUTSfKa1IHPSiuJU52A), I originally thought that I would develop computer models an animations of occupants moving around the thermally diverse space to make themselves more comfortable. Once I started to get into this, however, I realized that the social characteristics of a space usually have a much larger impact on where people place themselves than the thermal characteristics and it is not until the thermal characteristics become very uncomfortable or the presence of other people is completely removed that the thermal environment dominates the movement behavior. Thus, in order to model the occupant behavior, I would have to code in the relative importance of a large number of these social characteristics in relation to thermal comfort, which would have been a process of me simply making up coefficients to produce cool-looking but somewhat meaningless animations. It is only when my nicely-designed thermal environments were aligned with the social/programmatic characteristics of the space that I could argue that I was justifiably adding value since the thermal characteristics were not in contradiction to or being weighted against the social ones. So, in the end, realized that all I needed in order to produce a good design was to align the thermal environment with the placing of program and the agent-based modelling would not have enabled the production of a much better design. This is the reason why the human silhouettes are manually placed in the thermal animations on the youtube playlist in the above link and is the reason why I do not intend to incorporate agent-based modelling in this particular manner.
Let me know your thoughts on this as I realize I may also be looking at this from a narrow perspective that is not informed by all that agent-based modelling has to offer.
-Chris…
rera de Arquitectura CEM | presenta la cordial invitación al Curso de Diseño Computacional a realizarse en nuestros laboratorios de Arquitectura y Diseño Industrial del Campus Estado de México.
Fecha: jueves 21, viernes 22 de 18: a 22:00 Hrs y sábado 23 de 8:00 a 15:00 Hrs febrero 2013. 15 Horas.
El taller está orientado a estudiantes y profesionales de la Arquitectura, Arte, el Diseño e Ingeniería.
COSTO:
Alumnos Tec o EXATEC con una cuota de $2000.00 pesos.* Estudiantes EXTERNOS y profesores TEC $3000.00*, Estudiantes de posgrado externos $3800.00* y Profesionales externos $4250.00 pesos.*
OBJETIVO GENERAL:
Alfabetización sobre lectura y escritura de herramientas computacionales para el desarrollo de la Arquitectura, Diseño e Ingeniería.
Objetivos específicos:
1. Comprenderá los conceptos metodológicos del Diseño Computacional y generativo.
2. Aplicará las metodologías en el diseño, análisis y despiece de una cubierta (celosía, muro, losa, fachada o mobiliario) con base en un espacio existente en el campus.
3. Desarrollará los conceptos de programación orientada a objetos (POO Intermedia)
4. Generará algoritmos y análisis en Grasshopper sobre el ejemplo de praxis.
5. Desarrollo de documentación y presentación de resultados.
6. Fabricación del objeto, escala por definir.
Requisitos: Conocimiento de alguna plataforma CAD/CAM/CAE.
Profesor:
Arq. David Hernández Melgarejo.
http://bioarchitecturestudio.wordpress.com
Mayor información:
Kathrin Schröter, Dipl.-Ing./Arch. (D)
Directora de la Carrera de Arquitectura e Ingeniería Civil
Escuela de Diseño, Ingeniería y Arquitectura
Campus Estado de México
TEC DE MONTERREY
Tel.: (52/55) 5864 5555 Ext. 5685 o 5750
Enlace intercampus:80.236.5685
Fax: (52/55) 5864 5319
kschroter@itesm.mx
www.itesm.mx
…
ocessed once Grasshopper is done with whatever it's doing now.
3) Grasshopper tells the Slider object that the mouse moved and the slider works out the new value as implied by the new cursor position.
4) The slider then expires itself and its dependencies ([VB Step 1] in this case, but there can be any number of dependent objects).
5) When [VB Step 1] is expired by the slider, it will in turn expire its dependencies (VB Step 2), and so on, recursively until all indirect dependencies of the slider have been expired.
6) When the expiration shockwave has subsided, runtime control is returned to the slider object, which tells the parent document that stuff has changed and that a new solution is much sought after.
7) The Document class then iterates over all its objects (they are stored in View order, not from left to right), solving each one in turn. (Assuming the object needs solving, but since in your example ALL objects will be expired by a slider change, I shall assume that here).
8) It's hard to tell which object will get triggered first. You'd have to superimpose them in order to see which one is visually the bottom-most object, but let's assume for purposes of completeness that it's the [VB Step 1] object which is solved first.
9) [VB Step 1] is triggered by the document, which causes it to collect all the input data.
10) The input parameter [x] is asked to collect all its data, which in turn will trigger the Slider to solve itself (it got expired in step 4 remember?). This is not a tricky operation, it merely copies the slider value into the slider data structure and shouts "DONE!".
11) [x] then collects the number, stores it into its own data structure and returns priority to the [VB Step 1] object.
12) [VB Step 1] now has sufficient data to get started, so it will trigger the script inside of it. When the script completes, the component is all ready and it will tell the parent document it can move on to the next object (the iteration loop from step 7).
13) Let us assume that the slider object is next on the list, but since it has already been solved (it was solved because [VB Step 1] needed the value) it can be skipped right away, which leaves us with the last object in the document which is still unsolved.
14) [VB Step 2] will be triggered by the document in very much the same way as [VB Step 1] was triggered in step 9. It will also start by collecting all input data.
15) Since all the input data for [VB Step 2] is either defined locally or provided by an object which has already been solved, this process is now swift and simple.
16) Upon collecting all data and running the user script, the component will surrender priority and the document becomes active again.
17) The document triggers a redraw of the Grasshopper Canvas and the Rhino viewports and then surrenders priority again and so on and so forth all the way up the hierarchy until Grasshopper becomes idle again.
[end boring]
Pretty involved for a small 3-component setup, but there you have it.
To answer somewhat more directly your questions:
- The order in which objects are solved is the same as the order in which they are drawn. This is only the case at present, this behaviour may change in the future.
- Adding a delay will not solve anything, since the execution of all components is serial, not parallel. Adding a delay simply means putting everything on hold for N milliseconds.
- [VB Step 1] MUST be solved prior to [VB Step 2] because otherwise there'd be no data to travel from [GO] to [Activate]. The only tricky part here is that sometimes [VB Step 1] will be solved as part of the process of [VB Step 2], while at other times it may be solved purely on its own merits. This should not make a difference to you as it does not affect the order in which your scripts are called.
--
The Man from Scene 24…
Added by David Rutten at 4:43pm on December 10, 2009
ou will see all of the available components on a ribbon at once so there is no need to keep clicking drop down menus.
It's all about discoverability with GH. What if you're a beginner and don't know about the Create Facility (dbl click canvas) how can you find Extr?
Even if you hover over every component or use the drop down lists you will not see the name Extr appear anywhere.
Sure it makes sense that Extr is short for Extrude but it's also the Nick Name of Extrude to Point component
So you can easily miss the fact that one has a Distance Input verses a Point Input.
I think I made the move to Icons around about the move from version 0.5 to 0.6, possibly before. I initially thought that I would go back to text because I loved the mono chromatic look of the text but I soon realised that Icons were the way forward. The greatest benefit is speed. You don't need to digest and decipher every component (which is written 90 degrees to the norm).
I'm not saying you should move to Icons forthwith but at least consider that once you have a better knowledge and understanding of GH, Icons will set you free.
My top ten tips that I would highly recommend to anyone wanting to better themselves with GH.
1) Turn on Draw Icons
2) Turn on Draw Fancy Wires
3) Turn on Obscure Components
4) Use the Create Facility like a Command Line eg "Slider=-1<0.75<2" or "Shiftlist=-1"
5) Use Component Aliases to customise your use of the Create Facility eg giving the Point XYZ component an alias of XYZ will bring it up as the first option on the Create Facility as opposed to the other possibilities.
6) Try to answer other people's questions even if it's not relevant to your own area. By looking into solving a problem outside of your comfort zone and then posting your results it is very rewarding but it also lets you see the other approaches that get posted in a new light.
7) Take the time to understand Data/Path structures.
8) Buy a second monitor - There is nothing that can compare to real estate when working in Grasshopper.
9) Read Rajaa Issa's Essential Mathematics
10) Pick a panel in a tab on the ribbon and get to know every component inside and out and then move on. Start with the Sets Tab > List Panel…
Ladybug + Honeybee:
(Follow steps 0-4 for basic functionality and 0-9 for full functionality)
0. If you have an old version of LB+HB, download the file here (https://app.box.com/s/ds96em9l6stxpcw8kgtf)
and open it in Grasshopper to remove your old Ladybug and Honeybee version.
1. Make sure that you have a working copy of both Rhino and Grasshopper installed.
2. Open Rhino and type "Grasshopper" into the command line (without quotations). Wait for grasshopper to load.
3. Install GHPython 0.6.0.3 by downloading the file at this link (http://www.food4rhino.com/project/ghpython?ufh) and
drag the .gha file onto the Grasshopper canvas.
4. Select and drag all of the userObject files (downloaded with this instructions file) onto your Grasshopper canvas.
You should see Ladybug and Honeybee appear as tabs on the grasshopper tool bar.
(If you are reading this instruction on github you can download them from http://www.food4rhino.com/project/ladybug-honeybee)
5. Restart Rhino and Grasshopper. You now have a fully-functioning Ladybug. For Honeybee, continue to the following:
6. Install Radiance to C:\Radiance by downloading it from this link (https://github.com/NREL/Radiance/releases/download/4.2.2/radiance-4.2.2-win32.exe) and running the exe.
7. Install Daysim 4.0 for Windows to C:\DAYSIM by downloading it at this link (http://daysim.ning.com/page/download) and running the exe.
8. Install EnergyPlus 8.1 to C:\EnergyPlusV8-1-0 by going to the DOE website (http://apps1.eere.energy.gov/buildings/energyplus/energyplus_download.cfm), making an account, going to "download older
versions of EnergyPlus, selecting 8.1 and running the exe.
9. Copy falsecolor2.exe (http://pyrat.googlecode.com/files/falsecolor2.exe) and evalglare.exe (http://www.ise.fraunhofer.de/en/downloads-englisch/software/evalglare_windows.zip/at_download/file) to C:\Radiance\bin
10. You now have a fully-working version of Ladybug + Honeybee. Get started visualizing weather data with these video tutorials (https://www.youtube.com/playlist?list=PLruLh1AdY-Sj_XGz3kzHUoWmpWDXNep1O).
After I've done all the above I followed this video
https://vimeo.com/96155674
And everything works well.
…
nted" in space (at instance definition creation phase): indicates the obvious fact that if garbage in > garbage out (try it).
2. Load the GH thing. Task for you: Using Named Views locate the points of interest as described further and make a suitable view. That way you can navigate rather easily around (hope dies last).
3. Your attractors are controlled from here:
The slider in blue picks some attractor to play with. You can use this while the K2 is running.
4. Don't change anything here (think of it as a black box: who cares how it works? nobody actually):
5. Enable the other "black box": job done your real-life stuff is placed:
6. Enable the solver: your "real-life" things start to bounce around:
7. Go there are play with the slider. A different attractor yields an other solution:
8. With real-life things in place if you disable the C# ... they are instantly deleted and you are back in lines/points and the likes:
9. Either with instance definitions or Lines/points change ... er ... hmm ... these "simple" parameters and discover the truth out there:
10. Since these are a "few" and they affect the simulation with a variety of ways ... we need a "self calibrating" system: some mini big Brother that does the job for us. Kinda like applying safely the brakes when it rains (I hate ABS mind).
NOTE: the rod with springs requires some additional code ,more (that deals with NESTED instance definitions) in order to (b) bounce as a whole and at the same time (b) elongates or shrinks a bit.
More soon.
…