inocommon or obsolete Rhinoscript. Numbers in, numbers out, let Grasshopper make geometry out of it.
Scripting is only thorny when you have to learn the jungle of Rhinocommon, a rather arcane system of rules and object oriented command structures with dots between them.
[] are lists or lists of lists like [ [], [], [] ] and calling of items in them like My_Variable[5].
len is length, append is obvious, and that's it.
Here's the first hit for a Google search for "get the length of a list python":
http://stackoverflow.com/questions/1712227/how-to-get-the-size-of-a-list
You don't need functions or classes for 95% of simple Grasshopper work.…
t one by one... What if we could number all cells and identify it's neighbors (the way you do) at once.
... at the moment we have a regular grid generated from one main surface!
Imagine if each cell is generated randomly (maybe all cells are not occupied...) and the surface component is multiple individual surfaces.
... now, how can we number and ID-tag each cell and identify its neighbors in one session?
cell 0 - (C1 C2 C8)
cell 1 - (C0 C7)
cell 2 - (C0 C4)
...
cell 10 - (C5 C6 C8 C9)
etc.
Best
//A…
Added by Ali Tabatabai at 4:01pm on November 29, 2010
of thing" (recursion) being applied to your point case > freaky stuff and the likes. We only need a paranoid "loop" like this (that calls itself):
public void DoThisDoThat (ref DataTree<Curve> crvTree){
List<Curve> crvList = crvTree.Branch(loops -1).ToList();
for(int i = 0; i< crvList.Count-1;i++){
Curve c1 = crvList[i]; Curve c2 = crvList[i+1];
List<Curve> newCurves = DivideCurves(c1,c2,div,factor, mode);
crvTree.AddRange(newCurves, new GH_Path(loops);
}
loops++;
if(loops > maxLoops) return; // i.e. Adios Amigos
DoThisDoThat (ref crvTree);
}
…
code from C:\Users\MyName\AppData\Roaming\Grasshopper\ladybug to C:\Users\.MyName\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\ladybugCopying honeybee source code from C:\Users\MyName\AppData\Roaming\Grasshopper\honeybee to C:\Users\MyName\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\honeybeeCopying honeybee userobjects to C:\Users\MyName\AppData\Roaming\Grasshopper\UserObjects\.Runtime error (Exception): `C:\Users\MyName\AppData\Roaming\Grasshopper\userObjects\Honeybee EP context Surfaces.ghuser` and `C:\Users\MyName\AppData\Roaming\Grasshopper\UserObjects\Honeybee EP context Surfaces.ghuser` are the same fileTraceback: line 82, in installHoneybeePlus, "<string>" line 87, in script line 68, in copyfile, "c:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\shutil.py"
Merci beaucoup.
…
's unique parasol roof passively provides the maximum amount of shade to create playable conditions for a desert stadium, while not obstructing grass growth.
The 25,000 seat bowl was modeled and optimised through 3d sightline calculations, to make the bowl as tight and efficient as possible while guaranteeing the best possible C-Values.
The diagrid facade, is made up of palm-inspired panels, creating shade, allowing air flow through the stadium. Panels are angled up to allow views out from key locations.
The 640 panels were carefully rationalised for construction. From an original set-out of 320 unique forms, the panels were reduced to 82 sizes without any noticeable aesthetic impact.
The full implementation of a parametric workflow in a BIM environment meant the stadium was delivered on an unprecedented fast track 18 month Design & Build.
http://www.pattern-architects.com/
http://architizer.com/projects/hazza-bin-zayed-hbz-stadium/…
Added by Nick Tyrer at 4:48am on February 13, 2014
ius, like the image below. I have a string with all of the 8 radii in a group of data. I was using the Divide Surface command, but there are two problems. First, the resulting points have a tree structure shown in the screenshot below, with {8; 2; 3}. How do I assign radius so that the six holes on the same panel has the same radius? The second problem is, the divide surface command generates points along the edges, too, where I don’t need any holes. How can I get rid of them?
…
thought that architect's love for drawing comes from the necessity of translate abstract ideas into built 3D reality, and the technology behind that 2D representation has not evolve so much until some decades ago. Our teachers come from that times: times when computers try to find their place in the reality representation world. If you try to imagine that people that have always drawn with pencils adapting to this new tools...some become fan of new methods, other just keep the old fashion workflow (like Andrew said in the article, Schumacher VS Graves)
We've bear (at least Andrew and me :P) in 80's with first video games, computers (I still remember my old x286 with 1Mb RAM and 20Mb of HD and that MS-DOS interface)...New technology was natural for us...But there is a big difference between traditional drawing and new computer aided tools: the learning curve. To draw you only need to take a pen and put over a paper (that interface is understood by children easily) , but traditional computational tools (new touch interfaces are out of this group) are based in a complex logic and environment that is not easy to understand for some people.
In the workshops I'm teaching in, I try to put all that tools (new and old one) in my students hands and motivate them to mix and use them together (Andrew knows a little bit about that :P). Why not to make a lines sketch with GH and then print it and render with some markers?; the last step could be scan the result and enhance it in Photoshop adding textures, vegetation, some background...There are no rules, only a bunch of tools to explore and use to develop your ideas, evolve and finally represent them.
I bet to the touch interfaces (with some augmented reality sauce) like that one that will be able to blend both worlds, analog and digital, offering that fluidity and natural interaction that Grave miss in digital tools. And our generation attached to this "not natural" interfaces will need to change its mind and adapt to that new and amazing interface that our children will love.
Only to complete:
<iframe width="560" height="315" src="http://www.youtube.com/embed/aXV-yaFmQNk" frameborder="0" allowfullscreen></iframe>…
Added by Ángel Linares at 5:40pm on September 10, 2012
e volume. The yellow line above.
This volume, green on the above image
So with this there was an intersection with the Brep volume of the chair and the lattice.
After that I used cocoon. Here the parameters I used for the Brep and curve. So The Brep was offsetted.
The model is 80 unit height and cell size is 0.2 so roughly there are 400 divisions in Z. If cubic it will give 6.4 millions of cells. To my point of view it is important to choose well the cell size in order to have not hundred of million of cells. Here 6 millions was usable. The general thing with Cocoon is alwas to test it on small objects first.
A close view of mesh. Edge length is 0.1 unit. There are 6 millions of triangles.
…
not working, then this can be a limitation of Honeybee, not the Terrain shading mask component.You can authenticate the mask shape by using the Udeuschle panorama generator (I used the following Trento coordinates: lat:46.066667, long:11.116667):
Sketchup has a similar plugin for Trynsys3D terrain shading masks.
I gave a reply on your upper questions in here, in component's release topic, so that it would be useful for others users too.
Actually I tried also to create the mask of the mountain using the topography I imported from Sketchup and the Ladybug Shading Mask II component. In this way the shading effect is well noticeable, but the process of creating the mask from such a complex geometry is very slow.
I can make a component which will automatically generate the topography of the local terrain, for a given latitude/longitude, but you will have to wait some time. I am currently doing some repairing around my house and cottage, and I do not have any spare time.Have in mind that depending on the configuration of you PC, you may not be able to have the terrain radius of up to 100 km. While Terrain Shading Mask component actually creates this terrain, it does not add it to the grasshopper document. In your case the terrain will be added to the grasshopper document which may crash Rhino depending on your PC configuration (for example it crashes Rhino on my PC).…
r "virtual partitions" as follows:
What I mean "air walls" here, is derived from the description of the E+ documentation with the header of "Air wall, Open air connection between zones". (Page 17, http://apps1.eere.energy.gov/buildings/energyplus/pdfs/tips_and_tricks_using_energyplus.pdf)
As I understand, the term "air wall" used in E+ here refers to a description of something like "boundary condition" between adjacent interzone heat transfer surfaces, but not a kind of "construction or material" (like air space resistance or air gaps within a wall/double glazing window).
The main purpose of introducing the "air wall", is to simulate or approximate the airflow/convection/natural ventilation effect between multiple thermal zones which are connected by a large opening.
In my previous tests, using HBzones and GB, I managed to create the gbXML file which can be successfully imported to DB (without assigning any constructions within HB). And the adjacency condition can be recognized automatically by DB, even when I did not use the "Solve adjacencies" component in HB - shared surfaces between multiple thermal zones are recognized automatically by BD as "internal - partition"(which are standard partitions, but not virtual partitions).
In order to create/approximate "virtual partition", I need to manually draw a "hole" in the standard partition surface (fig.1&2). Again, the reason why we want to use "virtual partitions"(or "air wall") is that it allows airflow between multiple thermal zones which are connected by large openings and we could get different temperature of the each subdivided thermal zone which compose a large thermal zone.
My question is, if there is a possible way to simulate/approximate this kind of "virtual partitions"(or "air wall") in HBzones or in GB? If so, I would like to test if DB recognizes it or not. Actually, we expect that there is no need to involve any manual operations (like drawing a "hole" in the standard partition surface) in DB, due to an automatic optimization loop.
Thank you!
Best,
Ding
fig.1
fig.2
…