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
…
ails.
Some word about the mesh... (see Image_01)
I took a flat 4 points NURBS surface as imput (very easy, it defines the total area of my pavilion) and some points (that defines the contact with the ground).
Then I extracted a grid of points from the NURBS (Surface_Util_Divide surface) and compared 'em with the contol points, in order to associate to each grid's point its own attractor (Vector_Point_Closest Point).
Than I moved the points down. I used the distance from each point to its attractor (inverted) as amplitude for the vector of the movement, in order to say: the nearer you are to the control point, the more intense your movement will be. During this operation I've passed the distances' data list into a graph mapper (Params_Special_Graph Mapper), in order to regulate in a very intuitive and interactive way the shaping of my canopy.
At the end of the process I asked GH for a simple Delaunay mesh (Mesh_Triangulation_Delaunay Mesh). It's a very cool command, I believe!!!
Ok, now some word about the component, it's design and it's repetition/adaptation to the mesh...
(see Image_02)
I took the mesh and extracted components on first and faces's information on second. Then I selected and separated the vertexes (1°, 2°, 3°) of each triangular face into threee well defined list.
Then I re-created the triangles' edges. Please pay attention because it's not the same if you use output information from Delaunay components, because here we need a justapposition of edges where triangles touches each others.
After this work I joined the edges and found their centroid. At the same time I found the mid point of each edge.
Now the component... (see Image_03)
It' a little bit longer to describe: I'll try to be synthetic.
Substantially it is a loft from a curve to a point, repeated three times for each triangle (Surface_Freeform_Extrude Point). The point is an elevation of the centroid of the triangle (you can choose if the exstrusion has a single height or it's related to an attractor. In my case it was fixed). The curve is combination of things. There's an arch, which starts on the edge (there's an offset from the corner) end terminates on the same edge (on the other side, obviously). While it's generation the arch passes through a third point which belong to another segment. This last connects the mid point of the original edge (base triangle) with the centroid. The result is a kind of polyline, with two segments and an arch. If you go back to the image of the component that I posted probably you'll understand what I'm saying better than with the definition.
The posit…
he picture (4).
Previously, I had a problem with generating intersections between the two directions of the beams, but a colleague helped me by extending beams, so there was no problem with lines of intersection. But this solution has generated curl (5) at the highest vertex geometry, which I ignored in order to repair it before printing, perhaps this mean my problem with my beam spread properly. Only when the beams is 19, does not jump no problem, but I still can not distribute them properly.
(1)
(2)
(3)
(4)
(5)
I tried to show as simply as possible by removing or signing my code in GHX file.
Thank you in advance for your help
…
evel] are required. No specific Processing skills are required (although an introductory knowledge of programming logic is welcome). Participants should bring their own laptop with pre-installed software (software download links will be given after subscription).
[.]Tutors:
Alessio Erioli + Andrea Graziano + Alessandro Zomparelli – Co-de-iT.
[.] Brief
The workshop explores the manifold relations of creativity and control in computational design. The availability of increasingly complex and sophisticated tools shifts how control and sensibility are exerted and deployed within the design process. A new computational craft is required, one that allows the embedding in computational simulation of matter and agency so that ideas propagate in a deeper ecology with degrees of autonomy that provide complex feedbacks. Objects and systems are not anymore simple assemblages of static parts but are generated from the interrelations of other complex objects within ecologies. The designer is not just merely using tools rather establishing a loop dialogue with their creative and autonomous possibilities: questioning their capacity and extension, evaluating and empathizing with the result that in turn allow configuring and being configured by them continuously.
We will explore matter and agency behaviors through Grasshopper (with Millipede plugin) and Processing, interrogating the aesthetic potential of Topology Optimization and Multi-Agent Systems.
more info here:
http://www.co-de-it.com/wordpress/ctrl-shift-grasshopper-processing-workshop-vienna.html…
picture:
... and on a PC without anything attached to the serial port. When you open the port, start the read component and its timer, do you then get a stream of <empty> values in the log output? (hmmm... I suppose that's only reasonable - but still, you are also seeing this?)
I suppose that, because of the mutually exclusive behavior of both the spider and grasshopper (i.e. only one at a time can access the COM port), we can deduce that we are listening on the correct port.
Am I listening on the correct pin (if such a notion makes sense at all)? If I look back to the spider software, I see that 9 channels are listed and that it's only the measured value on channel 0 that changes when I press the load cell. Channels 1, 2, and 3 report OVERFLOW; 4, 5, 6, and 7 are pretty much constant at 0.000 to 0.005 V; and channel 8 says FFFF. I do not know how things like that work so I do not know if they reflect reading from the 9 pins on the D-sub 9 connector.
As for your BTW question: no, I don't need to record all of the sensor values. I suppose that the Out value on the Read component will always reflect the most current value and that's all that I need to get on with life. In the end, the idea is that we have 4 load cells in the 4 corners of a plate onto which a vertical pipe is fixed. Loads are then put on the top end of the pipe and we'll have to visualize both direction and magnitude of the bending moment that is calculated from the compression - tension readings from the load cells... We've done this on a scaled model and streamed load cell information into MatLab. Now we'll have to use a different datalogger and I was hoping to be able to do the post processing in Rhino.
wim…
new components, and the Firefly Firmata has changed since the 1.003 version. However, the problem still exists in that there is not a super smooth workflow for integrating Steppers with Firefly (yet)... but it's not impossible. There is a post on the Firefly website that has some instructions on how to drive a stepper motor using the Generic Serial Write component and the Easy Stepper Driver. You can find a link here for more information: http://www.fireflyexperiments.com/discussions/post/1438445
It's quite possible that if you already have a sketch that is working using a set Arduino variable (say 100, which makes the servo move to 180 degrees) that you're very close to getting it to work with Firefly. You'll want to use the Generic Serial Write component (instead of the Uno Write component... as the Uno Write component has been setup specifically for use with the Firefly Firmata... and you'll be using you're custom script). You'll likely need to modify your Arduino script in some small way to read in the serial information being sent over from Grasshopper. Basically, in Grasshopper, you'll first need to open the port (using the Open/Close Port component). Make sure the baud rate matches the speed that you use in your Arduino sketch (and that the port number matches your board number). Then, on the Generic Write component, you'll set the port number (same as the COM number in the Open/Close Port component) and set the start input to True. Then, all you need to do is connect some data to send over the serial port... If you wanted to send a numeric value (like 100), then just connect an integer slider. As I said, you need to modify your Arduino code so that it knows how to read in the data from Grasshopper and then what to do with that data. Without seeing you're code, it's hard to tell you exactly how to do this... But, perhaps if you upload a file (or send us a file at info[at]fireflyexperiments.com) then we can help you get your file modified so it will work. Once that's done, it should be really straight forward to drive a stepper through Firefly.
HTH,
Andy
PS, integrating steppers into the Firefly firmata is on my wishlist of things to implement into Firefly very soon. Thank you again for bringing it up.…
at sky type you choose. See images below.
A Tregenza sky discretizes the skydome into 145 patches to simplify the calculation process. This skydome approximates the smoother Perez sky shown below. Both the Tregenza 145-patch sky and the Perez sky use climate data to create realistic skies that react to hourly solar and weather data. So there may be some differences between the two runs. Also, every unique run will have some error based on how the calc process works and what your presets are.
Tregenza 145-patch sky-…
oller, the internet and beyond. This release adds a few new components the toolbar, including the new Ports Available component which polls your device manager and returns the COM number assigned to Arduino board, as well as a new Wave component. We're also excited to release the new reacTIVision component, which enables real-time camera tracking of fiducial markers. If you're new to reacTIVision, take a look at their website and download their engine (and printable fiducial markers) for free: http://reactivision.sourceforge.net/. We've also improved the efficiency of several of the existing components and updated everything for the latest Arduino UNO board.
In addition, we have also released an update to the Firefly Primer - a manual which provides an in-depth look at each individual component and walks you through the entire process of using this powerful new tool (from installation to final output). It also includes some basic tutorials, links and references to get you up and running quickly.
This build requires Rhino 4.0 SR8 (or Rhino 5.0 beta) and Grasshopper 0.8. The installation for this build has changed slightly from previous versions (given the new special roaming folder created for Grasshopper 0.8) and the fact that the reacTIVision component requires the installation (copy/paste) of an additional library (libTUIO.dll). The installation instructions can be found here and should be easy to follow if you are familiar with the Grasshopper interface.
To download the latest build, check out our website at: www.fireflyexperiments.com
As always, we'd love to hear your feedback so feel free to contact us as: info@fireflyexperiments.com Or sign up for our mailing list and find out about all the new Firefly features and events.…
rth. Current components include:
Format_GPS: Takes NMEA Formatted GPS Latitude and Longitude values and converts them to Decimal Degrees. Will add further converters.
GPS->XYZ: Maps Longitude, Latitude, and Altitude to XYZ.
XYZ->GPS: Maps XYZ to Longitude, Latitude, and Altitude.
KML_Export: Exports imported geometry to KML format. Currently implemented for points, curves, and meshes. Any Breps should be meshed before. Will be adding conditions for other geometry as well as render styles.
Look forward to a WIP release next week.
…
s not matching the behavior I experience when I call the methods via the com interface outside of Rhino. Specifically, the OpenDocument method causes a "Grasshopper display error".
(Error Message)
(Resulting Canvas)
I know I am not initializing the GUI correctly but not sure where to go. I can dig deeper into the SDK (ie all the way to GH_DocumentIO.Open()) but honestly much of what I want to do is exposed in GH_RhinoScriptInterface.
My code right now is as follows:
protected override Result RunCommand(RhinoDoc doc, RunMode mode) {bool flag1 = false;bool flag2 = false;
flag1 = Grasshopper.Plugin.Commands.Run_Grasshopper();
Grasshopper.Plugin.GH_RhinoScriptInterface GH_Rhscript = new Grasshopper.Plugin.GH_RhinoScriptInterface();
flag2 = RScript.OpenDocument(@"C:\Temp\Grasshopper\Fins.gh"); //fail
return Result.Success; }
I have also tried:
var GH_DocEditor = new Grasshopper.GUI.GH_DocumentEditor();GH_DocEditor = Instances.DocumentEditor;
flag2 = Instances.DocumentEditor.ScriptAccess_OpenDocument(@"C:\Temp\Grasshopper\Fins.gh"); //fail
The SDK docs says "You are unlikely to need any of this." so here I am.
…