e matching with a dedicated component which creates combinations of items. You can find the [Cross Reference] component in the Sets.List panel.
When Grasshopper iterates over lists of items, it will match the first item in list A with the first item in list B. Then the second item in list A with the second item in list B and so on and so forth. Sometimes however you want all items in list A to combine with all items in list B, the [Cross Reference] component allows you to do this.
Here we have two input lists {A,B,C} and {X,Y,Z}. Normally Grasshopper would iterate over these lists and only consider the combinations {A,X}, {B,Y} and {C,Z}. There are however six more combinations that are not typically considered, to wit: {A,Y}, {A,Z}, {B,X}, {B,Z}, {C,X} and {C,Y}. As you can see the output of the [Cross Reference] component is such that all nine permutations are indeed present.
We can denote the behaviour of data cross referencing using a table. The rows represent the first list of items, the columns the second. If we create all possible permutations, the table will have a dot in every single cell, as every cell represents a unique combination of two source list indices:
Sometimes however you don't want all possible permutations. Sometimes you wish to exclude certain areas because they would result in meaningless or invalid computations. A common exclusion principle is to ignore all cells that are on the diagonal of the table. The image above shows a 'holistic' matching, whereas the 'diagonal' option (available from the [Cross Reference] component menu) has gaps for {0,0}, {1,1}, {2,2} and {3,3}:
If we apply this to our {A,B,C}, {X,Y,Z} example, we should expect to not see the combinations for {A,X}, {B,Y} and {C,Z}:
The rule that is applied to 'diagonal' matching is: "Skip all permutations where all items have the same list index". 'Coincident' matching is the same as 'diagonal' matching in the case of two input lists which is why I won't show an example of it here (since we are only dealing with 2-list examples), but the rule is subtly different: "Skip all permutations where any two items have the same list index".
The four remaining matching algorithms are all variations on the same theme. 'Lower triangle' matching applies the rule: "Skip all permutations where the index of an item is less than the index of the item in the next list", resulting in an empty triangle but with items on the diagonal.
'Lower triangle (strict)' matching goes one step further and also eliminates the items on the diagonal:
'Upper Triangle' and 'Upper Triangle (strict)' are mirror images of the previous two algorithms, resulting in empty triangles on the other side of the diagonal line:
…
mmon.sdk ,but i herad its used in rhino5.
or example: the book grasshopper primer second edition ,page 98
i dont know what is the "doc.absolutetolerance" and where i can find about it....i dont kow it should be a class or a fuction,i tried to search the rhino4. net sdk,i cant find it ....maybe its my searching problem.
but according to the grasshopper primer, i indeed know many kind of Variables,many functions,basic structure, loops, and conditions,and what is onutil.xxxx and rhutil.xxxx.but i found all this imformation is not helpful enough to me when reading the examples downloaded from many disscussions.when i found a new variable or new funcion,i dont know where i can find the introduction about them,such as the upper coding:"doc.absolutetolerance".i tried to use the auto complete such as
dim xxxx as oncurve
xxxx. to find the class oncurve's funtions and variables ,but its too uneffcient.
-----------------------------------------------
And,i dont know the difference between the components vb script and dotnet vb script....
because i found when i type onutil. the auto complete has noting appear...and the variables declaring is not the same. in vb script dim xxxx as curve but in dotnet vb script its dim xxxx as oncurve,which is the same as the grasshopper primer teached me...but i guess.... the vb script component is just like the rhinoscript(not the same),and the dotnet vb script is more powerful than it. am i right?
------------------------------------------------
at last i dont know these.
Imports System Imports System.IO Imports System.Xml Imports System.Data Imports System.Drawing Imports System.Reflection Imports System.Collections Imports System.Windows.Forms Imports Microsoft.VisualBasic Imports System.Collections.Generic Imports System.Runtime.InteropServices
when i search google about them,the introduction about them is too professinal for me to understand......i just want to know what i can do by using them ...
-------------------------
sorry for disturbing you so much!!!
best regards!
yours truly
YUAN.T
…
latz in Trier stattfinden wird. digital matters ist eine Initiative des Fachbereichs Gestaltung der Fachhochschule Trier und wird organisiert von Prof. Holger Hoffmann, Prof. Franz Kluge, Prof. Klaus Klever und Prof. Hartmut Eckhardt.
Als Teil der INTERMEDIALE 09, die als ein neues Veranstaltungs- und Medienformat erstmalig 2005 vom Fachbereich Gestaltung der Fachhochschule Trier initiiert wurde, geht es bei digital matters um die Diskussion der fortschreitenden Digitalisierung der Konzeption und Produktion von Architektur. Zu dieser Diskussion soll das erste Symposium einen sehr fokussierten und konkreten Beitrag liefern.
Die Sprecher Johan Bettum, (Städelschule Frankfurt am Main), Georg Franck (TU Wien, iemar), Achim Menges, (Universität Stuttgart), Tobias Bonwetsch (Gramazio & Kohler, ETH Zürich), Tobias Wallisser, (L-A-V-A, Akademie für Bildende Kunst Stuttgart), Daniel Bosia (Arup AGU, London), Oliver Tessmann (Bollinger + Grohmann, Frankfurt am Main), Harald Kloft (OSD, TU Kaiserslautern), Arnold Walz (design to production, Stuttgart) und Martin Josst (Delugan Meissl Associated Architects) sind durch sowohl theoretische und akademische Arbeit als auch als praktizierende Architekten und Ingenieure ausgewiesene Spezialisten dieses Themenkomplexes.
Das Symposium richtet sich an alle, die einen vertieften Einblick in einen bestimmten architekturtheoretischen Diskurs und dessen immensen Einfluss auf die derzeitige Entwicklung der gebauten Architektur erhalten wollen.
Außerdem werden durch das Lehrgebiet Digitales Konstruieren, Prof. Holger Hoffmann, zwei Seminare zum digitalen Modellieren in Rhinoceros 4.0 vom 15.07.-17.07.2009 angeboten. Diese richten sich an praktizierende Architekten, Gestalter und Ingenieure, die einen einfachen Einstieg in den Umgang mit generativen Entwurfs- und Konstruktionsmethoden suchen, beziehungsweise vorhandenes Wissen vertiefen möchten.
digital matters wäre ohne die freundliche Unterstützung unserer Partner: der Fachhochschule Trier, dem Freundeskreis der FH Trier, der Multimediainitiative der Landesregierung Rheinland-Pfalz und dem Ziegel Zentrum Süd nicht möglich gewesen.…
laxation have been around much longer than any of the tools you mention, or indeed Rhino itself. A particularly well known one is Ken Brakke's Surface Evolver from over 20 years ago. Of the examples listed, some of them were inspirations when starting Kangaroo in 2009, and I've always tried to acknowledge those. (of course, surface relaxation is only one part of what Kangaroo is about)
I also was helped by conversations with many people, including Moritz as you mention, and especially yourself with the coding. Indeed the .Net class you ran back then for McNeel, as well as the other correspondence in your own time was really useful in getting started - thanks again!
As for mesh relaxation not being 'not so difficult', well - for sure there are many implementations of these things out there. Similarly there are dozens of examples of subdivision implementations (Andrew Heumann even showed you don't need to code anything, but can do it with standard grasshopper components), but let's not start being too dismissive of each other's work, hey ? Of course there's a lot more to making a flexible and useful tool than individual algorithms - making them part of a larger framework or system of tools makes a big difference.
Being the first to implement a particular existing algorithm on a particular platform maybe isn't as big a deal as inventing a new algorithm or technique. When other implementations of the same technique come along, we should just assess them on their merits. If the new tool owes something to previous contributions, then that needs to be acknowledged, and then if it improves in some way on what is already available then great. Even if it doesn't then it may still be useful as an exercise for the author or as an example of a different approach - though of course too much duplication of effort tackling already solved problems is a waste, and if there is no significant new contribution then it doesn't deserve to replace what is there.
If a new tool comes along that improves in some way on what we've done already (such as some of the topology tools available in Starling compared to what is in WeaverBird, or the material properties in Karamba compared to Kangaroo), then let's just learn from that and let it spur us on to greater things and improve even further!
So I'll look forward to using this and future versions of WeaverBird in conjunction with Kangaroo, as I think their feature sets complement each other very nicely.…
nts would have problems loading referenced assemblies from unexpected folders. This is (at least somewhat) fixed.
- Enabling objects would fail to properly enable input parameters for components, this is fixed.
- Probably some other ones too, my bookkeeping skills leave something to be desired.
It also offers some new functionality:
- A new Group object has been added. Groups allow you to visually link several components. Group colour cannot yet be changed, but by double clicking the group, the outline mode can be toggled.
- A new Markov widget has been added. This widget uses Markov chains to 'guess' which component you want to use next based on your behaviour in the past. It takes a while for it to get accustomed to you as a special and unique and lovable individual, so don't expect miracles right away.
- A new Profiler widget has been added (off by default). The profiler lists worst-case runtimes for parameters and components, allowing you to track down bottlenecks in networks and to compare different components in terms of performance.
- All widgets now have proper tooltips.
- Mouse picking has been improved. Different actions are now handled better and especially making new wires should be somewhat easier.
- Toolbars now draw separators between different groups of objects. Separators can be disabled via the View menu.
- Fuzzy searching has been improved.
- Scribbles now allow font sizes up to 100pt.
- All Complex Number components have been moved into their own Tab.
- Tabs are now scrollable when the width of all tabs exceeds the width of the window.
And of course a couple of new components (to be honest, I have no idea which ones are new since the last release):
- Repeat Data
- Random Reduce
- Domain Inclusion
- String Concatenation
- Sinc (Sinus Cardinalis) trigonometry function
- Spherical Cloud
- Sort Points
- Vector Rotate and Vector Mass Addition (are these really new? ... I forgot)
- Curve Dash pattern
- Nurbs Curve Control Points
- Metaball with custom charge overrides
- Curve self-intersections
Enjoy, and have a happy 2010!
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 9:32am on December 31, 2009
d the fact that one pipe goes out and one goes in, that the surface normal direction is opposite for the two surfaces? Based on an earlier thread, you should know why by now. The two curves have opposite directions (again!); see the white arrows using Rhino 'Analyze | Direction'?
As before, you can fix that by flipping one curve to match the other. HOWEVER, you connected your curves directly to the 'Divide' components instead of using 'Crv' geometry params - bad form. And as before, you "fixed it" by reversing the list of starting points ('S' input to 'BiArc'). Better like this - 'Crv' params are internalized, no need for Rhino file:
Well, well! That didn't fix the opposite surface normals after all! Trust me, though, using geometry params and being conscious about matching curve directions is "best practice". But I haven't lofted 'BiArc' curves for awhile, it's late and I want to move on. OH! I just noticed that you reversed the 'Z' direction for one half of the 'BiArc' - that explains it:
Moving on... You've basically got it, though I would do it differently - same result, like this:
I haven't really explained surface normal vectors - can you figure it out from here? One more little wrinkle (Normal_2017Mar17b.gh):
…
Added by Joseph Oster at 12:03am on March 18, 2017
giornata inaugurale sarà dedicata alla free-lecture introduttiva finalizzata alla realizzazione di un modello d'architettura complesso attraverso l'utilizzo di comandi e tecniche avanzate di rappresentazione con Grasshopper (plug-in parametrica di Rhinoceros) e 3dsMax. Sarà illustrato inoltre il potenziale di V-ray per 3dsMax realizzando un rendering concettuale. Durante il mini-corso dell' openDAY verranno mostrate le caratteristiche e le potenzialità degli strumenti per far luce sui nuovi valori assunti dalla modellazione 3D. La modellazione 3D sta interessando un pubblico sempre più vasto inserendosi in una nuova fase di ampia disponibilità per conoscenze, software, hardware di prototipazione e modelli. Pur mantenendo tutti i suoi valori già noti la questione si è talmente ampliata fino ad interessare norme giuridiche (diritti sui modelli ,concorrenza con offerte di servizi apparentemente simili, informazioni deformate e onfusione nei media) Makers University[http://www.makersuniversity.com], in collaborazione con parametricart, vi propone un punto di vista ampio e sintetico su queste tematiche.
Al termine della free-lecture, sarà illustrata l'offerta formativa [CLICCA QUI] di parametricart riferita ai corsi che si terranno nei mesi di Gennaio e Febbraio 2013 inseriti all'interno della più ampia programmazione della Makers University. SONO PREVISTE TARIFFE PROMOZIONALI PER COLORO CHE SI ISCRIVERANNO AI CORSI durante l'OpenDAY.
La lezione e la presentazione si terranno nel nuovo spazio co-working il PEDONE.
PROGRAMMAZIONE
- I temi della Makers University [Leo Sorge];
- Modellazione della parametricTower (concept di architettura complessa) utilizzando Grasshopper, applicativo per la modellazione parametrica [VIDEO] [Michele Calvano];
- Modellazione di una copertura reticolare 3D a completamento della parametricTower con 3dsMax utilizzando tecniche di modellazione mesh complesse [Wissam Wahbeh];
- Rendering con V-ray per 3dsMax illustrando la nuova interfaccia nodale [Wissam Wahbeh].
- Question Time per chiarimenti sugli argomenti illustrati.
COME
L'openDAY sarà aperto a tutti gli interessati,completamente gratuito e sarà replicato in tre sessioni di uguali contenuti organizzate nei seguenti orari:
Sessione [1] 11,30 - 13,30
Sessione [2] 15,30 - 17,30
Sessione [3] 17,30 - 19,30
Per necessità di organizzazione è importante la prenotazione all'evento utilizzando il form in fondo alla pagina specificando nella stringa apposita, il nome dell'evento e la sessione (es. open day sessione 1) oltre agli altri dati richiesti.…
la corretta comprensione del software che di livello specialistico per un confronto diretto con alcuni aspetti fondamentali dell’ architettura e del design.
Attraverso l'utilizzo di Grasshopper rivoluzionaria plug-in di Rhinoceros, si insegneranno nuove tecniche di modellazione parametrica.
Grasshopper, permette di esprimere al massimo le qualità e le potenzialità della modellazione Nurbs abbandonando in parte l'interfaccia classica di Rhinoceros. Quest'ultimo infatti viene sostituito da un menù a tendine dove vengono collezionati nodi utili alla composizione di algoritmi risolutivi.
La plug-in Grasshopper, dimostra come il linguaggio del computer stia diventando un reale strumento progettuale.
Il corso si svolgerà nei seguenti giorni: Sabato 26 Ottobre dalle ore 10.00 alle ore 19.00 Domenica 27 Ottobre dalle ore 10.00 alle ore 19.00 Scadenza preiscrizione per Grasshopper: 23/10
Contenuti
Nella prima parte del corso attraverso degli esercizi base si insegneranno i metodi di esplicitazione degli algoritmi generativi. In queste ore di lezione si illustreranno, attraverso fasi operative, i seguenti argomenti:
Suddivisione degli algoritmi in parametri e componenti;
Tipologie di dati comptiili con Grasshopper e loro combinazione creando definizioni minime;
Funzioni matematiche e logiche;
Data flow, liste e filtri di esclusione;
Costruzione di curve e superfici e loro trasformazione;
Nella seconda parte del corso lo strumento viene specializzato affrontando editing e trasformazioni complesse sulle superfici:
Elaborazione delle superfici di suddivisione;
Tassellazione spaziale di superfici a doppia curvatura;
Gestione di parametri variabili per la progettazione di definizioni finalizzate al controllo del movimento;
Ideazione di algoritmi per il passaggio dal modello digitale al modello reale attraverso la tecnica dello sliceing;
Alla fine del corso, verrà rilasciato l’attestato di partecipazione ad un corso di Rhinoceros qualificato certificato dalla casa sviluppatrice McNeel, valido anche per la richiesta di crediti formativi universitari.
Tutor del corso
Il corso sarà tenuto da un docente qualificato, esperto in disegno e rappresentazione dell' architettura e del design:
Michele Calvano| _architetto, dottore di ricerca in rappresentazione architettonica specializzato nella modellazione matematica (Nurbs) e modellazione parametrica.
Docente ART (Autorized Rhino Trainer)
Info
Responsabile didattico e docente del corso: arch. Michele Calvano cell: 340 3476330
Info mail: parametricart@gmail.com
…
azione tramite interfaccia grafica 6 ore
Interfaccia Grasshopper
Parametri e Componenti
Operazione di Logica e Matematica
Vettori
Case study: concetto base di attrattore
Gestione data matching
Primi approcci alla modellazione parametrica – 4 ore
Trasformazioni di base (sposta ruota scala orienta)
Strumenti di Morphing
Utilizzo di Sweep e Loft e di altri strumenti di creazione superfici già noti da Rhinoceros
Esercitazione pratica: creazione del modello concettuale della Serpentine Gallery - B.I.G.
Focus sulla gestione dei dati - 4 ore
Creazione e gestione delle liste
Studio del data tree
Esercitazione pratica: creazione di un soffitto cassettonato
Creazione di geometrie tramite mesh – 6 ore
Utilizzo degli algoritmi di Delaunay
Utilizzo del Facet Dome
Utilizzo del Substrate
Utilizzo degli algoritmi di Voronoi
Esercitazione pratica: creazione di un gazebo attraverso l’uso di pattern
Creazione di ‘paneling’ di superfici curve – 6 ore
Discretizzazione di una superficie a doppia curvatura tramite pannelli piani
Strumenti analisi superfici
Visualizzazione superfici tramite falsi colori
Esercitazione pratica: creazione di una facciata interattiva
Digital Fabrication e messa in tavola – 6 ore
Interoperabilità tra Grasshopper e altri applicativi
Creazione di Truss parametrica
Gestione dell’abaco dei pezzi
Esercitazione pratica: la Facciata dello Stadio Friuli di Udine - Ipotesi di costruzione e gestione tramita fabbricazione digitale
Requisiti di accesso
Conoscenza delle tematiche CAD di base e dei comandi principali e interfaccia Rhinoceros 5.
Certificazioni
Alla fine del corso verranno rilasciate le certificazioni ufficiali da ART (Authorized Rhinoceros Trainer)
Numero partecipanti
Il corso parte al raggiungimento di un minimo di 4 persone ad un massimo di 8. Ogni partecipante dovrà essere munito di proprio computer con Rhinoceros.
Costo del corso
Il costo del corso è di 600 € + IVA
Sconto di 50,00 € per i giovani che hanno meno di 26 anni.
Ulteriore sconto di 50,00 € Early Bird per tutti coloro che si iscriveranno entro il 5 Settembre 2016
Nel prezzo è compresa l’iscrizione al FabLab Toscana – maggiori informazioni qui
FabLab Toscana
Il FabLab Toscana presenta un insieme di per i propri associati: sarà possibile l’accesso ai laboratori del FabLab (durante i normali orari di apertura), partecipare ai workshops gratuitamente o a prezzi calmierati, l’utilizzo della macchine (seguendo il regolamento interno), …
ram.com/Helicoid.html.
To be more precise, I'm not quite clear how to apply this equation to the helicoid and integrate it into my code:
where corresponds to a helicoid and to a catenoid.
I've made some attempts not worth to be shown here. Maybe somebody can help me with a pseudocode or a simple description how to start solving this classic geometric transformation.
Thanks, Sebastian
…
Added by Sebastian at 11:19am on December 27, 2012