uest Tutors: Olga Kovrikova (AL_TU), Alexandr Kalachev (AL_TU), Tudor Cosmatu (AL_TU)
Materialized Algorithm - Digital Tectonics workshop focuses on finding an appropriate design algorithm by implementing and embedding the material qualities into the design process.
Through the Rhino software tutorials, participants will get a short introduction to the nurbs-surface modeling techniques, which will be further used as a basis for form-finding and component development.
Grasshopper is a graphical algorithm editor tightly integrated with Rhino’s 3-D modeling tools which requires no specialized knowledge of programming or scripting. Sinceits existence it has been helping more and more professional designers to understand and use parametric modeling techniques. This workshop will start with the basic operation of Grasshopper integrating specific examples (Kangaroo, KingKong) which will help develop the concepts into built proposals.
Participants will have to start designing with physical models, creating a constant feedback loop between the physical and digital world allowing for the creation of differentiation and achievement of the desired geometric complexity. Finally a number of maximum two projects will be thoroughly developed and built.
For more information visit:
http://zhan.renren.com/damlab?gid=3674946092080649725&checked=true…
Added by Tudor Cosmatu at 12:28pm on August 28, 2013
ructural member. It can only be used as a Veneer / Cladding. You may observe from my sketch that structural member is only a timber frame. Hence we do not need to have a valid bond as long as the brick veneer is tied together with each other and to the timber structural frame behind.
Nevertheless, though i understood the components used in the definition, i only partially understood the logic behind your definition i.e. only until 'Divide Dist' and Extracting the points. After that I did not understand the logic behind using
a) Extracting 40 random values and than using those values as input for Seed to extract another set of 40 random values.
b) Extracting list length, subtracting with random values created in (a) above and then dividing with number 3.
c) Duplicating the Datas
d) The most perplexing is using above logic (a,b,c) to to extract number of branches (number-40) by using Tree Statistics. If number 40 is the input we required for 3rd Random component Why couldn't we connect the List Lenght to Pramviewer and extract the number of branches (40) and connect the output to the Random Component?
e) Finally i did understand the logic behind creating 2 Vector to create the bricks. But i did not understand the addition following the vector.
f) Why do you use the function 'simplify'? - what does it do? I know it simplifies the data tree, but what does simplifying a a data tree do to the entire definition?
Hannes, i know this is quite comprehensive list of doubt, but your help is and will be always appreciated.
Cheers
AB
…
e. What is the interesting thing with these? Well since are created by iterating trough the mesh faces (mesh face Normal * d + flip option ... etc etc) ... their enumeration (order) in the resulting wPtsList list ... is exactly the same with the enumeration (order) of the mesh Faces list.
2. So a ff connectivity Tree [Lord way or Sandbox] (where f(ace)-to-f(ace) actually means: neighbor faces(indices) that a given mesh face has) is the only thing that we need in order to achieve this type of "top" struts layout. Spot the extra crude List.Distinct().ToList() "clean" up method (but why bother? he he).
3. The other way ("top" layer struts - option: ballPivot) well ... it does the obvious.
…
o an index, but then you'd end up with consecutive value ranges for the slider that all map to the same index, which I think is actually worse than your current setup. One major benefit of integer sliders is that the number of unique values you can get is usually far less than with floating point sliders.
There is an alternative way to set this up, but I don't know if it's better or worse or indifferent. Instead of definitely using the a and b values, and min/maxing the c and d values to be within some valid domain, you could pit a and c against each other, using those two integers to come up with a' and c'. So for example if {m=10, a=6, c=4}, you'd modify c to be 6+1. Any value of c between 0 and 7 thus yields the same outcome. Instead, you could define a' and c' to be something like a' = Min(a, 0.5*(a+c)), and c' = Max(c, 0.5*(a+c)). This way c will still have a different effect if it's lower than a, by depressing both the a' and c' values. It does sound quite complicated to get right though, I'm not sure I'd bother.
Galapagos doesn't deal with dynamic sliders. It creates genome constraints from the slider properties at the start of the process, and it remembers exactly how many different unique states each slider can be in. Genes then get assigned integers that index each of these unique states.…
e below).
Explanation of my intent:
The first input (crvTree) has the exact same data structure as the second input (cell_name). crvTree contains one or more Curves in each branch, while cell_name contains exactly one string per branch.
The third input (system_names) is a list of string data, and I compare the single string from each branch of cell_name and find a match, then return the index of system_name.
So, for example:
crvTree brings in:
{0} bunch of Curves
{1} bunch of other Curves
{2} another bunch of Curves
cell_name brings in:
{0} "curve type A"
{1} "curve type D"
{2} "curve type A"
system_name brings in:
{0;0} "curve type A"
{0;1} "curve type B"
{2;0} "curve type C"
{2;1} "curve type D"
{2;2} "curve type E"
{3;0} "curve type F"
output should be:
{0;0} bunch of Curves (and) another bunch of Curves
{2;1} bunch of other Curves
I'm pretty sure that I can't keep accessing cell_name as an item, but instead as a tree. I was only doing that to first get the strings to match, which I did.
protected override void SolveInstance(IGH_DataAccess DA) { //Declare a new List(Of T) to hold the input text data. string cell_name = "nothing yet"; List<string> system_names = new List<string>(); int index; Grasshopper.Kernel.Data.GH_Structure<Grasshopper.Kernel.Types.GH_Curve> crvTree = new Grasshopper.Kernel.Data.GH_Structure<Grasshopper.Kernel.Types.GH_Curve>();
//Retrieve the whole list of System Names using DA.GetDataList(). if ((!DA.GetDataTree(0, out crvTree))) { return; } if ((!DA.GetData(1, ref cell_name))) { return; } if ((!DA.GetDataList(2, system_names))) { return; }
index = system_names.IndexOf(cell_name);
int index2 = -1; for(int i = 0; i < system_names.Count; i++) { if(String.Equals(system_names[i], cell_name, StringComparison.OrdinalIgnoreCase)) { index2 = i; break; } } DA.SetData(0, index2); DA.SetDataTree(1, crvTree);
}…
metric/parəˈmɛtrɪk/adjectiverelating to or expressed in terms of a parameter or parameters.art/ɑːt/nounthe expression or application of human creative skill and imagination, typically in a visual form such as painting or sculpture, producing works to be appreciated primarily for their beauty or emotional power.// Summer School 2017 3 day intensive workshop for design students & professionals will delve into computational & parametric methods (using Rhino3D & Grasshopper3D) to create data-driven art installations, physically manifested into a space through hands-on fabrication & assembly.The experimental studio will run across 2 cities in India (New Delhi & Mumbai) and investigate the agenda of ‘filling the void’ at art installation scale, through the use of computation and parametric methods. Studio is designed as a 3-day event in both cities comprising of technical tutorials, teaching sessions, prototyping & presentations culminating in a symposium / round-table conference / open discussion with leading / emerging professionals that demonstrate computation, parametric design or alternative techniques in their work / practice / academia. // Cities & Dates*New Delhi – 30th June to 2nd July 2017 (Friday to Sunday)Mumbai – 7th July to 9th July 2017 (Friday to Sunday)//VENUE: DELHI: Startup Tunnel, Vihara Innovation CampusD-57, 100 Feet Rd, Pocket D, Dr Ambedkar Colony, Chhattarpur, New Delhi - 110074MUMBAI: Raffles Design International, MumbaiHi Life, 2nd Floor, Phirozshah Mehta Road,Santacruz (W). Mumbai – 400054// Registration DatesAll Registrations End 4 days prior to workshop start date (Or till seats last)// About rat[LAB] EDUCATIONrat[LAB] EDUCATION is an initiative by rat[LAB]-Research in Architecture & Technology (www.rat-lab.org) to start a new discourse in architecture & parallel design disciplines with the use of ‘computational design’ & it’s various subsets. Spread across various cities / countries, we are establishing a global dialogue in the domain of computational design by actively organizing and participating in workshops, lectures, presentations & symposia. While rat[LAB] has taken a top-down approach of exploring computational design through industry, a parallel, bottom-up approach is also in-line to involve students of all levels, from design & related backgrounds.…
Rubicon (ii.e. some programming language [I would strongly recommend C#] > the Dark Side > years of pain + tears > hell or heaven?).
Back to that pile or worms of yours (I hate "simple" cases, he he).
0. if you want rounded lips ... Styrofoam is the only solution (+ sanding [buy a mask and some decent cigars ... path is long and hilly]). if not > goto 5/6.
1. by what means you think that you can shape Styrofoam? Do you have access to some CNC foam cutter? Or the only tools that you have are ... 2 hands and a knife? (or a thermal cutter). Accuracy is a BIG issue here: chances are that panels won't "fit". Solution is available in the forthcoming V3.
2. male "protrusions" on Styrofoam is kinda 3rd marriage > AVOID at any cost > this would end up in tears.
3. female ones are safe ... thus we need a proper "insert stripe" that must be compatible with the Styrofoam adhesive and strong enough to hold the pieces until the glue cures (it takes time, there's no instant Styrofoam adhesives around). Maybe aluminum (hard to cut by hand) or balsa (very expensive) or plywood (best option).
4. Some CNC foam cutters they can't shape the female "crevices" > be prepared (a thermal tool may(?) cut the mustard).
Note: panels made with Styrofoam look miserable because reality and theory differ. They also look miserable as well (and kitsch and miserable).
5. making the panels with (marine) plywood ... well this yields far superior accuracy and therefor aesthetics but (a) yields max panel thickness constrains, (b) introduces max panel dimensions constrains (c) yields packing issues [waste material] and (d) requires a totally different "connection" approach: it doesn't make sense to do some female crevice ... unless the plywood is very thick (expensive + heavy).
Note: Designing (pro option) self supporting "rib" reinforced sandwich composite panels ... well this is a bit far and away from what you can handle at present time.
So ... I've suspended the male/female thingy until you decide the final policy: it's the material/detailing that should dictate the method(s) AND the whole design and not the other way.
This is what we call bottom-top design approach (dinosaur Architects follow the top-bottom: disastrous + naive + naive + naive + avoid).
6. Plan ZZTop: make a stand alone autonomous perimeter frame per panel (marine plywood: imagine "thickening" these abstract beams shown inwards per panel) then join these frames by means of bolts (easy) and fill the "gaps" with Styrofoam (hmm). Note: you can reinforce the frames by a variety of means (say: a secondary "beam" sub-structure) achieving a rather elegant all overall solution.
This is the best solution by roughly 666 miles.
…
I miss DA.SetData the component gets null while taking the latency , on the other hand if use it the component has two kicks , is there anyway to get rid the first kick?
GH_Structure<IGH_Goo> D = new GH_Structure<IGH_Goo>(); GH_Structure<IGH_Goo> C = new GH_Structure<IGH_Goo>(); protected override void SolveInstance(IGH_DataAccess DA) { bool sw = false; int delay = 0; DA.GetData(1, ref delay); DA.GetData(2, ref sw); DA.GetDataTree(0, out D); DA.SetDataTree(0, C);
if (sw) C = D.Duplicate();
if (delay > 4)
base.OnPingDocument().ScheduleSolution(delay, cullback);
}
private void cullback(GH_Document doc) { var gate=base.Params.Output[0]; gate.ClearData(); gate.AddVolatileDataTree(C); foreach (IGH_Param i in gate.Recipients) i.ExpireSolution(false); }…
Added by Amin Bahrami at 12:00am on February 12, 2016
ODE sas.
Please find below his official answer, in English and in French (original version).
Best regards,
Matteo Lo Prete, MScArch.
English version
“Probably it is necessary that you consider how most type of objects are not categorized by the IFC, considering a contemporary subject. Beyond your appreciation, that we consider as really important, we relativize the significant feedback appreciations communicated by those subjects to whom the IFC was referred: the construction companies. Taking distance from your comments, a little bit superficial and youthful, we can affirm that: the quantities, data on products, contextualization of drawings, calculations, etc. distinguish the work that we did from the partial and poor scenario that you describe.
This result has been particularly appreciated by the companies who had to estimate a complex project in 3 months. Whatever you may say, this is a fact recognized into our field already: this first public procurement (Loi n° 85-704 du 12 juillet 1985 “MOP - Maîtrise d'Ouvrage Publique”) offered estimation procedures never reached for such complex project. This also means that, finally, the estimation and the offer negotiated by the companies respected the client’s goal. This is for your information.
I wish to ask a question to you, Rhino trainer at RhinoForYou: how and in which conditions you accessed to constriction companies’ tipoffs?”
Original French version
“Il faut probablement que vous considériez que la plupart des typologies d’objet ne sont pas catégorisées par les IFC du fait du travail sur un objet contemporain. Par delà votre appréciation, qui compte beaucoup a nos yeux, nous avons pour les relativiser le retour des appréciations réellement importante à nos yeux, puisque ce sont celle à qui étaient adressés les IFC: les entreprises. Bien différente de votre réaction, un peu cutanée et juvénile, nous pouvons vous dire que: les quantitatifs, les données relative des produits, la contextualisation des pièces graphique, notes de calculs, etc distingue ce que nous avons fait de l'état partiel et appauvri que vous relatez. Ce résultat a été particulièrement appréciés par les entreprises qui ont eu à chiffrer un projet complexe en 3 mois. Quoi que vous en disiez il est un fait reconnu dans la profession désormais: ce premier appel d'offre public lois MOP a permis des conditions d'évaluations jamais atteintes pour un ouvrage complexe. Ce qui veut dire que l'estimation et le prix négocié pour les entreprises sont rentrée in fine dans les objectifs de la MOU. Voilà pour votre information. J'aurais souhaité vous adresser une question, à vous qui êtes formateur Rhino chez RhinoForYou: comment et dans quelles conditions avez vous eu accès a des donnés entreprises?”…
t defined from the discussion of radiation exchange between urban surfaces and the sky in urban heat island research (See Oke's literature list below). It will be affected by the proportion of sky visible from a given calculation point on a surface (vertical or horizontal) as a result of the obstruction of urban geometry, but it is not entirely associated with the solid angle subtended by the visible sky patch/patches.
So, I think using "geometry way" to approximate Sky View Factor is not correct. Sky View Factor calculation shall be based on the first principle defining the concept: radiation exchange between urban surface and sky hemisphere:
(image extracted from Johnson, G. T., & Watson, 1984)
Therefore, I always refer to the following "theoretical" Sky View Factors calculated at the centre of an infinitely long street canyon with different Height-to-width ratios in Oke's original paper (1981) as the ultimate benchmark to validate different methods to calculate SVF:
So, I agree with Compagnon (2004) on the method he used to calculate SVF: a simple radiation (or illuminance) simulation using a uniform sky.
The following images are the results of the workflow I built in the procedural modeling software Houdini (using its python library) according to this principle by calling Radiance to do the simulation and calculation, and the SVF values calculated for different canyon H/W ratios (shown at the bottom of each image) are very close to the values shown in Oke's paper.
H/W=0.25, SVF=0.895
H/W=1, SVF=0.447
H/W=2, SVF=0.246
It seems that the Sky View Factor calculated from the viewAnalysis component in Ladybug is not aligned with Oke's result for a given H/W ration: (GH file attached)
According to the definition shown in this component, I assume the value calculated is the percentage of visible sky which is a geometric calculation (shooting evenly distributed rays from sensor point to the sky and calculate the ratio of rays not blocked by urban geometry?), i.e solid angle subtended by visible sky patches, and it is not aligned with the original radiation exchange definition of Sky View Factor.
I'd suggest to call this geometrically calculated ratio of visible sky "Sky Exposure Factor" which is "true" to its definition and way of calculation (see the paper on Sky Exposure Factor below) so as to avoid confusion with "The Sky View Factor based on radiation exchange" as discussed in urban climate literature.
Appreciate your comments and advice!
References:
SVF: definition based on first principle
Oke, T. R. (1981). Canyon geometry and the nocturnal urban heat island: comparison of scale model and field observations. Journal of Climatology, 1(3), 237-254.
Oke, T. R. (1987). Boundary layer climates (2nd ed.). London ; New York: Methuen.
Johnson, G. T., & Watson, I. D. (1984). The Determination of View-Factors in Urban Canyons. Journal of American Meteorological Society, 23, 329-335.
Watson, I. D., & Johnson, G. T. (1987). Graphical estimation of sky view-factors in urban environments. INTERNATIONAL JOURNAL OF CLIMATOLOGY, 7(2), 193-197. doi: 10.1002/joc.3370070210
Papers on SVF calculation:
Brown, M. J., Grimmond, S., & Ratti, C. (2001). Comparison of Methodologies for Computing Sky View Factor in Urban Environments. Los Alamos, New Mexico, USA: Los Alamos National Laboratory.
SVF calculation based on first principle:
Compagnon, R. (2004). Solar and daylight availability in the urban fabric. Energy and Buildings, 36(4), 321-328.
paper on Sky Exposure Factor:
Zhang, J., Heng, C. K., Malone-Lee, L. C., Hii, D. J. C., Janssen, P., Leung, K. S., & Tan, B. K. (2012). Evaluating environmental implications of density: A comparative case study on the relationship between density, urban block typology and sky exposure. Automation in Construction, 22, 90-101. doi: 10.1016/j.autcon.2011.06.011
…