he Cordyceps. Maybe some of you find this helpful/useful.
So basically, the Cordyceps is a physical module with 4 knobs and 1 slider. The knobs give an output between 1 and 1000, while the physical slider outputs 0-359. And of course, for this physical module I wrote a plugin to communicate with it. The knobs are intended to be the variables that modifies the design, while the physical slider is intended to be connected to the camera component.
Here I will put up "the recipe" for all to make their own module. You will be able to download the plugin as well.
Please send me a message if you want the 3D-files for the knobs, the box and slider knob. They've been made to directly 3D-print.
Plugin:
https://github.com/zakadjeb/Cordyceps/blob/master/Cordyceps/Cordyce...
Code for Arduino IDE:
https://github.com/zakadjeb/Cordyceps/blob/master/Arduino/_Arduino_...
What you need:
1x - Arduino (Leonardo, UNO or whatever)
4x - Potentiometers
1x - Sliding potentiometer
1x - Breadboard
Bundle of jump wires.
1. So, a potentiometer is a variable resistor, which is basically a component that changes the resistance between the voltage and the ground.
If A is supplied with 5V then B must be connected to Ground. The W will give "read" the resistance, and thus should be placed in Analog input (A0-A5) on the Arduino. The slider potentiometer works the same way.
2. Now connect the 4 pots to each their Analog input. The slider is supposed to be in A4. So to make sure:
A0: Knob1
A1: Knob2
A2: Knob3
A3: Knob4
A4: Slider
3. Now it's time to connect the voltage! Using the breadboard, the voltage can be sent through 1 line, the Ground as well. It should be quite easy to connect them.
4. Now, download the Arduino IDE and copy-paste the code I supplied above. In the IDE, you need to let it know which Arduino you're working with, and which port is should send the script.
5. Almost there. Download the plugin. Open the port you're using through the plugin. Set Start to True and the Cordyceps should be within you.
This recipe will be updated!
Let me know if there are any issues.
// Zakaria Djebbara…
he Cordyceps. Maybe some of you find this helpful/useful.
So basically, the Cordyceps is a physical module with 4 knobs and 1 slider. The knobs give an output between 1 and 1000, while the physical slider outputs 0-359. And of course, for this physical module I wrote a plugin to communicate with it. The knobs are intended to be the variables that modifies the design, while the physical slider is intended to be connected to the camera component.
Here I will put up "the recipe" for all to make their own module. You will be able to download the plugin as well.
Please send me a message if you want the 3D-files for the knobs, the box and slider knob. They've been made to directly 3D-print.
Plugin:
https://github.com/zakadjeb/Cordyceps/blob/master/Cordyceps/Cordyce...
Code for Arduino IDE:
https://github.com/zakadjeb/Cordyceps/blob/master/Arduino/_Arduino_...
What you need:
1x - Arduino (Leonardo, UNO or whatever)
4x - Potentiometers
1x - Sliding potentiometer
1x - Breadboard
Bundle of jump wires.
1. So, a potentiometer is a variable resistor, which is basically a component that changes the resistance between the voltage and the ground.
If A is supplied with 5V then B must be connected to Ground. The W will give "read" the resistance, and thus should be placed in Analog input (A0-A5) on the Arduino. The slider potentiometer works the same way.
2. Now connect the 4 pots to each their Analog input. The slider is supposed to be in A4. So to make sure:
A0: Knob1
A1: Knob2
A2: Knob3
A3: Knob4
A4: Slider
3. Now it's time to connect the voltage! Using the breadboard, the voltage can be sent through 1 line, the Ground as well. It should be quite easy to connect them.
4. Now, download the Arduino IDE and copy-paste the code I supplied above. In the IDE, you need to let it know which Arduino you're working with, and which port is should send the script.
5. Almost there. Download the plugin. Open the port you're using through the plugin. Set Start to True and the Cordyceps should be within you.
This recipe will be updated!
Let me know if there are any issues.
// Zakaria Djebbara…
new component "OSM 3D roof"):
2) Simplified 3D roads can be created by using the network of OSM polylines (through new component "OSM 3D road"):
3) 3D forest.Up until now, Gismo supported generating a single 3d tree whenever such tree was present in openstreetmap.org database. Now it is possible to generate 3d trees in forest areas, by randomly positioning the 3d trees (through new component "OSM 3D forest"):
4) Boolean 3d shapes.Gismo's "OSM 3D" component generates shapes as parts: for example, if a building has irregular shapes across its height, they will all be created individually. Trying to merge them with Grasshopper's "Solid Union" component can sometimes fail.New Gismo "Rhino Boolean Union" components tries to overcome this issue by using a much better Rhino version of this command.
5) Library of common GIS color palettes (gradients).A single component containing 22 of the common color palettes used in GIS applications as ArcGIS and QGIS. For example: elevation, aspect, precipitation...
6) Url to location.Thanks to idea by Alex Ng, it is possible to extract location from a link of the following map websites: Openstreetmap, google maps, bing maps, wego.here, waze:
Version 0.0.3 can be downloaded from here:
https://github.com/stgeorges/gismo/zipball/master
Example files from here:
https://github.com/stgeorges/gismo/tree/master/examples
New suggestions, testing and bug reports are welcome!!…
Added by djordje to Gismo at 1:39am on January 29, 2019
th the most crucial and imposing challenges that Mexico City faces and the ways in which architecture and urbanism can shape the metropolis at different scales. In these sense the progamme sees the city as a laboratory where the virtual and experimental tradition of the Architectural Association finds a fertile and concrete ground for the application of its methodology in Mexico.
“Manufactured Landscapes/Manufactured Urbanities” explores the metropolitan condition understood as a manufactured process by and for human beings. Henceforth the traditional opposing concepts, artificial vs nature, are replaced under the premise, nature does not exist, where nature is not natural but naturalised and the artificial is not an external or impose construct but manufactured intrinsically.
With this as a starting point the programme will study 2 instances of Mexico City’s “Manufactured Landscapes/Manufactured Urbanities”: The ravines in the west of Mexico City, last bastion of the existing “Nature” and its crucial role in the viability of Mexico City and social housing, as the fundamental construct of the “artificial” habitat in the metropolis´s urban tissue. These “Manufactured Landscapes/Manufactured Urbanities” and the ways in which they are designed, produced, reinvented regenerated, show a vast spectrum representative of the crucial urban conditions to be address and therefore they posed an enormous urban and architectonic challenge to confront in order to apply contemporary design methodologies.
To tackle the complexities of the “Manufactured Landscapes/Manufactured Urbanities”, the programme will immerse students and staff in a 10 day intensive workshop within a multidisciplinary environment where national and international experts from various fields will enrich their proposals. Students will work in architecture and/or urban scale teams and will critically assess the impact of their multiple scales interventions.
A backbone of lectures, talks and seminars, including local and international speakers, are designed to broaden and reflect the relevance and the importance of the topic for Mexico City. Finally a public exhibition of student’s work will be held at Centro Cultural de España in autumn 2013.
…
w number. If the script is slow you can also double click a number slider to access a panel that lets you slide a value without invoking a recalculation.
You don't need most of the inputs, which are for controlling the transition to the borders of open meshes. No, there's no manual beyond right-click help.
FixC and FixV are to fix and thus retain open borders, mostly, or sharp creases and there is art in them, meaning tricks you just have to blunder into or search for.
Flip is an alternative remeshing strategy worth changing from 0 to 1 to see the effect.
MeshMachine is only giving a nice even curvature-adaptive (Adapt setting 0.8 or so is more reliable than 1) mesh, merely, not thickening mesh wires into struts.
The struts are currently individual capped mesh cylinders. You could also use very slow nurbs cylinders. They may or may more likely not successfully Boolean union together in Rhino. Their diameter is set in the Mesh Pipe component.
There are other plug-ins for thickening the wires of a mesh. Exoskeleton, Intralattice and my favorite, somewhat tweaky Cocoon marching cubes which is however very robust, and I sometimes run the overly fine mesh result into MeshMachine to make it regular and adaptive, since the Cocoon refine component is hard to control. I mostly enter 1s into most inputs though.
If you turn on menu item Display > Canvas Widgets > Profiler and zoom in close enough to the canvas, you'll see timer readouts for how long each component took for a solution, so I can see that the pipes are the slow part, so I'd normally right click disable the chain early on, and right click turn on preview for the earlier mesh step before I make the pipes. The MeshMachine step takes only 2 seconds, and that's with Iter (internal iterations) at 10 instead of a workable 5.
Also turn on Display > Preview Mesh Edges to see the actual MeshMachine mesh.
…
ld see were the set of basic tutorials. I've run through a few other folk's video tutorials also.
The test case I chose, I picked because it is a super simplification of an actual space I'm trying to model (a large school sports complex - see below). Ive modelled it as a closed volume, with a few solid objects inside it, and it is a much less box-shaped space, with a ceiling that is not flat, and a significant lattice of acoustic panelling that encloses the roof trusses.
the volume of this space is around 50000 cubic metres, which if I followed the guidelines o0f 50-100 rays per cubic metre, would be 2.5 - 5 million rays. I ran a simulation on the test simplified box space with 100k rays, which took about 2 hours running on a macbook pro booted into windows. Perhaps I need to find a much more serious machine to run this on. would it be a reasonable assumption to think that as more rays are added, the results would converge on a particular solution? if so, if you had to take a guess, how many rays/m3 would be required to get a solid estimate of reverb time +/- 0.1s?
I don't mean to imply that Pachyderm isnt up to scratch - simply that I'm trying to find some way of determining whether a given set of simulation parameters are going to give a result that will be enough to make decisions about surface materials and treatments that will be required. I tried a bunch of different methods and simulation parameters to see if they were even remotely similar, and unsurprisingly, they werent. I'm not an acoustic engineer, I'm an architect who has studied some acoustics in addition to my regular subjects. I know enough to be dangerous, but I'm trying to convert that into enough to be useful. :). I'm totally open to any advice anyone might offer.
One last thing, could you confirm that the T-30 parameter is T-30 (and so needs to be doubled to get RT60)
Thanks for responding,
Ben
…
t'd be great.
I am trying in Rhino 5 and would like to understand where to get the documentation and get the feel for the differences.
Also, do you write such scripts directly in the component? Or elsewhere? How can one debug them?
Thank you for your help.
Option ExplicitCall Main()Sub Main() Dim arrObjects, arrMP, i Dim offsetSize offsetSize = 1 arrObjects = Rhino.GetObjects("Select curves to offset") If IsArray(arrObjects) Then For i = 0 To UBound(arrObjects) arrMP = Rhino.CurveAreaCentroid(arrObjects(i)) If IsArray(arrMP) Then Dim arrNewobject, strGroup, grpName arrNewobject = Rhino.OffsetCurve(arrObjects(i), arrMP(0), offsetSize, ,2) Rhino.AddLayer("offset") Rhino.ObjectLayer arrObjects(i),"offset" Rhino.ObjectLayer arrNewobject,"offset" strGroup = Rhino.AddGroup Rhino.AddObjectsToGroup arrObjects(i), strGroup Rhino.AddObjectsToGroup arrNewobject, strGroup End If Next End If End Sub
…
ask for some help and I sent the def to someone who tested the def out and made it work and send it right back to me and I got the same error I realized something wasnt right.
here some images of what the def does
Flat hexagonal panels over a given surface.
I get errors with the sliders and the VB script. Original script by Luis Fraguada from LAN then Davide del Giudice/ from madeincalifornia Checked out the definition because I have almost no knowledge with scripting and he made it work and sent those images back to me and this definition fixed, wich doesnt work on my computer and here some images of the problem.
and here some images of the problem.
…
three categories, each one corresponding to different shapeType_ input:- polygons (shapeType_ = 0): anything consisted of closed polygons: buildings, grass areas, forests, lakes, etc
- polylines (shapeType_ = 1): non closed polylines as: streets, roads, highways, rivers, canals, train tracks ...- points (shapeType_ = 2): any point features, like: Trees, building entrances, benches, junctions between roads... Store locations: restaurants, bars, pharmacies, post offices...
So basically when you ran the "OSM shapes" component with the shapeType_ = 2, you will get a lot of points. If you would like to get only 3d trees, you run the "OSM 3D" component and it will create 3d trees from only those points which are in fact trees. You can also check which points are trees by looking at the exact location on openstreetmap.org. For example:
Or use the "OSM Search" component which will identify all trees among the points, regardless of whether 3d trees can be created or not.However, when it comes to 3d trees there is a catch:
Sometimes the geometry which Gismo streams from OpenStreetMap.org does not contain a "height" key. Or it does contain it but the value for that key is missing.OpenStreetMap is free editable map database, so anyone with internet access and free registered account on openstreetmap.org can add features (like trees) to the map database. However, regular people sometimes do not have height measuring devices which are needed for specific objects as trees.So "OSM 3D" component will generate 3d trees from only those tree points which contain a valid "height" key.However, a small workaround is to input a domain(range) into the randomHeightRange_ input of "OSM 3D" component (for example the following one: "5 to 10"):
This will result in creation of other 3d trees which do not have defined height, by randomizing their height. randomHeightRange_ input can also be applied to 3d buildings, and it is definitively something I need to write a separate article on.
In the end it may be that nobody mapped the trees in the area you are looking for.
After you map a tree to openstreetmap.org then it will instantly be available to you or any other user of Gismo. I will be adding some tutorials in the future on how this can be done. But probably not in the next couple of weeks.
Let me know if any of this helps, or if I completely misunderstood your issue.…
Added by djordje to Gismo at 3:52am on February 8, 2017
y interesting and smart way to construct surface. I tried some experiments out using a similar idea - take a developable surface which has a series of holes cut through it now offset that surface and unroll both of them, once both have been cut out insert a dowel into the holes (the dowel represents the offset distance). In the end the shape is recreated via tension and in that way there are some similarities. With your concept the thing I have trouble figuring out is how do you cut the variable angle kerfs. Are you using a 5-axis swarf cut, a cnc panel saw - how do you control this? It would be great to have a set of constraints which limit the number of possible angled cuts - these limits would equal the number of v-groove bits you have in the cnc - and then you could just cut the lines with the programmed tool which matches the given angle. Or maybe I am completely wrong, now I think I am wrong, about the execution and you are only changing the gap between each kerf and the angle of the side wall stays constant.
Anyway to answer your question catia can analyze the characteristics of a piece of formed material (this analysis is usually applied to sheet metal and to design forming tools)it's just a matter or defining the material to match that which you are using. Another possibility although not as numerically clear is using a simulation tool like Maya cloth or Virtools. I know this maybe less likely but you can define all sorts of materials in Maya and then simulate their behavior under numerous forces and constraints. I think it would work it's just how do you extrapolate the values Maya needs and then correlate them back into the cloth parameters. Once it yields the final formed mesh then further analysis could be performed in cosmos, ansys, or catia.
I have one other suggestion. In solidworks if you perform a lofted bend on a sheet metal part and then generate a flat pattern it creates a large set of bend lines representing how to perform the bending of an unusual shape using a metal brake. It seems like those bend lines could be machined with you technique to create lofted forms instead of extrusions.
What materials seem to work best so far, have you only been using wood (the purple stuff is probably not wood)?
If you are ever in Los Angeles I have a shop with a 3 axis and 5 axis router, a large vacuum bag, and all the other things to experiment on this and would be open to this.…