the Butterfly_Solution component to visualize only the last value, during the simulation.
With this setting, the optimization through Galapagos seems to start in a good way, but after some iterations it stops due to this error on blockMesh component:
Runtime error (ArgumentException): Environment variable name or value is too long.Traceback: line 420, in __setitem__, "C:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\os.py" line 80, in getShellinit, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 69, in containerId, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 260, in _RunManager__command, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 316, in run, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 716, in command, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\case.py" line 748, in blockMesh, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\case.py" line 112, in getContainerId, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 215, in command, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 47, in script
Anyone know how to fix it?
Thank you
…
essors. And their counter-attitude is not made because of some real reasons - it's just some kind of fear, that time will overrun them and that they will become useless in comparison to the new generation of "computer architects". That is why they are giving false replies on this subject you mentioned: about boring and soulless architecture.
But! I also need to agree that you can not be an architect if you can not draw that by hand, also and imagine the object and it's parts in 3d, in your head, without even using the 3d model from PC application.
I used to draw around 80% of all my projects on university during studies, by hand! And that part helped a lot, and gave me pretty decent base for usage of PC applications later. Drawing by hand develops a bit investigating spirit, and enables you to think about the shape, the way it looks, and the way it will look.Even today, I first do a dozen number of sketches and drawings, before going onto the drawing on PC.The same goes related to some details, that I am already drawing on PC - sometimes I feel it much more comfortable to solve them by hand, and then draw back to PC.
So my opinion on this is a bit mixed - I think that an architect needs to have a solid basis in hand drawing, in order to become a better architect. But I also think that using technology in process of creating architecture is inevitable and reasons for not using it, are pointless.
Just my two cents on this issue.…
Added by djordje to Hiteca at 4:22am on August 7, 2012
ter point's t is not 0.5:
3,I set many alise name for the compont but the new version always lost the shortcut key after i restart the rhino.
4,the vb compont can't catch the error out of the sub RunScript:
5,I want to know the "Principal" 's purpose in parameter's menu .What can we do with it?
6,I am very curious about this compont below,Can you give me simple example?
7,Once more,you know david,I want the Oblique projection Matrix, I have posted this problem in the cad net forum,No one can solve it. Please,It's just a little problem.
Thank you!…
being driven by the wii nunchuck... But, here's my issue. I tried it first by having the output from the listener be a 6-digit number... so, I'm using the (CInt(Val(StoredValue))) command and it's writing out 181130... and I can easily split it up selecting the Left(x,3) or Right(x,3)... I first rant that number through a Format("{0:000000}",x) so that even if one of the accx or accy numbers were a 2-digit number (so my overall number would only have 5-digits)... with this Format function... I'm always assured a 6-digit number. And this method works... except...
If the first group of numbers coming in only has 2-digits... So, lets say the accelerometer read out of the first one (accx) is 89. Let's say the accy read out is 119. So, when I run this through the Format function to make it have at least 6 digits, my number now reads 011989. So, if I were to take the first three numbers on the right, my read out would be 989... which is much higher than my expected (60-180 range that is really coming over the Serial Port)... So, I'm back to where I started... in that I need to figure out a better way to split up the data.
Which brings me to your method. I tried it as well... in fact, I added a comma in the serial readout, so the string coming out of the listener reads 89,119. So, I can use your trick to go look for a delimeter and then read to the left and right a certain number of digits... The problem I still have is that the data going into the function is a string, and thus even if I split the 3 digits to the right of the comma out (so, my output says 119)... it's still a string, and my number parameter is still red. In your picture above, was your original 181 130 a number or a string? My guess is that it was understood as a number, because your number parameters at the end are accepting the value. But, in my case... I'm still stuck with the inability to convert a string to a number... Does this make sense? And are their any other workarounds?…
Added by Andy Payne at 9:42am on September 3, 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…
even (0, 2, 4) then that means the point either never hit it, or went in and out again, meaning it's outside. If it hits an odd number of times, then it must have come from within originally.
The method implements this approach using the mesh bounding box, and then striking a polyline from your test point along a vector that is defined by the upper right corner of the bounding box + a vector of (100,100,100). In the case of your failing points, this is a result of their striking an edge very precisely, which gets counted as 2 hits instead of 1 (as it should be getting captured) and passing false:
Your best bet is probably to roll your own implementation, that tests for multiple vectors:
private void RunScript(List<Point3d> P, Mesh M, ref object A, ref object B, ref object C) {
BoundingBox bb = M.GetBoundingBox(false);
List<bool> inside = new List<bool>();
for (int i = 0; i < P.Count; i++) {
Polyline a = new Polyline(); Polyline b = new Polyline();
a.Add(P[i]); b.Add(P[i]);
a.Add(bb.Max + new Vector3d(100, 100, 100)); b.Add(bb.Max + new Vector3d(100, 150, 150));
int[] fa; int[] fb;
Point3d[] xa = Rhino.Geometry.Intersect.Intersection.MeshPolyline(M, new PolylineCurve(a), out fa); Point3d[] xb = Rhino.Geometry.Intersect.Intersection.MeshPolyline(M, new PolylineCurve(b), out fb);
inside.Add(xa.Length % 2 == 1 || xb.Length % 2 == 1);
checkA.AddRange(xa, new GH_Path(i)); checkB.AddRange(xb, new GH_Path(i));
}
A = inside;
}
…
Added by David Stasiuk at 10:20am on October 10, 2017
Grasshopper. So, I once made an attempt to bind ms sqlServer in order to get frozen definitions at some states, to avoid managing baked objects in Rhino and also be able to retain whole results without using the GH state manager that rebuilds everything.
But at that time GH's VB.Net component didn't properly read referenced dlls and I forgot it since then.
At first, I was surprised by Slingshot's extensive interface : I was still having in mind my own old project, a tool that would have acted at the Rhino's geometry object level, and auto creating the needed tables.
The bd would have consisted of a main table, owning the objects ID and name, and related tables containing the necessary information relative to the main objects.
For example, a Brep is made of so and so underlying objects, passed to respective tables, according to GH objects definition layout (just the way they are written in the xml schema).
Then, on a db, query an object by name, and retrieve the whole object or underlying objects (e.g. at the bounding curves level, or points level for a Brep).
With Slingshot, I made a few attempts to cheat GH with BLOB data fields, but no way to get a whole object. It seems that GH simply provides an object.toString ... and GH is definitely not conceived to produce persistence outside of Rhino. If I have some spare time, I will try to extract
About points and colors, I am now simply using a single field with CHAR(asLargeAsNeeded...), as GH parses String to every Point (or Vector or Color) entry of any component.
I do so because it need less to display on the canvas...
Whatever I wrote before, I really like your conception, as opened to relational interactions between ...whatever you need or dream of !
One last thing : GH can't open the definition file "Genome_DB_Template.gh" that I've downloaded from your site : http://slingshot-dev.wikidot.com/database-genome. I was expecting to learn a lot from your very smart stuff ! (I am running GH 08.00.13 and Slingshot 0.7.2.0)
Slingshot is running great, opened to any use...Thanks again.
Best,
Stan
…
which show how their intensification in specified areas makes the surface transform and curl on itself. The generation and the properties of such structures are explored through parametric techniques using algorithms to create complex hyperbolic geometries. In depth, from a spatial point of view,stripe surface discretization can be used to represent three-dimensional objects defining space, form, and structure simultaneously. They are intensively adopted in various fields of construction, like boat industry, concrete formworks, panelling techniques among many others. While in computational design, material elements can be defined by behaviour rather than shape, arising new performative potential through the material driven design approach.
The proposed system will focus on synthesizing stripe patterns from double curved surfaces, giving the user the possibility to define the design of a new global geometry and vary parameters like stripe orientation and line spacing. The computation of the design process will embed material properties of wood, considering it’s elastic moment and using it as an advantage to increase the global strength of the lightweight system. Physical properties and material behaviour will be computed and simulated throughout the process and will be the foundation for the actual construction technique on site and further on for the assembly strategy of complex geometries from initially planar plywood pieces.
The structure will be dictated by a ring like topology and will include dedicated joint connection between the stripes, distributing topological differentiation by interconnecting areas. The resulting patterns are globally continuous, investigating the possibility of a smooth space defined by the equilibrium state of the embedded forces.
GOALS
Among the learning process of computational and parametric design, this workshop is oriented towards the digital fabrication strategies and an integrative design thinking. Workshop sessions will include material properties research, development of complex geometrical 3D parametric models, fabrication details and techniques, work with small scale prototypes with the help of a laser cutter and 1:1 prototypes with the use of a CNC machine. In order to test the performative capacity of the material and the integration of all the principles mentioned above, an architectural prototype will be realised in scale 1:1.
…
Added by Aldo Sollazzo at 3:38pm on January 30, 2017