for each object, with one single run, with each object surrounded by the same context geometries (if you check the image I attached the two dark grey boxes are the test geometries and the wirework boxes are the context).
Just recently I understood that it doesn't work (I thought anymore) like this but that if you input more than one test object in the geometry input each one acts as context for the others. This makes things longer because it means that if I have to test say 100 variations of the same object I have to connect and disconnect the geometries 100 times. In the way I remember it was before I had just to input the 100 objects in the geometry input and with one single run get the results in different branches.
Chris says it always worked like this (that each test geometry acts as context for the others), so it means I misunderstood or more likely I remember wrong. So to run multiple studies at the same time he suggests to input multiple geometries and graft the input. I tried but the result is shown in the previous post, the output is quite complicated to manage. You can see that for two test objects with 6 sides each I get one single list with six branches.
Now is not important if it was always like that or was not, but I was suggesting that could be useful that it would work like I remember :) if it is possible. When you input multiple test obejcts in the geometry input they ignore each other so you can run easily multiple studies, one for each object, at the same time. If you want to run one single study on two objects at the same time then you input also these objects in the context input so they shadow each other.
Let me know if this time was more clear. Thank you.
Francesco…
tten on the initial configuration): this makes the analysis a bit tricky. In Finite Element programs, this is usually solved by an iterative method (modified Riks method), which is unfortunately not implemented in Karamba. There are other form-finding techniques, used for gridshells:
Dynamic relaxation with kinetic or viscous damping. I used viscous damping and an implicit integration scheme (Bathe's method) for the form-finding of gridshells in this paper. For kinetic damping, you can look here. It was first used for beams by Sigrid Adriaenssens
You can also look at Sina Nabei's PhD on the form-finding of twisted beams, and also the thesis of Frederic Tayeb (in french) and some papers in the link far below.
The main question remains the mechanical you are using: beam model (with torsion and bending) or shell model? In terms of solver, Kangaroo2 is powerful (although you don't have access to real engineering values, like Young's modulus), but there is no beam element with 4 or 6 degrees of freedom/node... Likewise, I'm not sure that shell elements (with bending) are implemented within Kangaroo2.
If you look for references of research on deployable structures for shading, you can look at the research at ITKE, but also a joint research effort between Princeton and l'Ecole des Ponts ParisTech.
http://thinkshell.fr/deployable-structures/
http://thinkshell.fr/form-finding-of-twisted-beams/
I hope this helps you...
Romain…
command comes from a .NET system library that is completely undocumented in the Rhinocommon SDK reference.
Nor can you just import System.Drawing or System iteself, but you must very oddly use a wildcard asterisk to import everything from it instead, instead of just import it like a normal programming event, you can't just do the normal thing, it has to suck, it has to be like the computer games every programmer wishes he was developing, it can't just be imported, since that would be impossibly simple, so the command isn't even import. It's "from" and then "import."
These Windows (Mac too?) .NET system color names like CadedBlue are referenced here, but not for free in the Rhinocommon SDK where they belong too, for free I mean it costs no money to put that crucial information where the Rhino programmer might find it:
http://yorktown.cbe.wwu.edu/sandvig/shared/netcolors.aspx
You also must toggle a color source setting away from layer color to an individual object override. Fair enough. You have that option in Rhino too, in the Properties palette.
Working code (Rhino 6 WIP):
import Rhinofrom System.Drawing import *
dimPlane = Rhino.Geometry.Plane(Rhino.Geometry.Point3d.Origin, end-start, Rhino.Geometry.Vector3d.CrossProduct(end-start, Rhino.Geometry.Vector3d.ZAxis))
dim = Rhino.Geometry.LinearDimension.Create(Rhino.Geometry.AnnotationType.Aligned, Rhino.RhinoDoc.ActiveDoc.DimStyles[1], dimPlane, end-start, start, end, dimPt, 0)
attributes = Rhino.DocObjects.ObjectAttributes() # Blank attributes container.
attributes.ObjectColor = Color.CadetBlue # .NET color name.
attributes.ColorSource = Rhino.DocObjects.ObjectColorSource.ColorFromObject # Override layer color.
Rhino.RhinoDoc.ActiveDoc.Objects.AddLinearDimension(dim, attributes)
Now I don't have to rely on a Rhino template file so much with defined layers, or else create specific layers for dimension colors. I just spit out dimensions. More attributes will be figured out too. I like to avoid plugins and Rhinoscript and template files that create a mess for clients who simply want something to work out of the box.
…
Added by Nik Willmore at 10:08am on August 15, 2017
nd helpfull for me, and I always wanted to know and explore it.. I used Galapagos for solving some task, and now I'm writng an article about what I'm doing.. I have several questions regarding the algorithm's steps you mentioned (I hope you can answer):
In your explanation you described several options for some parts of the algorithm (how to make coupling, mutating etc..). Can you please explain more in detailed (parameter, or atleast the methods only) you used for Galapagos?
To be persicely:
what is the population size on the beginning?
5.a) Did you use isotopically, exclusively or biased?? - If exclusively, what percentage? - If biased what is the 'vector of weights'? or however you implemented that..
5.b) For the implementation- do you have some Gaussian with a pick on the 'Inbreeding factor' (which is some number in [0,1], while 0 presents 'incestuous', and 1 presents 'zoophilic' or the opposite)?
5.c) Did you interpolated the values by averaging (i.e. equal weights) or using preference weight according to the fitness?
5.d) I see What you said about number of sliders, want to be sure I understand: the mutation here is just to pick some percentage of the genes (what percentage you used?) and change the child's value to be a random number in the range of the slider?
Can I change the percentage of individuals from G[n] are allowed (you said the default is 10%)?
What is the default for this? Is it the first one reached?
Can I specify the max number of iteration? Can I specify the number of generations? Can I specify a fitness value to stop in?
Maybe I missed some parameters, but I saw Galapagos as a "black box". But maybe I missed I can adjust it (in the later case, would like to know what are the defaults values).
I guess it is not an open-source code (right?) and maybe you don't want to share it for public. I would be glad if possible to know a bit more at least about the methods, so I describe it when writing my article, please J You can also answer me here: naama.glauber@gmail.com…
Added by Naama Glauber at 10:08am on November 14, 2018
ink you shared back then is not valid anymore.
I would really appreciate it. Thank you,
Helena
---------------------------------------------------------------------------------------------
Permalink Reply by Mostapha Sadeghipour Roudsari on November 30, 2015 at 6:35pm
Hi Caludio and Tatos,
For Daylight modeling you can use Radiance's image-mapping. I published a paper recently that discusses the process (http://www.simaud.org/2015/program.php#a-new-approach-to-modeling-f...). They haven't send it online but I can email you the paper if you're interested to read it in details.
Permalink Reply by Mostapha Sadeghipour Roudsari on November 30, 2015 at 7:44pm
Here is the link to the paper: https://copy.com/okY7JzPoVjbF6LrL
…
i todos los inscritos lo entendieran); se estudiará la posibilidad de crear dos grupos.
Dirigido a > Estudiantes y profesionales del diseño y la arquitectura; Interioristas; Ingeniería y diseño industrial; Diseño de producto; Escultores; Artistas…
Requisitos > Conexión a internet, Zoom y Rhino 6 o 7.
Sesiones > En vivo. Antes de comenzar el curso, te daremos acceso a nuestra plataforma docente on-line donde podrás encontrar los archivos, un guión de contenidos y el acceso a las sesiones con Zoom. En las sesiones por supuesto podrás consultar dudas activando micro o con el chat o compartiendo tu pantalla si hay algún problema durante los ejercicios. Las sesiones serán grabadas.
Número mínimo de alumnos : 7
…
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…
http://www.pilkington.com/) dominates the planar market. Charges "around" 1K Euros per m2 for a "plain" system. Personally in bespoke projects I design my own stuff but due to economies of scale ... they cost a bit more (but they look far more sexier, he he) . On the other hand only in a bespoke project I could dare to suggest such a solution (for a large scale building we are talking lots and lots of dollars).
3. Several scales below (aesthetics) you can find static alu systems (either structural or semi-structural):
Or hinged systems (either structural or semi-structural) capable to adapt in contemporary double curvature facades/roofs/envelopes/cats/dogs etc etc ... pioneered worldwide many years ago by my best friend Stefanos Tampakakis (everybody in UAE knows that genius man: http://www.alustet.gr/company.html):
4. With the exception of some paranoid things that Guru Stefanos does for Zaha these days we are talking about planar "facets" (obviously a triangle is such a planar facet). The current trend is: the more edges the better (humans excel in vanity matters). But achieving planarity in, say, quads (like yours) it adds another "restriction" on what you are doing. Until recently Evolute Tools Pro was the only answer. But right now ... well let's say that in short time you'll be greatly surprised by some WOW things in this Noble Forum, he he.
5. MERO (and obviously custom systems) can adapt (at almost no extra charge) in anything imaginable. But in a bespoke building ... well.. you know ultra rich people: they don't want MERO anymore since "everybody" does MERO solutions. Vanity, what else?
6. Smart Glass would become a must in the years to come: Eco-Architecture MUST dominate everything you do. On the other hand spending millions to do some extra WOW stuff (Vanity) ... it doesn't look to me very Eco-Friendly/Whatever ... but let's pretend so, he he.
7. I'm Architect but a bit different from the norm: for instance I smoke cigars (highly politically incorrect stuff) I always talk openly (ditto) and I ride lethal bikes (ditto).
may the Force (as always the Dark Option) be with you: go out there and kill them all.
best, Peter
…