eñadores, y creativos interesados en el aprendizaje de metodos avanzados de generación y racionalización de geometría compleja, y su implementación en distintas etapas del proceso de diseño.
Se abordaran los conceptos básicos para hacer frente a diversas problemas de diseño a través de la implementación de una serie de plataformas computacionales con el objetivo de construir un flujo de trabajo que permita optimizar proyectos de diversa escala y explorar esquemas geometricos complejos de manera rápida y eficiente.A lo largo del 6 dias trabajaremos con la plataforma de Modelado 3d Rhinoceros, el entorno de programación visual de Grasshopper y el motor de Renderizado de Vray.Estudiantes: $4,500.00Profesionistas: $5,500.00info+inscripciones:workshop@complexgeometry.com[044] 33 3956 9209[044] 33 1410 8975[044] 81 1916 8657
…
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
nd linear/planar tectonics. Within this new field of investigation, the Stuttgart VS will be researching into novel techniques of material mixtures and grading, associative design and double curvature surface generation.
For the second cycle of this exploration we will be based at the Institute for Lightweight Structures and Conceptual Design (ILEK) at the University of Stuttgart. Drawing from the Institute’s long history of experimentation and research on tensile structures instigated by Frei Otto in the 1960s and conducted at present by Werner Sobek, this year we will be focusing on the design and fabrication of materially graded membranes, as well as the application of UHPC and FGC on fabric formworks. The workflow followed will be divided into two stages:
1. Computing Membranes: Computational form finding methods will be taught by professional engineers and architects from ILEK and str.ucture GmbH. The aim will be to utilise the latest software technologies to form find membranes for textile structures, or fabric formworks for complex concrete structures. The results will be evaluated against criteria such as internal air pressure, as well as asymmetric and wind loading. The outcome of this research will inform the material grading procedures (i.e. changing the stiffness, thickness or porosity of the membranes themselves, or the consistency of the concrete poured into the formworks) that will follow in stage two.
2. Fabricated Grading: The digitally computed membranes or formworks will eventually be fabricated physically, utilising the workshop and robotic fabrication facilities at ILEK. The objective will be to rethink conventional research on tensile and concrete structures as isotropic constructs, by customising attributes such as materiality, reinforcement, rigidity, translucency, patterning, and porosity among others. The final, graded prototypes will be made up of mixtures of materials, all accurately engineered to respond to variable environmental, structural and aesthetic criteria, in essence forming multi-material structures that have finally caught up with the latest material developments.
Prominent Features of the workshop/ skills developed:
Teaching team consisting of AA diploma tutors and ILEK and str.ucture GmbH engineers.
Access to the Institute of Lightweight Structures and Conceptual Design (ILEK), the Materials Testing Institute and Concrete Spraying Robotic facilities at the University of Stuttgart, as well as to the office of str.ucture GmbH Structural Design Engineering.
Computational skills tuition on Grasshopper, Rhino Membrane, and Karamba.
Lectures series by leading academics and practitioners in architecture and engineering.
Fabrication of functionally graded membrane and/or concrete structures.
Eligibility
The workshop is open to current architecture and design students, PhD candidates and young professionals. Software Requirements: Rhino (SR7 or later) and Grasshopper.
Fees
The AA Visiting School requires a student fee of £595 and a young professional fee of £895 per participant, which includes a £60 Visiting membership fee.
The deadline for applications is 10 July 2017.
For more information, please visit:
http://www.aaschool.ac.uk/STUDY/VISITING/stuttgart?name=stuttgart
For inquiries, please contact:
mixedmatters@aaschool.ac.uk…
rmation?" I know that this can already be accomplished using the brilliant Kangaroo plugin, but I wanted a simpler and faster (yet still accurate) single component that could replicate this unique curve using a variety of inputs: the length of the rod/wire, the width/distance between the endpoints, the height of the bend, and the tangent angle at the start. I also wanted make the unknowns (such as height if only length and width are known) easily accessible for plugging into additional components.
The resulting script, being an all-in-one solution, is somewhat unwieldy, but it could easily be broken down into smaller components (custom .gha's which I don't have the ability to code). If someone wants to tackle this, please do! I'm not an expert coder by any means, and as this was only my second time diving into Grasshopper scripting, if the script seems somewhat strange, that's probably why. I did try to comment the code pretty well though. Here's the full description:
--------------------------------------------------
DESCRIPTION: This beast creates the so-called 'elastica curve', the shape a long, thin rod or wire makes when it is bent elastically (i.e. not permanently). In this case, force is assumed to only be applied horizontally (which would be in line with the rod at rest) and both ends are assumed to be pinned or hinged meaning they are free to rotate (as opposed to clamped, when the end tangent angle is fixed, usually horizontally). An interesting finding is that it doesn't matter what the material or cross-sectional area is, as long as they're uniform along the entire length. Everything makes the same shape when bent as long as it doesn't cross the threshold from elastic to plastic (permanent) deformation (I don't bother to find that limit here, but can be found if the yield stress for a material is known).
Key to the formulas used in this script are elliptic integrals, specifically K(m), the complete elliptic integral of the first kind, and E(m), the complete elliptic integral of the second kind. There was a lot of confusion over the 'm' and 'k' parameters for these functions, as some people use them interchangeably, but they are not the same. m = k^2 (thus k = Sqrt(m)). I try to use the 'm' parameter exclusively to avoid this confusion. Note that there is a unique 'm' parameter for every configuration/shape of the elastica curve.
This script tries to find that unique 'm' parameter based on the inputs. The algorithm starts with a test version of m, evaluates an expression, say 2*E(m)/K(m)-1, then compares the result to what it should be (in this case, a known width/length ratio). Iterate until the correct m is found. Once we have m, we can then calculate all of the other unknowns, then find points that lie on that curve, then interpolate those points for the actual curve. You can also use Wolfram|Alpha as I did to find the m parameter based on the equations in this script (example here: http://tiny.cc/t4tpbx for when say width=45.2 and length=67.1).
Other notes:
* This script works with negative values for width, which will creat a self-intersecting curve (as it should). The curvature of the elastica starts to break down around m=0.95 (~154°), but this script will continue to work until M_MAX, m=0.993 (~169°). If you wish to ignore self-intersecting curves, set ignoreSelfIntersecting to True
* When the only known values are length and height, it is actually possible for certain ratios of height to length to have two valid m values (thus 2 possible widths and angles). This script will return them both.
* Only the first two valid parameters (of the required ones) will be used, meaning if all four are connected (length, width or a PtB, height, and angle), this script will only use length and width (or a PtB).
* Depending on the magnitude of your inputs (say if they're really small, like if length < 10), you might have to increase the constant ROUNDTO at the bottom
REFERENCES: {1} "The elastic rod" by M.E. Pacheco Q. & E. Pina, http://www.scielo.org.mx/pdf/rmfe/v53n2/v53n2a8.pdf {2} "An experiment in nonlinear beam theory" by A. Valiente, http://www.deepdyve.com/lp/doc/I3lwnxdfGz {3} "Snap buckling, writhing and Loop formation In twisted rods" by V.G.A. GOSS, http://myweb.lsbu.ac.uk/~gossga/thesisFinal.pdf {4} "Theory of Elastic Stability" by Stephen Timoshenko, http://www.scribd.com/doc/50402462/Timoshenko-Theory-of-Elastic-Stability (start on p. 76)
INPUT: PtA - First anchor point (required) PtB - Second anchor point (optional, though 2 out of the 4--length, width, height, angle--need to be specified) [note that PtB can be the same as PtA (meaning width would be zero)] [also note that if a different width is additionally specified that's not equal to the distance between PtA and PtB, then the end point will not equal PtB anymore] Pln - Plane of the bent rod/wire, which bends up in the +y direction. The line between PtA and PtB (if specified) must be parallel to the x-axis of this plane
** 2 of the following 4 need to be specified ** Len - Length of the rod/wire, which needs to be > 0 Wid - Width between the endpoints of the curve [note: if PtB is specified in addition, and distance between PtA and PtB <> width, the end point will be relocated Ht - Height of the bent rod/wire (when negative, curve will bend downward, relative to the input plane, instead) Ang - Inner departure angle or tangent angle (in radians) at the ends of the bent rod/wire. Set up so as width approaches length (thus height approaches zero), angle approaches zero
* Following variables only needed for optional calculating of bending force, not for shape of curve. E - Young's modulus (modulus of elasticity) in GPa (=N/m^2) (material-specific. for example, 7075 aluminum is roughly 71.7 GPa) I - Second moment of area (or area moment of inertia) in m^4 (cross-section-specific. for example, a hollow rod would have I = pi * (outer_diameter^4 - inner_diameter^4) / 32 Note: E*I is also known as flexural rigidity or bending stiffness
OUTPUT: out - only for debugging messages Pts - the list of points that approximate the shape of the elastica Crv - the 3rd-degree curve interpolated from those points (with accurate start & end tangents) L - the length of the rod/wire W - the distance (width) between the endpoints of the rod/wire H - the height of the bent rod/wire A - the tangent angle at the (start) end of the rod/wire F - the force needed to hold the rod/wire in a specific shape (based on the material properties & cross-section) **be sure your units for 'I' match your units for the rest of your inputs (length, width, etc.). Also note that the critical buckling load (force) that makes the rod/wire start to bend can be found at height=0
THANKS TO: Mårten Nettelbladt (thegeometryofbending.blogspot.com) Daniel Piker (Kangaroo plugin) David Rutten (Grasshopper guru) Euler & Bernoulli (the O.G.'s)
--------------------------------------------------
Edit: More on the math behind this here.
Cheers,
Will
…
Added by Will McElwain at 4:08pm on February 26, 2014
ight be able to provide more insight). Whenever you run a new simulation in Radiance, it is not always necessary to re-write all of the initial simulation files from scratch. These initial simulation files include both a .rad geometry file as well as a separate .pts file that contains the test point locations. If all that you are changing in a given parametric run is the locations of the test points (like your case), it is not necessary to re-write (or reinterpret) the entire .rad geometry file. My guess is that there is some type of check for this built into either code Mostapha wrote or radiance functions that Mostapha is calling. As such, it seems that the rad geometry file is not being re-written (or re-interpreted by radiance) completely when all that you change is the test points and this actually seems to be saving you an extra 10 seconds each time that you run the component without changing the materials or the building geometry. Other times (like when you plug in custom radParameters), it seems that it re-writes (or re-interprets) the .rad geometry file from scratch since this file is probably affected by customized rad parameters.
So far, if this explanation is holding, it seems like there would be no concern on your end but I also recognize that the difference between these long and short simulations is giving you radiation results that are ever so slightly different from each other (by my estimates, they differ by about 0.2%). Compared to the other types of assumptions that the radiance model is making, though, these are mere rounding errors that probably originate from the number of decimal places in the vertices of the rad geometry file. Rather than worrying about whether your simulations are giving you the right rounding errors to give you matching results, I would encourage you to instead contemplate how much your radiance results are matching reality given all of the assumptions that you are making about the climate (with the epw file for a "typical" year) and with the number of light bounces in the radiance simulation. To give you an example, I ran your model with a higher quality of simulation type (3 ambient bounces) and this gives you results that differ by 1.1% from the original simulation that you were running with only 2 ambient bounces (this is practically an order of magnitude larger than 0.2%).
To address your unease I will say that, for a long time, I also felt uneasy any time that I encountered something that seemed unpredictable in software that I was using. Once I started coding my own stuff, though, I realized quickly that unpredictable behavior is an unavoidable aspect of all software. There is always a tradeoff between accurate results and the time it takes to get them, which produces a multitude of possible ways to arrive at a solution. Add into this complex situation the fact that you might have an almost infinite number of possible inputs to a given set of code.
Because of the unpredictable multitude of cases, there is no application that is completely free from limitations and assumptions. In this light, what ends up being more important than the actual calculation method used is the social infrastructure that is in place to help understand what is being run under the hood, hence why both Radiance and Honeybee are open source and why we try to build a robust community of support through forums like this one!
-Chris…
ntrol points in Rhino.
Also, I forgot to mention in part 1 that when doing the directional subdivision, depending on how you drew your input mesh, there is a chance that it gets divided in the wrong direction, and you end up with something like this:
Which is not what we want.
The simple way to fix this is with the MeshTurn component, which rotates the direction of each face by one side:
Now we can use physical relaxation to smooth our mesh. In this example I show a simple tensile relaxation, so it will be negatively curved, but the same principles can be applied to all sorts of surfaces by using different combinations of forces.
The definition for the relaxation is attached below.
There are 3 main groups of forces used:
Planarization
For the mesh to be able to unroll properly into flat strips, we want each of the thin rectangles to be flat.
Springs
I already showed how the WarpWeft splitting can be used to assign different strengths to control the shape of a mesh here. Now because of the uneven subdivision we have very different numbers of edges in each direction, so the strengths have to account for this. Depending on the level of subdivision used and the shape you want to achieve, you may need to set the Weft stiffness to be 10 to 100 times that of the Warp.
Edge Smoothing
Because our subdivided mesh has square ends, we might not want to simply anchor the boundary, so I've shown how we can force them to become more circular, while still staying in place. Each boundary curve gets pulled onto its best fit plane, while also applying bending to round it out, and springs to keep it from shrinking.
(This part could also be achieved in other ways, such as pulling the boundary vertices to a curve)
When we run this relaxation, the shape should smooth out to something like this:
Play with the tensions and boundaries until you are happy with the result, wait for it to stop moving, then stop the timer. (Remember it is very important to always stop the timer once the relaxation has finished, before continuing working with the output, as otherwise Grasshopper becomes very slow, because Kangaroo is constantly resolving, even if no movement is visible).
If you want to try other shapes than tensile surfaces, you could also use forces such as bending, laplacian smoothing, or pulling to some target surface to control the form.
Next - Part 3 splitting and unrolling
…
ircle and segmentationwithout the squares but with the shape above.This form is repeated once in two as on your video,but can be deformed in its curvesWe may need to have 2 referen curves one at 0° and an other at 180° to create the modulation ? I dont know how to link curves to this program ... I am just able to create this structure by line(in parallel) with that code :TEST%201.3dmCIRCLE%20TEST.ghDid you have any ideas ? Thank you in advance for your reply !Have a nice day!Clément…
t know if it's common knowledge but in the PD of jewelry, for large scale production, the options are in the dozens if not in the hundreds as in a 3 stone ring (that's my next quest and believe me it is extremely complex and elaborated) which, if you do not draw the line somewhere, you could end up with a definition 10 times as big. I could make a list of the preliminary factors and you could begin to understand at least this one presented here, that looks simple but is not.
If you are a real jeweler and know how many details (interdependent with each others) are needed in order to cover unpredictable factors and lousy tolerances then you'll begin to cover an overextended territory.
For example: if you get to certain stone size then the prongs need to change, but not the bezels, and the bite for setting can go for technical integrity up to a point, because then the look is not appropriate.
If the metal it's platinum you can leave some things as they are but interconnections for metal flow has to change in some area but not if it is in gold.
Some stone count may not fit a particular finger size without going too high or too low, so the bezels need to compensate for this in thickness and visual relationship between them so that when I input a different finger size GH knows what to do based on many more factors etc. etc.
The fact that all geometry is in GH accounts for so many more components.
All this needs to work across the definition, so that if I say this is the stone size I want, all the prongs will need to move apart to have the right bite but with a diameter that is not out of proportions otherwise the stones need automatically to move slightly apart. It's endless.
For this reason we needed to define the market expectations (and have all controls for those ones in GH) and leave the eccentric to a manual manipulation.
Grasshopper it's a hell of a tool to transfer my 40 years of jewelry making (since a little boy :)
but I think I am using maybe 20% of its power.
We used SolidThinking because of the construction tree but there is nothing like Rhino and GH combined!
I wish I was free to share this definition in order to learn from advanced minds here but this time I can't. The next one will be mine (intellectual and technical property) and I can't wait to see how other will take it to the next level.
That's the best way to learn.…
a modélisation paramétrique avec Grasshopper pour Rhinoceros3D ainsi que démontrer plusieurs façons de l’appliquer à votre travail architectural.
Cette formation est conçue comme une expérience augmentée autour de l’architecture paramétrique et elle comprend aussi :
+ Une introduction au design paramétrique par Francesco Cingolani+ Une étude de cas d’un projet de l’agence de l’agence HDA Hugh Dutton Associés+ Acces gratuit 3 journées à l’espace de coworking SUPERBELLEVILLE
INSTRUCTEURS
FRANCESCO CINGOLANI . designer, enseignant en architecture paramétrique, co-fondateur deSUPERBELLEVILLE coworking, collaborateur de l’agence Hugh Dutton Associés. – voir le profil Linked-in
ŞULE ERTÜRK . Architecte diplômée de l’Université Yildiz Teknik à Istanbul, Master en architecture paramétrique, travaille actuellement aux Ateliers Jean Nouvel dans le département 3D. - voir le profil Linked-in
QUENTIN GAUCHER . Architecte DE-HMONP, diplômé de l’ENSA Paris La Villette, intervenant en architecture paramétrique sur divers projets - voir le profil Linked-in
DATES 25 mars 2013 . Annonce de la formation / Début des inscriptions5 avril 2013 . Fin des inscriptions13 – 14 avril 2013 . Formation
HORAIRES Samedi et Dimanche 13 et 14 avril . 10:00 > 13:00 – 14:00 > 19:00Total : 16 heures
TARIF700 € professionnels400 € étudiants
RÈGLEMENT50% est à régler lors de l’inscription (au plus tard le 5 avril)50% au début de la formation.Les règlements s’effectuent par carte bancaire via Paypal ou par virement bancaire.
NOMBRE DE PARTICIPANTSMinimum pour l’activation de la formation : 5Maximum : 7
CONTACTInscriptions et réglements : fr.cingolani@gmail.com . SUPERBELLEVILLE coworkingInformations : quentin.gaucher@gmail.comimmaginoteca.com/grasshopper
EN BONUSLe café italien et les plats faits maison de Claudia offerts aux participants :)…