precise) that unfortunately has more than one staff. This means that I pay the bills (unfortunate to the max). Practice is vertical meaning no Structural/HVAC etc services.
2. AEC Projects are made by teams. Period.
3. Teams are organized with some sort of hierarchy. Period.
4. On each team there's always one leader. Teams can being sampled in group teams - call them clusters (kinda like a List of List of ...)
5. All cluster leaders report to the supreme human being (yours truly). Leader heads are always on my disposal (it's fun to decapitate someone: I do this every Monday).
6. AEC projects are made with 1% idea(s) and 99% of what we call "sludge" (this is not my job: I'm the One , he he).
7. You can't steer any boat if you don't know each @@$#@ nut and bold. In the past there was a naive approach on that matter (ruined automotive companies, potato chip makers, software vendors, political systems, secret service agencies ... etc etc).
8. Efficiency is above all (even above tax-free cash).
9, You can't do ANY AEC real-life thing with what GH has to offer (nor Rhino is an AEC BIM app - it would never be). You simply use GH as a supplement to Generative Components (and/or as stand alone because it's good fun). There's nothing that GH does (I'm speaking solely for AEC as always) that can't being done with Generative Components.
10. I've done so fat 257 projects (a "bit" bigger than a house, he he). Let's say about 51427 drawings (master, master details, details) and 78956 lines of text (specs, cost estimations, space schedules, supplier lists, contracts, cats and 1 dog).
If you combine all the above you'll have the answer (i.e. why I use solely - if possible - code and not GH components). If you can't combine them I'm sorry.
PS: C# is the absolute standard (never judge a language as a "stand-alone" thingy).
best, Peter (Prince of Cynics)
…
he past Architecture was the art of sketching: some "idea" with pencils/crayons + vellum paper (or with some computer) > then "others" trying to make this happen. This in general is known as top-to-bottom approach. Naive and dangerous (for the reputation/reception/acceptance of Architects/Architecture) to the max.
2. These days we work both ways: whilst some work on some "idea" (called it: "assembly") others (in sync mode) resolve the bits and nuts of that "idea" - up to 1:1 level of detail (called it "components"). This is the bottom-to-top approach. Make this your way: NEVER proceed in something whist's not EVERY bit of that something is well addressed (with at least 3-5 ways).
3. The emergence of parametric (GH, Generative Components, Dynamo) in AEC (an approach well known in MCAD word many years ago, mind) made things ... worst: the tremendous topology exploitation capabilities blinded people's mind and they are completely sucked up by the forest forgetting/by passing the critical fact that there's no forest without trees.
4. That's expected: is in the human nature to follow/admire the blink/glam and omit/skip the humble. It's the easy way you know, he he.
5. The tremendous growth of countries the likes of UAE/China/Russia made AEC things ... even worst: lot's of cash available > make us some encomium to Vanity, forget Modesty. You can replace "Vanity" with "New Frontiers" ... if you like fooling yourself.
Some Academics are not capable to understand all that: if they could they would potentially operate in the field (where the pink color is rarely used) and not in fishbowl(s). Some Academics believe that an "idea" is the 99% of the whole whilst actually is less than 1%. But on the other hand anyone can do Architecture (even Architects, he he).
That said (Vanity crisis) you want some other "component" options for this case of yours? (starting with "some" dollars more and ending with the mortgage the house/sell wife+kids option).
take care (and kill them all)…
s (and God knows how many in the next case) that's why (other than the colossal amount of time (for no reason) required for creating them ... try to bake them and measure the file size).
3 .Most non pros believe that the thing that matters the most in engineering is the geometry. Nothing could be further from the truth. Is about the 5% (complex real-life cases etc etc - but this one is very simple geometry wise and not that simple with regard the whole "ideal" AND effective strategy required).
4. So I've included in this Rhino file attached a small portion of your frames as input for the second C#: CAREFULLY study what it does and most importantly why: it gives you the clear indication about why you should attack this on an assembly/component basis by using instance definitions INSTEAD of recreating 14++ K "solids". The difference in performance is COLOSSAL, not to mention the baked Rhino file size.
5. Using instances is IMPOSSIBLE whiteout code (as is the case in 99% or real-life engineering tasks).
6. Geometry was never an issue on that one (is the 5% max of the whole puzzle no matter requirements you may have).
Bad news:
1. Zoom extends doesn't work after importing your data (maybe a NVidia Quadro K4200 driver issue - who knows?): use saved views stored.
So ...the choice is yours, best, Lord of Darkness…
ponents, among other functionalities, is significantly widening the relevance of the toolset.
Meanwhile having used the tools for some time now and have gone through the forum, in my opinion a few critical system controls is still missing - unless I'm missing some understanding.
In order to really make the hourly energy analysis valuable in early massing studies etc. the consideration of indoor climate can be more detailed. The HVAC capacities, max. airrate and min. inlet temperature should be within comfortable ranges and hardsized by user input to reduce internal draft problems. If not considered I find that the analysis could possibly demonstrate good energy behavior and reasonable operative temperature but in reality could cause a bad indoor environment - and when "rectified" at a later stage the energy consumption will increase.
I would like to know how it is possible in HB to set-up a HVAC system with these ventilation controls and a "unlimited" convective/radiant heating system, and how to deal with the issues mentioned below. The inputs parameters exists in the components, but I can't seem to get the right system behaviour.
In the attached file I have gone through 4 scenaries, each with seperate issues in setting up the system (As no template appearantly supports the combined setup the heating system is simulated using an inlet temperature of 99 degrees).
HVACSystem: "ideal air loads" - Issue: no hardsized airrate, no cooling supply air temperature
HVACSystem: "VAV w. reheat" - Issue: no regulation of airrate, no use of input heat supply temperature in heating mode
HVACSystem: "idealairloadsystem" using "additionstrings" -> issue with duplicate zone names
HVACSystem: "idealairloadsystem" using "additionstrings" on multiple zones -> issue with duplicate zone names
Thanks a lot!
Jon…
they may not always give you a clear picture of their precise functionality. I thought this may be an issue with many users so I decided to use this opportunity to list all the parameters with my quick take at describing their functionality. Here it goes:
DEFAULT VERTICAL SHIFT -- Number - Shifts panels vertically creating a custom-sized panel with height of the specified dimension at first row of skin.
DEFAULT HORIZONTAL SHIFT -- Number - Shifts panels horizontally creating a custom-sized panel with width of the specified dimension at first column of skin.
DEFAULT SKIN CHAMFERED CORNER--True/False - If "True" wraps panels around surface corners. If '"False" creates a custom-sized panel if necessary to complete the skin surface at the shared edge, defining this way a sharp corner.
RESET BAY AT POINTS-- True/False - When using Panel Bays (Group of Panels) this option restarts the panel bay at a surface corner.
FLOOR HEIGHT-- Number - The Floor To Floor value of the Skin generated. If Panels are shorter than this value, a leftover 'gap' will be seen at top of panels.
MINIMUM PANEL WIDTH -- Number - If the width of a panel (standard or customized) created during the skin generation is less than this value, the panel won't be created and the placement will be skipped.
MINIMUM PANEL HEIGHT -- Number - If the height of a panel (standard or customized) created during the skin generation is less than this value, the panel won't be created and the placement will be skipped.
MINIMUM PANEL AREA-- Number - If the area of a panel (standard or customized) created during the skin generation is less than this value, the panel won't be created and the placement will be skipped.
PANEL PROFILE TOLERANCE-- Number - If a resulting panel shape is within the specified tolerance value to any already created panel, this panel is used instead of creating a new panel shape. The tolerance specifically tracks the distance between each corner of the new panel and the corresponding corners of the existing panels. This parameter is mostly used in "SURFACE PANEL MODE'', where a large number of custom-shaped panels can be generated, to reduce the number of unique panels created.
GENERATE PANEL TYPES ONLY-- True/False - This parameter allows the Skin Generator to discard the creation of scene geometry but still have the grasshopper panel data being generated. The skin panels can be retrieved as grasshopper geometry using SkinDesinger's Display components.
RESET DF BETWEEN SURFACES-- True/False - When "True", the Design Controllers (Design Functions in v.01) resets to its initial values each time it starts a new skin surface. Used for instance to restart a layout pattern at every new surface.
SURFACE PANEL MODE-- True/False - The "SURFACE PANEL MODE" is used to generate panels matching the shape of the surfaces included in the "skinSurfaceList" input.
SURFACE PANEL ORIENTATION -- Orientation Type - When activating the "SURFACE PANEL MODE'', this parameter defines the orientation of the panel generated relative to the normal of the surface that defines its shape. The acceptable values (found in the "Surface-Panel Mode Orientations" dropdown) are:RESETFLIPROTATE 90ROTATE 90 FLIPROTATE 180ROTATE 180 FLIPROTATE 270ROTATE 270 FLIP
I hope this helps but feel free to reach out if you have any questions!
Santiago
…
ssibili e facili da usare. Il corso parte dalle basi della programmazione di arduino fino ad arrivare all’interazione tra un oggetto fisico ed un imput informativo. tutor: Gianpiero Picerno Ceraso
Programma: I giorno Introduzione al Phisical Computing, input digitali e analogici, le basi del linguaggio di programmazione, esempi applicativi; led, pulsanti, fotorestistenze, servo motore, sensore di temperatura, di flessione, sensori di movimento, potenziometri.
II giorno Arduino ethernet, uso di un relè per carichi elevati, accelerometro, introduzione a Processing, interazione di Arduino e Processing, Introduzione a Grassoppher e Firefly e interazione con Arduino.
orario corso: 10:00 – 13:00 e 14:00 – 17:00 (pausa pranzo 13:00 – 14:00) costo: 150€ + IVA deadline: 13 marzo numero minimo di partecipanti: 3
Per iscrizioni scrivi a info@medaarch.com specificando nome, cognome, mail, recapito telefonico e il nome del corso al quali sei interessato. In seguito all’invio del modulo di pre-iscrizione, i partecipanti riceveranno una mail contenente tutte le specifiche di pagamento.
Per seguire il cluster su Arduino è necessario installare il software Arduino 1.0.5 al seguente linkhttp://arduino.cc/en/Main/Software#.Ux3hQj95MYE facendo attenzione a scaricare quello relativo al proprio sistema operativo, Windows 32 o 64 e Mac OS.
Software necessari solo per una parte del corso: Processing 2.1.1 https://processing.org/download/?processing
Rhino 5 http://www.rhino3d.com/it/download Grasshopper for Rhino5http://www.grasshopper3d.com/page/download-1Firefly http://fireflyexperiments.com/
Il cluster rientra in un fitto calendario di attività formative organizzate dalla Medaarch per lanno 2013-2014.…
Series“, è il corso più seguito in Italia sulla modellazione parametrica, giunto al nono anno consecutivo di attivazione. Plug it fornirà ai partecipanti un’effettiva padronanza delle più avanzate tecniche di modellazione digitale, approfondendo le metodologie della modellazione algoritmica e parametrica nel campo dell’architettura e del design del prodotto. Il corso è rivolto a studenti e professionisti dei settori della progettazione architettonica, design, moda e gioielleria, con esperienza minima nel disegno CAD bidimensionale (acquisita su qualsiasi piattaforma software) e si articolerà in lezioni teoriche frontali ed esercitazioni guidate.
_
FORM FINDING STRATEGIES | Livello Intermedio | Analisi ambientale ed ottimizzazione della forma
Form Finding Strategies è il secondo step del percorso formativo in tre fasi “AAD Workshop Series“. Il workshop intende esplorare le possibilità di generazione di forme efficienti in relazione ad influenze esterne ed alle caratteristiche intrinseche della materia stessa. Analisi ambientale (input solari, termici ed acustici) ed analisi/ottimizzazione strutturale FEM saranno le principali metodologie utilizzate per raggiungere gli obiettivi di ricerca della forma. Saranno introdotti numerosi plug-ins tra cui: Weaverbird, Kangaroo, Geco/Ecotect, Ladybug, Millipede. Il corso si rivolge a studenti e professionisti con conoscenza base di Rhino e Grasshopper.
_
PERSPECTIVES | Livello Avanzato | Python coding e modellazione algoritmica avanzata
Il nuovo corso Perspectives proposto per la prima volta nel 2019 (ed ultimo step del percorso formativo in tre fasi “AAD Workshop Series) introdurrà gli studenti alla programmazione Python ed alla sua integrazione con Grasshopper. Verranno inoltre esplorate tecniche avanzate di generazione formale basate su iterazioni. Tra i principali plugins utilizzati: GhPython, Anemone, Hoopsnake, Plankton, MeshMachine, Pufferfish. Pensato come workshop innovativo sulle prospettive e sfide future del design computazionale, è rivolto a studenti e professionisti con esperienza in modellazione algoritmica con Grasshopper.
INFO ED ISCRIZIONI
…
use I don't agree with the practice of using site EUI as a metric to evaluate the thermodynamic performance, environmental impact, or monetary value of a building. I disagree with this practice for the same reason that there are no "totalThermalLoad" and "thermalLoadBalance" for simulations run with full HVAC. I can summarize these reasons in the following way:
When we run a simulation with ideal air loads, the heating/cooling values we get are THERMAL ENERGY that is directly added to or removed from the zone. In this way, we can draw a rough parallel between these two types of energy since they are are generally of a similar type and quality. As such, I am ok with adding them together to get total thermal load or subtracting them to get a sense of thermal load balance.
However, when we run a simulation will full HVAC, the heating/cooling values that we get are usually HEATING FUEL ENERGY and ELECTRICITY respectively. Fuel energy and electricity are fundamentally two different types and qualities of energy. To cite the second law of thermodynamics, the exergy (or the capacity to do work) of electricity is much greater than that of fuel. This is evident in the fact that, to produce a given unit of electricity, I often have to burn at least 3 units of fuel energy (though this can be much more for inefficient plants). With each step in a power plant - making steam, turning a turbine, turning a generator - there are significant energy losses. This difference in exergy is also evident in the fact that there are so many more things that I can do directly with a unit of electricity than I can do with the same unit of fuel energy. I can use electricity to directly refrigerate, produce light energy or power a motor just as easily as I can use to to cook, produce hot water, or heat a space. While I can cook, make hot water, or heat a space directly with fuel energy, refrigeration and lighting are much more difficult. For this reason, I do not feel comfortable adding electricity and fuel together either in the totalThermalLoad output or in a site EUI metric.
Still, the use of site EUI has become so ingrained in the industry that I have to acknowledge it and at least show users how it's calculated. In my view, it's an ad-hoc metric that was invented to deal with previously limited amount of information on energy sources.
Instead of using site EUI, I would recommend using the following metrics depending on what you are trying to evaluate:
Utility Cost / Square Meter - to measure the monetary value of a building to an owner or user
Kg CO2 / Square Meter - to measure the environmental and climatic impact of a building
Emergy / Square Meter - to measure the overall thermodynamic performance of a building
The first two are actually fairly easy to calculate these days just by researching your site's utility rates or grid energy mixture and multiplying the building electricity or fuel by their respective rates. I will add in some capabilities to Honeybee soon to make it even easier for you to get these values from your EPW file and databases of utility rates/grid mixture. Emergy is much harder to calculate as you have to trace all your energy sources all of the way back to the sun but there are a number of experts at work to make this calculation possible (probably in the next few years, we may have much easier ways to calculate it).
Hope this helps explain the current setup.
-Chris…
a pain to use sometimes. I recently found this great post:
http://www.grasshopper3d.com/forum/topics/formatting-numbers-in-grasshopper
which points to the msdn .net framework standard numeric format strings:
http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx
and the custom ones too:
http://msdn.microsoft.com/en-us/library/0c899ak8.aspx
Sooo... today I was trying to make a 2D array generator for RGB values to use with a RGB LED and an Arduino. For instance, declaring a 2D array in Arduino:
int color[3][3]={{255,0,0},{0,255,0},{0,0,255}};
I'm using the blend color component to spit out transitions between two colors. I want the list in the panel to be in the format above, so I used both the expression component and the string format component (are they the same under the hood?). In any case, if I have R, G and B values coming into the component, I want to format them so the come out looking like {R,G,B}, so I can just copy the output in a panel and paste it into the Arduino IDE. But what about {curly braces}. If the expression/format component uses them in it's syntax, for instance:
Format ("{R:0},{G:0},{B:0}",R,G,B)
how do I get them into the formatting string? I tried escaping them like:
Format ("\{{R:0},{G:0},{B:0}\}",R,G,B)
but that just makes the component angry
Escaping characters is explained in the formatting references above. Is it implemented in this component? Should I be looking at a different approach?
I've included a sample file below.
Thanks!
~BB~
…
ing-in-python?commentId=2985220%3AComment%3A628495
For the most part, I got the serial port to work and I could share the port with other components without wiring the components together using a sticky Python dictionary. There were a couple of issues with closing the port (Rhino had to be restarted).
In any case, I'm back at it. I am however going the C# component route with an eye towards writing my own components with visual studio. I am trying to create bidirectional communication with a serial device in grasshopper. I need more control over the serial port that the generic Firefly components can afford. Furthermore, I would like to understand how to program this myself. The first goal would be to create a few components that could handle various serial tasks, one to open/close port, one to read from port and one to write to it. This is not unlike how I got it to work in python, and is also similar to the logic in Firefly's serial components.
The thing that has me stumped with C# is how one shares the port between components? If one component is responsible for creating and opening/closing the port, how do the read/write components address the instance of the port created in the other component? Python has the sticky dictionary, is there something similar in C#? I'm a novice when it comes to C# and how it works within grasshopper, so maybe I'm missing something simple.
I've attached a klunky definition that uses C# to open/close a serial port. I've tried accessing the port with other components, but I don't know enough to make it work. Again, I'm mainly interested in the mechanics of how one component can access the serial port instance created in another component. If I could get some user objects going for now, I'd be happy. In the future, I want to roll my own components. If anyone has any suggestions, code snippets, or any other forms of enlightenment, I'd be greatly appreciative!
Rhino5 x64 + GH version 0.9.0056
Thanks,
~BB~
…