as the design table? I think this could be 'drawn' and constrained in Inventor in a lot less time. I know the GH model would have a lot of flexibility, but in this case, what can you do with it that wasn't provided by an Inventor model?
Only the 27 lines mentioned were modeled in Rhino, the rest is modeled with GH.
The 5 hrs involved thinking about the approach, defining vertical lines, tilts, elevations, pitch of the roof, intersections.
Once I had decided what my approach would be, and tested the logic with those first lines, points and data path arrangements, it only took one more hour to get to this:
Which is actually quite fast, compared to MCAD workflows.
If you already have components (columns, beams, etc.) modeled and ready to drop into a project, of course it is lightning fast to model simple projects like this example.
I am not as much interested in those situations, because improving efficiency is straightforward and obvious.
I'm more interested in situations where there are no pre-defined families of objects, in which case you need to start from scratch.
The GH model I'm showing is modeled from scratch, except for the 27 lines in Rhino.
Here's one obvious advantage to modeling with GH, once the definition is set-up, it's virtually effortless to change inputs and alter the overall design. Here's an example, lets say we wanted to extend the roof 3 more units, curling away from the original direction.
Plan view before:
And after:
An MCAD app will also allow you to do this, as long as the location of additional elements follows the existing geometric method of definition. What happens if you want completely change the way you locate columns, roof slope, intersection points?
In MCAD, you'll need to re-model the underlying geometry, which will take the same effort as the first round. In GH, this process is not only much faster, it's open to algorithmic approaches, galapagos, etc. and it just takes some simple re-wiring to have all down-stream elements associate themselves to this new geoemtric definition.
For instance, here's the same definition applied to two curves, which are divided in GH, the resulting points are used as a starting point for lines directed at normal from curves.
This is not so easy to do in MCAD.…
Added by Santiago Diaz at 7:55pm on February 24, 2011
os3D + Grasshopper3D + Maya + Advanced Plugins & Demo Toolkits]
// Level
Basic, Intermediate & Advanced
(Previous parametric design knowledge not obligatory - Studio is adaptive to basic & advanced users)
// Agenda
The workshop aims to provide a detailed insight to ‘parametric design’ and embedded logics behind it through a series of design explorations using Rhinoceros & Grasshopper platforms, along with understanding of data-driven design strategies. An insight to Computational Design and its subsets of Parametric Design, Algorithmic Design, Generative Design and Evolutionary Design will be provided through presentations, technical sessions & studio work. Studio work will be focusing on modulation of geometry and iterative form using Parametric Design methods that will lead to explorations of spatial geometries that can be articulated as architectural constructs or abstract artistic interventions. There will be a demonstration of Fluid Form Modelling using Autodesk Maya on Day03.
The 1st batch of workshop in London took place in January 2020 with an exploratory learning output for ~20+ participants that travelled from different parts of the world to be a part of 3-day workshop titled Parametric Modulations. V2.0 is the evolved workshop with new toolkit add-ons for the 2nd batch and demonstrative tools & examples for future use of participants to get a deeper understanding of Computational & Parametric Design.
// Methodology
The 3-day studio / workshop shall focus on inculcating the following aspects as a part of curriculum:
Computational Design Techniques & Parametric Design
Data, Mathematics & Geometry
Geometry Rationalization
Iterative Form Development
Digital simulation of forces
Environmental Analysis (Tool-kits & Example files for future use)
Collaborative Design Exercises to understand application of the learnt tools
Documentation and Presentation
Hands-on Demonstration of Maya (Polygonal Mesh Modelling)
The workshop is suitable for beginners, intermediate as well as advanced users of these tools and very helpful for anyone planning to start their Masters in UK as this 3-day workshop would serve as a bootcamp to kick-start anyone's journey in Computational Design.
…
RESENTERS PETER ARBOUR seele KEITH BOSWELL Skidmore Owings & Merrill MARK E. DANNETTEL Thornton Thomasetti LISA IWAMOTO IwamotoScott JASON KELLY JOHNSONFuture Cities Lab/California College of the Arts HAO KO Gensler BILL KREYSLER Kreysler & Associates ANDREW KUDLESS Matsys/California College of the Arts CHRIS LASCH Aranda\Lasch ARNOLD LEE HOK MIC PATTERSON Enclos, Corp. M. MIN RA Front GEOFF ROSSI Element DENNIS SHELDEN Gehry Technologies ANN SMITH Cambridge Architectural MARCELLO SPINAP-A-T-T-E-R-N-S SANJEEV TANKHA Buro Happold BEN TRANEL Gensler PHIL WILLIAMS Webcor Builders & Consulting Group
DIGITAL FABRICATION WORKSHOPS
8 LU/HSW or 8 LU credits (depending upon workshop choice)
Friday, July 27th 2012 9:00 AM – 6:00 PMCalifornia College of the Arts San Francisco, California
PARAMETRIC ENVELOPES WITH GRASSHOPPERANDREW KUDLESS Matsys Design/California College of the Arts
COMPOSITE FACADES IN ARCHITECTUREBILL KREYSLER & JOSHUA ZABEL Kreysler & Associates
RESPONSIVE BUILDING FACADESJASON KELLY JOHNSON Future Cities Lab/California College of the Arts
SCRIPTED FACADESCHRIS LASCH Aranda/Lasch
PARAMETRIC FACADE TECTONICSKEVIN MCCLELLAN & ANDREW VRANA Digital Fabrication Alliance
BIM MODELING WITH REVIT/INTRO TO VASARIGERMAN APARICIO California College of the Arts & Autodesk Fellow
Facade technologies are developing at a more dynamic rate than almost any other issue related to construction today with an impact on performance, sustainability, materials, fabrication, design, delivery and much more. What was once thought impossible is now an everyday reality, and the future promises accelerating change.
Presented by Enclos and The Architect’s Newspaper, COLLABORATION will bring together in a two-day event, the industry, the profession, and the academy to explore the evolution and the issues surrounding today’s high tech building envelope through case studies and lectures presented by foremost
practitioners, as well as panel discussions, and workshops conducted by leaders in the AEC profession.
Aimed at architects, building owners and developers, general contractors, engineers, fabricators, material suppliers, educators, and students, the event’s panels and sessions address the transformative opportunities created by new technologies and resources. From using BIM for communicating effectively with fabricators, to energy modeling, to retrofitting practices and the latest design tools, the COLLABORATION conference offers an unprecedented opportunity to survey the possibilities of designing in the digital age.
Who Should Attend
Architects, designers, engineers, building owners, developers, and facade consultants interested in gaining increased understanding of cutting-edge building envelope technologies.…
t. So here we go!
1. Honeybee is brown and not yellow [stupid!]...
As you probably remember Honeybee logo was initially yellow because of my ignorance about Honeybees. With the help of our Honeybee expert, Michalina, now the color is corrected. I promised her to update everyone about this. Below are photos of her working on the honeybee logo and the results of her study.
If you think I'm exaggerating by calling her a honeybee expert you better watch this video:
Thank you Michalina for the great work! :). I corrected the colors. No yellow anymore. The only yellow arrows represent sun rays and not the honeybee!
2. Yellow or brown, W[here]TH Honeybee is?
I know. It has been a long time after I posted the initial video and it is not fun at all to wait for a long time. Here is the good news. If you are following the Facebook page you probably now that the Daylighting components are almost ready.
Couple of friends from Grasshopper community and RADIANCE community has been helping me with testing/debugging the components. I still think/hope to release the daylighting components at some point in January before Ladybug gets one year old.
There have been multiple changes. I finally feel that the current version of Honeybee is simple enough for non-expert users to start running initial studies and flexible enough for advanced users to run advanced studies. I will post a video soon and walk you through different components.
I think I still need more time to modify the energy simulation components so they are not going to be part of the next release. Unfortunately, there are so many ways to set up and run a wrong energy simulation and I really don’t want to add one new GIGO app to the world of simulation. We already have enough of that. Moreover I’m still not quite happy with the workflow. Please bear with me for few more months and then we can all celebrate!
I recently tested the idea of connecting Grasshopper to OpenStudio by using OpenStudio API successfully. If nothing else, I really want to release the EnergyPlus components so I can concentrate on Grasshopper > OpenStudio development which I personally think is the best approach.
3. What about wind analysis?
I have been asked multiple times that if Ladybug will have a component for wind study. The short answer is YES! I have been working with EFRI-PULSE project during the last year to develop a free and open source web-based CFD simulation platform for outdoor analysis.
We had a very good progress so far and our rockstar Stefan recently presented the results of the work at the American Physical Society’s 66th annual DFD meeting and the results looks pretty convincing in comparison to measured data. Here is an image from the presentation. All the credits go to Stefan Gracik and EFRI-PULSE project.
The project will go live at some point next year and after that I will release the Butterfly which will let you prepare the model for the CFD simulation and send it to EFRI-PULSE project. I haven’t tried to run the simulations locally yet but I’m considering that as a further development. Here is how the component and the logo looks like right now.
4. Teaching resources
It has been almost 11 months from the first public release of Ladybug. I know that I didn't do a good job in providing enough tutorials/teaching materials and I know that I won’t be able to put something comprehensive together soon.
Fortunately, ladybug has been flying in multiple schools during the last year. Several design, engineering and consultant firms are using it and it has been thought in several workshops. As I checked with multiple of you, almost everyone told me that they will be happy to share their teaching materials; hence I started the teaching resources page. Please share your materials on the page. They can be in any format and any language. Thanks in advance!
I hope you enjoyed/are enjoying/will enjoy the longest night of the year. Happy Yalda!
Cheers,
-Mostapha
…
lly it should not make much of a difference - random number generation is not affected, mutation also is not. crossover is a bit more tricky, I use Simulated Binary Crossover (SBX-20) which was introduced already in 1194:
Deb K., Agrawal R. B.: Simulated Binary Crossover for Continuous Search Space, inIITK/ME/SMD-94027, Convenor, Technical Reports, Indian Institue of Technology, Kanpur, India,November 1994
Abst ract. The success of binary-coded gene t ic algorithms (GA s) inproblems having discrete sear ch sp ace largely depends on the codingused to represent the prob lem variables and on the crossover ope ratorthat propagates buildin g blocks from pare nt strings to childrenst rings . In solving optimization problems having continuous searchspace, binary-co ded GAs discr et ize the search space by using a codingof the problem var iables in binary st rings. However , t he coding of realvaluedvari ables in finit e-length st rings causes a number of difficulties:inability to achieve arbit rary pr ecision in the obtained solution , fixedmapping of problem var iab les, inh eren t Hamming cliff problem associatedwit h binary coding, and processing of Holland 's schemata incont inuous search space. Although a number of real-coded GAs aredevelop ed to solve optimization problems having a cont inuous searchspace, the search powers of these crossover operators are not adequate .In t his paper , t he search power of a crossover operator is defined int erms of the probability of creating an arbitrary child solut ion froma given pair of parent solutions . Motivated by t he success of binarycodedGAs in discret e search space problems , we develop a real-codedcrossover (which we call the simulated binar y crossover , or SBX) operatorwhose search power is similar to that of the single-point crossoverused in binary-coded GAs . Simulation results on a number of realvaluedt est problems of varying difficulty and dimensionality suggestt hat the real-cod ed GAs with t he SBX operator ar e ab le to perform asgood or bet t er than binary-cod ed GAs wit h t he single-po int crossover.SBX is found to be particularly useful in problems having mult ip le optimalsolutions with a narrow global basin an d in prob lems where thelower and upper bo unds of the global optimum are not known a priori.Further , a simulation on a two-var iable blocked function showsthat the real-coded GA with SBX work s as suggested by Goldberg
and in most cases t he performance of real-coded GA with SBX is similarto that of binary GAs with a single-point crossover. Based onth ese encouraging results, this paper suggests a number of extensionsto the present study.
7. ConclusionsIn this paper, a real-coded crossover operator has been develop ed bas ed ont he search characte rist ics of a single-point crossover used in binary -codedGAs. In ord er to define the search power of a crossover operator, a spreadfactor has been introduced as the ratio of the absolute differences of thechildren points to that of the parent points. Thereaft er , the probabilityof creat ing a child point for two given parent points has been derived forthe single-point crossover. Motivat ed by the success of binary-coded GAsin problems wit h discrete sear ch space, a simul ated bin ary crossover (SBX)operator has been develop ed to solve problems having cont inuous searchspace. The SBX operator has search power similar to that of the single-po intcrossover.On a number of t est fun ctions, including De Jong's five te st fun ct ions, ithas been found that real-coded GAs with the SBX operator can overcome anumb er of difficult ies inherent with binary-coded GAs in solving cont inuoussearch space problems-Hamming cliff problem, arbitrary pr ecision problem,and fixed mapped coding problem. In the comparison of real-coded GAs wit ha SBX operator and binary-coded GAs with a single-point crossover ope rat or ,it has been observed that the performance of the former is better than thelatt er on continuous functions and the performance of the former is similarto the lat ter in solving discret e and difficult functions. In comparison withanother real-coded crossover operator (i.e. , BLX-0 .5) suggested elsewhere ,SBX performs better in difficult test functions. It has also been observedthat SBX is particularly useful in problems where the bounds of the optimum
point is not known a priori and wher e there are multi ple optima, of whichone is global.Real-coded GAs wit h t he SBX op erator have also been tried in solvinga two-variab le blocked function (the concept of blocked fun ctions was introducedin [10]). Blocked fun ct ions are difficult for real-coded GAs , becauselocal optimal points block t he progress of search to continue towards t heglobal optimal point . The simulat ion results on t he two-var iable blockedfunction have shown that in most occasions , the sea rch proceeds the way aspr edicted in [10]. Most importantly, it has been observed that the real-codedGAs wit h SBX work similar to that of t he binary-coded GAs wit h single-pointcrossover in overcoming t he barrier of the local peaks and converging to t heglobal bas in. However , it is premature to conclude whether real-coded GAswit h SBX op erator can overcome t he local barriers in higher-dimensionalblocked fun ct ions.These results are encour aging and suggest avenues for further research.Because the SBX ope rat or uses a probability distribut ion for choosing a childpo int , the real-coded GAs wit h SBX are one st ep ahead of the binary-codedGAs in te rms of ach ieving a convergence proof for GAs. With a direct probabilist ic relationship between children and parent points used in t his paper,cues from t he clas sical stochast ic optimization methods can be borrowed toachieve a convergence proof of GAs , or a much closer tie between the classicaloptimization methods and GAs is on t he horizon.
In short, according to the authors my SBX operator using real gene values is as good as older ones specially designed for discrete searches, and better in continuous searches. SBX as far as i know meanwhile is a standard general crossover operator.
But:
- there might be better ones out there i just havent seen yet. please tell me.
- besides tournament selection and mutation, crossover is just one part of the breeding pipeline. also there is the elite management for MOEA which is AT LEAST as important as the breeding itself.
- depending on the problem, there are almost always better specific ways of how to code the mutation and the crossover operators. but octopus is meant to keep it general for the moment - maybe there's a way for an interface to code those things yourself..!?
2) elite size = SPEA-2 archive size, yes. the rate depends on your convergence behaviour i would say. i usually start off with at least half the size of the population, but mostly the same size (as it is hard-coded in the new version, i just realize) is big enough.
4) the non-dominated front is always put into the archive first. if the archive size is exceeded, the least important individual (the significant strategy in SPEA-2) are truncated one by one until the size is reached. if it is smaller, the fittest dominated individuals are put into the elite. the latter happens in the beginning of the run, when the front wasn't discovered well yet.
3) yes it is. this is a custom implementation i figured out myself. however i'm close to have the HypE algorithm working in the new version, which natively has got the possibility to articulate perference relations on sets of solutions.
…
ains an unrecognized object: Face Polylines {4098ecba-269a-1ced-9ce4-86836dae2101}
This object cannot be deserialized
The archive contains an unrecognized object: Mesh edges {4098ecba-299a-1ced-9ce4-86835dae21c9}
This object cannot be deserialized
Object list read
And the simulation will not run afterwards.
Is this because the face polylines and mesh edges that need to be in the Rhino example file are missing? (the Rhino file contains 5 points, and no other geometry).
I get a similar error if I open TENSEGMEM :
Plugin version: 0.8.0004
The archive contains an unrecognized object: Mesh edges {4098ecba-299a-1ced-9ce4-86835dae21c9}
This object cannot be deserialized
Object list read
If I open one of the examples which is just a GHX file (such as CATENARY), it loads without errors, and a series of Grasshopper generated objects appear on screen - but the simulation will not run. The grasshopper definition says it is "unable to load a series of points". Please see attached JPEGs.
sorry for the headache !!
thanks,
Jeg…
ar closed curve that is supposed to go to create a flat surface together with the other closed curves present in the same plane.
I don't know how can create this surface!!…
a type hierarchy with two interfaces and three classes:
IVehicle
IAutomobile
Bicycle
VolvoCar
AudiCar
IVehicle is an interface which lays down some ground-rules for all sort of vehicles. For example their maximum speed, maximum number of occupants and fuel type (diesel, horse, foot-power).
Bicycle is a class which implement IVehicle and nothing else.
IAutomobile is another interface, which derives from IVehicle but adds some more rules. For example it also demands that any class implementing IAutomobile has a property telling you whether the steering wheel is on the left or the right and how many kilometers per litre of fuel it manages.
VolvoCar and AudiCar are classes that both implement IAutomobile (they are, after all, both a type of automobile). Since IAutomobile inherits from IVehicle, they need to also implement that interface. VolvoCar might look like this:
class VolvoCar : IAutomobile
{
public int MaxSpeed { get { return 160; } } //IVehicle implementation
public int MaxPeople { get { return 5; } } //IVehicle implementation
public string Fuel { get { return "diesel"; } } //IVehicle implementation
public double Consumption { get return "18.4"; } } //IAutomobile implementation
public bool WheelOnLeft { get { return true; } } //IAutomobile implementation
public string TypeCode { get { return "V70"; } } //A property only volvos have.
}
Now let's imagine that you are given an instance of VolvoCar. This can happen as one of four types:
System.Object (everything derives from System.Object, so this is always possible)
IVehicle (VolvoCar implements this interface because IAutomobile derives from it)
IAutomobile (VolvoCar specifically implements this interface)
VolvoCar (the type itself)
These are just four different ways of looking at VolvoCar, and each way allows you to see less or more detail. If you have a VolvoCar instance stored inside a variable of type IVehicle, then you do not have access to the steering wheel property, because that is not part of IVehicle. If you want to access WheelOnLeft or Consumption you can cast your instance to type IAutomobile:
Dim vehicle As IVehicle = GetVehicleFromSomewhere()
Dim car As IAutomobile = DirectCast(vehicle, IAutomobile)
The car and vehicle variables now both point to the same volvo in memory, but car allows you to access more information. You could even cast it to a VolvoCar, in order to get access not just to WheelOnLeft and Consumption, but also to TypeCode:
Dim vehicle As IVehicle = GetVehicleFromSomewhere()
Dim volvo As VolvoCar = DirectCast(vehicle, VolvoCar)
Note though that casting sort of violates the type-safetyness of a program. The GetVehicleFromSomewhere() function returns a variable of type IVehicle. So it is allowed to return VolvoCar, AudiCar or Bicycle without breaking that promise. But if it returns Bicycle then our attempt to cast it to an IAutomobile or VolvoCar will fail.
So, conclusion:
Casting allows you to look at an instance using a more detailed (or less detailed if you want) type. Pre-requisite is that the instance actually is of that type.
In VB.NET, you can use the DirectCast and TryCast methods for this. TryCast is to be preferred, but it only works on classes, not structs.
In C# you can use the (type)variable notation or the as keyword.
You can use the TypeOf (VB.NET) and is (C#) keywords to first see whether a cast will work or not.
--
David Rutten
david@mcneel.com
Tirol, Austria…
Added by David Rutten at 2:58am on October 9, 2013
owing a tutorial is easy and adapting the idea of it again - it's not a fuss - i guess my skills are at 1 - since I can not yet stand alone! However I am very determined to nail this program to the ground and be at a 9 by Easter - of course that means a lot of work and hours testing - but I am young and ambitions!
I am a revit user and I just switched over (from the dark rigid side) to rhino because of a simple math problem which has to do with variations and combinations.
I am investigating the form factor for my thesis.
Form factor= building envelope (the area of the facade+the area of the roof+the area of the footprint)/the total area of the floors.
I have started by defining a specific set of parameters such as height, number of floors, maximum total floor area so I can compare the results.
Therefore the floating number will be the facade area - which in the end, considering the height is a constant - ends up being just the length of a certain shape - circle, square, triangle ...
I have done the calculation through excel after extracting from revit but only on simple shapes as follow(the following examples are my own analyzing work):
My problem is: I need a way to get all possible shapes that meet the criteria i put in - which at the moment will be defined by square meters of a floor- that is why galapagos comes in - I need it to make all possible combinations that can be computed that meet the criteria - so then the user(myself or who ever else want to use it) can make an informed choice. I am not looking for a square - circle, sphere or anything I can manually create by just using basic geometry, I am looking for all the possible combination that equal the same area.
(plan view)
After i can solve it for one level - i will constrain that all the levels add up have specific total area - so if a level get's bigger in size another one gets smaller. Again run it through Galapagos and get all possible outcomes (like the sections below)
I am aiming to get an outcome from which you have options to pick out of -> a design process not a specific shape.
You are thinking too complex - not that it's a bad thing - but I am looking for something more simplistic than that. I need a shape - windows and panels are for later use in my process and at this early stage completely irrelevant - and that will be another percentage math problem rather than aesthetics. I just need shapes to morph based on input parameters.
I hope this was an interesting read for you and I really appreciate your patience with me.…