make quad mesh usable with Kangaroo and with limited inputs parameters in order to simulate funicular structures like "Vaulted Willow" or "Pleated Inflation" from Marc Fornes and the Verymany.
Here is a first attempt script.
As inputs there are :
Lines_in, just lines, no duplicates, on XY plane could have Z values, but the algorithm works on a , on XY plane could have Z values, but the algorithm works on a flat representation.
Tolerance is used to glue lines when points are closer than tolerance
Width is the half width of the “roads” going through the network
Angle is the shape of the ends of the roads, 0° means flat end, 180° a totally rounded end
Deviation is the shift generating spikes or enabling to generate pleated geometry
N_u is the number of subdivision along the “roads”, image above with 3 subdivisions on the roads
N_u is the number of subdivision across the “roads”
Zbool if false everything is flat, if true the mesh is in 3d, best with angle = 180° or -180°
For the outputs there is the topology of the network (like Sandbox)
As outputs geometry are put on datatree, each branch represent a path on the road, above 3 paths, which are brep output.
Adding a diagonal there are now 4 paths so 4 branches
The mesh M goes with F which are fixed points, anchor in Kangaroo.
U and V are lines in datatree, there will be used as spring in Kangaroo, U above
This script could be used to draw sort of roads, like in here https://codequotidien.wordpress.com/2013/03/22/hemfunction/
But the primary purpose is to do that.
…
a and the Middle East through its affiliate offices, is pleased to announce that the first official Rhino workshop “Digital Obsession-Advances in Architectural Geometry” will take place in Damascus – Syria on September 24th – 28th 2011.
The workshop will cover Rhino Level I – NURBS Modeling-Basic. In this class participants will learn how to create and edit accurate free form 3D NURBS models.
This fast-moving class covers most of Rhino’s functionality, including the most advanced surfacing commands.
At the end of the workshop each participant will receive an official certificate of participation from McNeel Europe (Barcelona – Spain) and MAG LAB.
The event will be the key event of the year for discussing, learning and networking about the emerging practice of digital parametric.
The event will come in three parts: Workshop1 Rhino – Level I – Basic Workshop2 Rhino – Level II – Basic scripting Workshop3 Rhino – Advanced Level – Scripting and Grasshopper These events follow the highly successful previous workshops, Spain 2008-2009, Italy 2010, Syria 2009-2010-2011 and multiple preceding events.
These workshops will be as preliminary phase of Ephemeral Art Connection Workshop |middle east edition| which will take place in Syria 2011.
The Workshop application is online and close on July 3rd 2011, provides a unique opportunity to work with the most established expert software in the world on digital parametric design.
The most successful Workshop attendees will have their work shown at the AIU 2010 Conference and workshops, will also have an opportunity to attend next workshops held by MAG LAB where top architects, engineers and educators will participate.
…
Added by Aref Maksoud at 1:53am on September 15, 2011
, presso la sede Manens-Tifs, nei giorni 26,27 e 28 maggio 2016.
Il comfort visivo e la gestione dell’illuminazione naturale in relazione al risparmio energetico diventano sempre più rilevanti per una progettazione innovativa degli edifici. Ad esempio, il nuovo protocollo LEED 4 riconosce crediti per le simulazioni di daylighting e conferma l’importanza degli aspetti progettuali per “collegare gli occupanti con lo spazio esterno, rinforzare i ritmi circadiani, ridurre i consumi di energia elettrica per l’illuminazione artificiale con l’introduzione della luce naturale negli spazi”. Senza strumenti software per la simulazione della luce non è possibile ottenere risultati di qualità. Radiance è un software validato, utilizzato sia a livello di ricerca che dai progettisti ed è tra i più accurati per la simulazione professionale della luce naturale e artificiale. Non ha limiti di complessità geometrica ed è adatto a essere integrato in altri software di calcolo e interfacce grafiche. Queste ultime facilitano le procedure di programmazione. Le principali e più versatili saranno oggetto del corso (DIVA4Rhino e Ladybug+ Honeybee, plug-in per Grasshopper e Rhinoceros 3D).
Il corso è rivolto a progettisti e ricercatori che vogliano acquisire strumenti pratici per la simulazione con Radiance al fine di mettere a punto e verificare le soluzioni più adatte alle proprie esigenze. Sono previste lezioni di teoria e pratica con esempi ed esercitazioni volte a coprire in modo dimostrativo ed interattivo i concetti trattati.
Le domande di iscrizione devono essere presentate entro il 12 maggio 2016.
La brochure con i contenuti del corso e tutte le informazioni sono disponibili su questo link
Il corso è sponsorizzato da Pellinindustrie.…
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
d to taken into account for the clipping box), and polylines and circles on the camera near-plane (i.e. they don't matter for the clipping).
I'm just populating a bunch of lists with brep vertices. If the vertex has a z>0.0 then a large circle is drawn, otherwise a small circle is drawn.
+ Your code has a lot of class level variables. Sometimes you need that, but in this case many of them can be converted to local variables and function arguments.
+ You're overriding DrawViewportMeshes, but you're drawing wires in that method. You'll get a better result if you draw wires and points and text in DrawViewportWires instead.
+ You call this:
owner.ExpireSolution(true);
owner.OnPingDocument();
at the end of DrawViewportMeshes(). That's a big no-no. You didn't change the solution with your preview drawing so there's no need to start another solution. This is probably what's causing the bad performance and flickering in your code.
OnPingDocument() is only useful to call if you do something with the return value, there's no point in calling it just like that.
+ You seem to be using camera location and camera direction as a shorthand for figuring out projective geometry. This is insufficient. The transformation of world XYZ points to screen XY points is a 4x4 matrix which cannot be represented solely by as point and a vector. You should use the methods on the Viewport class for mapping points from world to screen. These methods work no matter what the projection is (parallel, perspective, two-point perspective...)
+ Your variable and function naming is not very helpful. Although I applaud the verbosity in your naming and you do a good job of using verbs in your method names, you can still make your code more readable by using different casing patterns. The .NET style guides recommend using lowercase names for variables with uppercase for secondary words (radius, circleRadius, offset, offsetDistance) and uppercasing the first letter of every word in methods (GetRadius, ComputeRadius, OffsetRadius). Although it is not recommended by Microsoft, I prefer to prefix all class level variables with an underbar.
Hope this helps,
David
…
Added by David Rutten at 4:42am on September 6, 2014
bounding box volume and not part so I'll follow your advice. Magics 3D Nesting function does a beautiful at job. :)
For the more complex designs I've also made a Snap-off tab with a reference number.
My original though was to use carbon fibre rods, I assumed they'd be too expensive but I'll take a good look.
I can't seems to spot the fix but I'm guessing it's hidden somewhere in the C# component?
Peter, thanks you very much!
…
ut it locking up again.
I'm told we have to wait for Grasshopper 2 wed to Rhino 6, in months or years from now since Grasshopper isn't multithreaded. It does look for the escape key but not reliably at all.
Here is a response from the developer to my same sort of question:
http://www.grasshopper3d.com/forum/topics/emergency-top-for-solutio...
David Rutten: "if it was doable, I'd do it, but Grasshopper runs on the main UI thread which means that no key presses come through until the process is done. Right now I check for escape key state (circumventing the key-press events) at certain points during the solution, but the more I check the more I slow down the solution, and there are large areas where I can't check because it's not my code that is taking up all the processor power in the UI thread."
I solved my own problem in that case by leaving the solver disabled in the menu and then invoking it manually as a recompute menu command that works once anyway. That won't help you with a rogue script though, but will let you set things up without Grasshopper recalculating each change.
With the solver disabled, when you have to manually invoke a recompute, that necessary action can help remind you to save first.
I tried assigning the Rhino command GrasshopperUnloadPlugin to F4 in Rhino settings but in the test case of populating a box with 1000000 random points (Vector > Populate 3D), the freeze up cannot be ignored as you access Rhino, which remains grayed out as a program even when you highlight its window, and nor can you get any Grasshopper command-S in while its running forever. That's only the equivalent of 100X100X100 points yet it still locks up Rhino so long. Thinking in this very simple case clarifies things, since it it won't let go then complex scripts may have some better chance but really the problem is in the system itself.
At least the Rhino close box works, so you don't need the Windows Task Manager :-).
There are also autosave options in Grasshopper preferences that creates an autorecovery file for the next time you open the same document.…
f points and make the T thingy out of them... divide any open/closed surface/brep (== holes + trimmed boundary) and play ball with these points instead). Obviously further controlling the "nodes" (with any imaginable way is easily doable: for instance random this, random that and the likes).
Variable node system: This means that having in mind your limitations you FIRST design a "system" that can fulfill your goals AND THEN you place components of that into the 3d space (as nested instance definitions) using plane to plane (kinda like the orient component) transformations. Either we must Skype ... or forget it (only doable via code). Affects solely real-life cases and requires some decent feature driven MCAD (I use CATIA and Siemens NX for these). It's not nuclear science but requires a vast experience in order to achieve some optimum system having in mind the hideous cost of bespoke SS 316 L (corrosion) parts.For the cable tensioners use top quality stuff the likes of Norsman
Variants et all: This means an ability to store some "ideas" (i.e. results, so to speak) of yours during your assault VS T trusses. It has to do with volatile and persistent data and other ominous things. Either we must Skype ... or forget it (only doable via code).
In general ... well ... GH can do things that you barely can imagine (good news) but most of them require code.…
eems very simple to me but creating a definition seems very complex.
So far, your description of any algorithm sounds naive and simplistic, like you've never done any programming? Even with constraints such as those imposed by some manually defined vertices, there would seem to be an infinite number of solutions.
The GH model I've created so far duplicates the four polygons in your .pdf with specific controls for each point/vertex. Adding or removing points requires re-wiring of the GH code. It's not exactly simple and contains no automated "solver" to re-arrange points.
I see a way forward like this:
Manually arrange points for all four polygons as I have done, noting that front and back faces predetermine some of the points used by the left and right polygons.
Pick ONE POINT/VERTEX each on the front and back polygons to be moved by a "solver" to achieve a target percentage, perhaps moving in only one direction (horizontal or vertical, not both).
Then pick ONE POINT/VERTEX each on the left and right polygons for a "solver" to move, avoiding the fixed points defined by front and back; in fact, my GH model has no manual controls for those points. This point on the left and right polygons might be one of the "floater" points (one on the left, four on the right) or an edge point (three on the left, two on the right).
Front and back polygons must be defined and "solved" first, before solving the left and right.
My method for creating top and bottom surfaces consists of manually edited sequences of point numbers (indexes) to create triangular sections. It adapts to polygon changes but I'm curious if there is another way to do that?
The attached Rhino file has the top and bottom edges of the joined polygons on 'Layer 03', in blue. I used 'Disc (Discontinuity)' to get the points I used to make the triangles:
The top and bottom surfaces are on 'Layer 04', in yellow:
Can anyone suggest a method for creating the yellow surfaces from the blue lines without manually editing point sequence lists?…