diverse group of design participants from afar for a full schedule of exchanges with leading practitioners, practices, fabrication labs… all while exposed to European transit infrastructure... trains planes & even a few mountain roads. LaN FLIGHT EUROPE marks LaN's fifth initiative on-the-fly & our first in EUROPE. JOIN us for the full trip or the leg that suits your interests. LaN is looking to attract a geographically diverse group of students & professionals with various design backgrounds. LaN FLIGHT 2012 EU is co-piloted by LaN Monika Wittig & Co-de-iT Andrea Graziano. LaN FLIGHT is looking for highly ambitious-adaptable-endurance oriented participants to fully embrace the nature of this curated experience. Please take a look at our 3 previous editions to best judge if this type of experience suits you. If you are willing to allot 8 days of your life to this pursuit and have no allergies to extreme mobility & group dynamics… welcome to LaN FLIGHT.…
mport the geometry again.
Right?
How about this? I add an extra object called something like "Geometry Cache". You have to give it a unique name. If you plug geometry data into the left side of this component, it will bake all that geometry and attach UserStrings to all those objects like "<name>: {0;0;3}(8)" where <name> would be your name and the rest is the exact location of that piece of geometry in a DataTree. It should probably also delete any objects already in the 3dm file that have that custom name/data assigned to them.
If you don't plug any wires into the left side, it will instead search the 3dm file for all geometry with the appropriate user data, load them into a correct DataTree and supply that data to whoever plugs into the right side.
If you plug wires in both ends, it will just function as a generic Geometry Parameter.
It might be tricky to write a good event handler for this thing, maybe I'll just restrict myself to an UPDATE NOW! button on the object itself, so you can trigger an update manually.
ps. benefit of this approach is that everyone can create and harvest geometry with such user text, whether they use Grasshopper or not.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
me)
And got the same result as you did. Suddenly the definition started working. Although I got this error message when I opened the compression tension null.gh file:
Message log start (chronological): --------------------------------------------------------------------------------Plugin version: 0.8.0066 Input parameter chunk is missing. Archive is corrupt. Output parameter chunk is missing. Archive is corrupt. Output parameter chunk is missing. Archive is corrupt. Output parameter chunk is missing. Archive is corrupt.
Why is that?
Can I dare to ask you few more questions?
2) I want all of my members to be made of solid (not hollow) circular cross-sections.
Does that mean that my diameter and thickness need to have the same values? Like this:
?
3) I have wind load from 8 directions. Is there a way in Karamba to create load groups and choose the one with the most extreme values (group that will be used as the most relevant one for dimensioning)?
Thank you.…
are just the 8 cases, so you're actually doing it right here (scroll down on this page, and you'll see a separate subset all about marching tetrahedrons http://paulbourke.net/geometry/polygonise/). The benefit to using marching tetrahedrons is exactly this: that the number of possible "cuts" through the tetrahedron are dramatically smaller in number than those through a cube.
However, I have found that also what you're seeing that the linear interpolation creates some odd distortions (which is why I went ahead and later did the marching cubes implementation). Some of this comes from the density of the sampling grid: the more dense, the fewer distortions.
What I would suggest, if you want a (relatively) quick way to improve this outcome:
1) build up a full mesh rather that bunch of surfaces, and use Rhinocommon to combine identical vertices, and rebuild the vertex normals
2) run a couple rounds of laplacian smoothing on the mesh to better distribute your vertices (for each vertex, make it equal in location to the average of its neighbours)
3) create a line normal to each vertex roughly the length of your sampling grid and test the endpoints of it against your scalar field formula, and then do one final linear interpolation between those two points for your vertex.
This should give you a smoother mesh for sure.
But good work getting this far! …
Added by David Stasiuk at 1:37am on February 6, 2015
I kept adding new text every day until now... and now I have to change almost all the text I did type but... it's made of curves!
So I was wondering if anyone has ever had similar problems solved by a gh definition
In case no-one has ever had similar troubles (I think you all here are smarter than me :P) how would you proceed to create a similar definition, given all the text has same dimension and font?
I would:
a) create a set with all the possible character-curve in that Font b) create an identical set with the same characters as type
c) compare this set with every given text-curve in the drawing (issue: the number 8 is made of 3 different curve .___. same as letter B... A has 2, as D, R, O, P, p and so on...)
d) list item from set 'b' using pattern I get from 'c'
e) evenctually -this is a moonshot in the moonshot- concatenate characters at 'd' based on proximity of different character-curves (to get "ABC" as a whole text, instead of "A" "B" and "C" as separate instances)
It sounds kind of challenging!
...maybe I'm better start re-writing text NOW as it could EASILY take me a couple of days to get things done... :)…
tions or components.
Participants will learn concepts of object oriented programming and essential syntax of C# to endeavour into personally extending cad toolsets. The workshop will focus on introducing the .NET language C# and the Software Development Kit (SDK) RhinoCommon.
Topics
- use of Script Component within Grasshopper
- explanation to the .NET Framework
- introduction to RhinoCommon SDK
- basics of imperative / object-oriented programming
- data types, operators, properties
- variables, arrays, lists, enumerations
- methods
- objects, classes
- control structures: conditional statements (if, else, switch)
- control structures: loops (for, foreach, while, do)
- walk-through iterative und recursive code-samples
- use of RhinoCommon Geometry class library: creation, sorting, editing of Geometry (Points, Vectors, Curves, Surfaces)
- adding (baking) geometry to the active Rhino 3DM Document, including attributes (Name, Layer, Colors etc.)
- introduction to the Integrated Development Environment MS Visual Studio Express Edition
- compiling code to dll/gha files (plug-ins) / making your own Grasshopper custom components
Grasshopper wird auf der .NET Softwareplattform entwickelt, und kann ebenso wie das CAD Programm Rhinoceros mit "RhinoCommon", einem Software Development Kit, erweitert werden.
Dieser Kurs richtet sich an Designer, Architekten, Ingenieure und Techniker, welche mit dem grafischen Algorithmus-Modellierer "Grasshopper3d" sowie dem CAD-Programm "Rhinoceros" bereits vertraut sind und einen Einstieg in die Programmierung von Geometrie erlernen möchten.
Der Kurs Grasshopper II folgende Grundlagen:
Kennenlernen der Script Componente
Erläuterung zum .NET Framework
Einführung in RhinoCommon SDK
Grundlagen d. imperativen / objektorientierten Programmierung
Datentypen, Operatoren, Eigenschaften
Variablen, Reihen, Listen, Aufzählungen
Methoden
Objekte und Klassen
Kontrollstrukturen: Bedingte Ausführung, Schleifen
praxisnahe iterative und rekursive Code-Beispiele für generatives Design unter Verwendung der RhinoCommon Geometrie Klassenbibiliothek - Punkt- und Vektorgeometrie erstellen, sortieren, bearbeiten, Flächen und Netze erstellen - Geometrie in das Rhino 3DM Dokument baken, einschließlich Attribute (Name, Layer, Color)
Einführung in die Entwicklungsumgebung MS Visual Studio Express Edition
Kompilieren von Programmerweiterungen (plug-ins) als Komponenten (custom components)
Details, Anmeldung:
www.vhs-stuttgart.de
Trainer Peter Mehrtens
Kursdauer: 3 Tage x 8 h
Freitag, 21.02.2014, 9:00-17:00 Uhr Samstag, 22.02.2014, 9:00-17:00 Uhr Sonntag, 23.02.2014, 9:00-17:00 Uhr Ort: VHS Stuttgart, Fritz-Elsas-Str. 46/48
Teilnahmegebühr 510,00 €…
s is like flattening your data PARTIALLY - chopping an index off the end of the branch paths without obliterating the tree entirely. When working with one "set" of input data, a flatten works to get these lists to match up - but when working with multiple sets, we need to be careful to preserve the original branch indices that keep all four of your original regions separate. As a rule, whenever you're feeding two data trees into any component, they should have the same number of branches. (or one should have branches and the other should be a flat list, in other cases).
The rule of thumb I tend to teach is this:
In 90% of cases...
For lists, all your inputs should either have 1 item or N items. That is to say, if you're feeding 4 items into one input and 9 items into another, something is probably wrong.
For trees, all your inputs should have either 1 branch or M branches. That is to say, if you're feeding a tree w/ branches {0;0} to {0;3} into one input, and a tree w branches {0;0;0} to {0;3;8} into the other input, something is probably wrong.
Grasshopper essentially matches up branches first, then lists second. By "matching" I mean it processes them together. Simple example of the Line component - it will match the first branch of points in the A input to the first branch of points in the B input, creating lines between those points, then match the second branches, the third branches, etc. THEN, it applies the same logic to the level of the list (with a pair of matched branches {0;2}, match all the items in those branches to each other - first item in one branch to the first item in the other branch, etc.)
This is a tricky concept but it seems like you're already well on your way to understanding it from your definition - "PShift" is a critical tool in your path management arsenal. I hope this (overly long) response helps clear things up for you!
…
e actual method.
Below, I descibe how they work:
1) drag "scheduleDay" onto the canvas
2) drag some Gene Pool lists onto the canvas and connect a number slider - from 0 to 3.
3) connect the Gene Pool list to _genePool input. The component change some important features of the Gene Pool list automatically. Now you have LB_GenePool!!
4) choose the template that it's suitable for you.
5) disconnect LB_GenePool and if templates are not good, you can change them manually
6) drag "Ladybug annual schedule" onto the canvas
7) Connect LB_GenePools to inputs for the days of the week, Epw file and if you want to "_holiday" (in this way you consider holidays). Now you have your simple schedule.
8) a small workflow to visualize it into Rhino..
9) Connect "Ladybug annual schedule" to "Honeybee_Create CSV Schedule" to make your csv Schedule
You could make a schedule more complex than the one in the example above.
You can do that with _analysisPeriod input.
Bests
Antonello…
s, the participants will focus on the key advantages of Grasshopper’s capabilities through a range of design challenges in order to aid designers in both their drafting tasks and modelling capabilities.
The workshop covers many concepts such as Object Attributes/Parameters, Data Types, Data Structures, and Designing with Algorithms. Specifically, this course will focus on understanding both Lists and Data Trees, as well as the best practices for integrating Grasshopper into your Professional Design Workflow. The workshop offers guided curriculum and continuous support, based on in-depth and professional learning experiences.
Workshop outcomes:Teach the participants how to:-
+ be proficient in parametric logics learning the key benefits of parametric techniques in architecture design workflow (when to use it & how to use it)+ Correctly communicate with different 3D and BIM packages in order to keep the geometry clean and light while preserving all NURBS information.+ Develop architecture design based on mathematical equations to create non-standard free form building skin.+ Create a pattern that changes dynamically based on specific inputs which can be applied over the building façade, interior walls or ceiling or even floor pattern.+ Automate and Optimize design variables to achieve the optimum solution for the design problem.
Program Outline:
DAY 1:-Introduction to Parametric Design -Introduction to Grasshopper & Rhino (technical tools).
DAY 2:-Exploring the parametric workflow. -Setup the design algorithm & generating a list of data.
DAY 3:-Introducing the new ways of generating parametric curves and surfaces.-Parametric form generation in-dept
DAY 4:-Introducing Data Tree logic and parametric transformations.-Creating Associative techniques – Attractors (points, curves and vectors).
DAY 5:-Working with advanced form generation with dynamic pattern.-Parametric optimization based on environmental analysis -featuring the Performance-Driven Design possibilities
DURATION:6 – 8 hours per day [50 - 60 hours Total]Every Saturday [9.00 Am : 1.00 Pm & 2.30 Pm : 6.00 Pm]
PREREQUISITES:No need of any specific knowledge of Rhinoceros or Grasshopper.
REGISTRATION:In order to register, you will need to fill the Registration Form .https://docs.google.com/forms/d/1PckdW1hrWs9fJAHWBZlVsuhH8K0PfDuMWIpXHT_4FYw/viewform
REGISTRATION DEADLINE:23th October 2014.…
Added by ayman wagdy at 7:48am on October 19, 2014
hops, design sessions & symposia across 5 cities in India. We encourage all architecture & design students and professionals to join us in this novel experimentation event and aid in 'Filling The Void'; Void in Architecture, Void in our Cities, Void in Education. REGISTRATIONS ARE OPEN NOW.
rat[LAB] Computational Design Tour - INDIA
Agenda // Filling The Void
1 country // 5 cities // 1 agenda // 100+ students // 25+ professionals // 5 exhibitions // 1 publication
Void is typically defined as null, invalid, empty or redundant and has a psychological perception of a ‘negative’. Through years of development in India, there has been an organic urban growth and inorganic architectural growth which has led to formation of voids in a physical and a metaphorical sense. There also exist voids as gaps between architecture, cities, education and technology. ‘Filling The Void’ looks at void as an opportunity, potential and a driver of change for architecture & design education in India.
// Cities & Dates*
Mumbai – 22nd June to 24th June 2015 (Monday to Wednesday)
Chennai - 29th June to 1st July 2015 (Monday to Wednesday)
Bengaluru – 3rd July to 5th July 2015 (Friday to Sunday)
Chandigarh - 16th July to 18th July 2015 (Thursday to Saturday)
New Delhi – 6th August to 8th August 2015 (Thursday to Saturday)
*Venue details are published on rat[LAB] website.
// Registration Dates
// Early-bird Registrations Open: 08 May 2015
// EXTENDED Early-bird registrations End: 05 June 2015
// General Registrations End: 15 June 2015 (Or till seats last)
…