ll pop-up a message saying what it's happening inside that "A" slot, as i'm doing in the screenshot above.
"Similar" component is automatically converting his inputs into numbers (if it wasn't able to do it, it would be displayed an error).
If you compare the lists, you can see that the conversion from point to number is not very helpful at this moment (this specific conversion is the distance from the point to the world 0, or the length of the vector equivalent to the point, same thing).
2- Grasshopper lists-components managing.
A generic component in grasshopper behave different to what you are expecting.
What is happening here is somehow like this:
The component "Similar" (but it work like this in a lot of other components, if not all) take the first element in list "A" and combine it with the first element in list "B",
the second element in list "A" and combine it with the second element in list "B",
the third element in list "A" and combine it with the third element in list "B",
4th in A with 4th in B,
then, as the list B is shorter then list A (4vs33 elements), grasshopper repeat the last element in list B until the end of list A.
What you want to do after with that true/false list?
And how can you compare point with a 5% tolerance? Depending of their coordinates?
Or you want to remove every point in list A that is similar to at least one point in list B... ?
These are simple operations, and there are so many way to achieve any result.
If you can explain to what you are aiming for, it will be the best to help you.
:D
…
ss 2010.
It is mainly to understand how to create the relationship between rhino / vb.net / rhinocommon, somewhat how grasshopper works.
The error which comes up is the following:
Could not load file or assembly 'RhinoCommon, Version=5.0.15005.0, Culture=neutral, PublicKeyToken=552281e97c755530' or one of its dependencies. The system cannot find the file specified.
It seems to be an issue with the RhinoCommon.dll file.
I am loaded this and made sure the Copy Local was false.
David you mentioned "
To make a .NET plugin for Rhino5 (rhp) you need to reference only RhinoCommon.dll and make sure you don't 'Copy Local'.**"
Now am I going about this the wrong way? Because the setup which I'm doing now is building a windows application file not a rhp. I would assume that you would be able to create an application in this manor to run operations in rhino. Perhaps I am wrong.
I have a gut feeling that the setup to create a plug in much more comples then just importing the rhino, rhino.geometry, rhino.collections libraries. Would you have to create some type of link to the rhino active window/application? Any thought, insights, or greatly appreciated when all have some free moments.
Many thanks as always!
…
Added by Madu Mohan at 10:35pm on January 28, 2011
ler se han seleccionado un conjunto de técnicas y estrategias para resolver problemas que hoy se presentan en el diseño y fabricación digital de formas complejas y euclidianas.
Bajo dos entornos de trabajo, entre técnicas interactivas y soluciones algorítmicas, se examinan conceptos y casos de estudio que le permitirán al participante decidir como y en que momento estas tecnologías pueden ser utilizadas como aliadas en los procesos de diseño y fabricación. Tomando como plataforma básica Rhino, se explora y optimiza el diseño y fabricación de topologías complejas bajo los entornos de Grasshopper y Paneling tools
En el mes de Julio de 2010 (26 al 29 de febrero) se realizará el Workshop de Grasshopper - Paneling tools en McNeel Argentina,
Contenidos:
1. Modelado Avanzado y sus Tecnicas. Aplanado y Desarrollo de Superficies.
2. Tecnicas de panelizado plano
3. Introducción al Diseño Paramétrico.Definiciones Avanzadas de Grasshopper,posibilidades y limitaciones. Ajustes de escala para impresión y corte.
4. Renderizado basico con Rhinoceros
El workshop tiene una duracion de 24 hrs. (4 dias x 6 horas por dia, horario 10 a 13 hrs y 14 a 17hrs)
Docentes
Facundo Miri - McNeel Argentina.
Se dictara en McNeel Argentina
Ciudad de la paz 2719 3A. - Belgrano - Capital Federal.
Costo del Curso
U$S250+IVA
www.rhinoceros.com.ar…
ODE sas.
Please find below his official answer, in English and in French (original version).
Best regards,
Matteo Lo Prete, MScArch.
English version
“Probably it is necessary that you consider how most type of objects are not categorized by the IFC, considering a contemporary subject. Beyond your appreciation, that we consider as really important, we relativize the significant feedback appreciations communicated by those subjects to whom the IFC was referred: the construction companies. Taking distance from your comments, a little bit superficial and youthful, we can affirm that: the quantities, data on products, contextualization of drawings, calculations, etc. distinguish the work that we did from the partial and poor scenario that you describe.
This result has been particularly appreciated by the companies who had to estimate a complex project in 3 months. Whatever you may say, this is a fact recognized into our field already: this first public procurement (Loi n° 85-704 du 12 juillet 1985 “MOP - Maîtrise d'Ouvrage Publique”) offered estimation procedures never reached for such complex project. This also means that, finally, the estimation and the offer negotiated by the companies respected the client’s goal. This is for your information.
I wish to ask a question to you, Rhino trainer at RhinoForYou: how and in which conditions you accessed to constriction companies’ tipoffs?”
Original French version
“Il faut probablement que vous considériez que la plupart des typologies d’objet ne sont pas catégorisées par les IFC du fait du travail sur un objet contemporain. Par delà votre appréciation, qui compte beaucoup a nos yeux, nous avons pour les relativiser le retour des appréciations réellement importante à nos yeux, puisque ce sont celle à qui étaient adressés les IFC: les entreprises. Bien différente de votre réaction, un peu cutanée et juvénile, nous pouvons vous dire que: les quantitatifs, les données relative des produits, la contextualisation des pièces graphique, notes de calculs, etc distingue ce que nous avons fait de l'état partiel et appauvri que vous relatez. Ce résultat a été particulièrement appréciés par les entreprises qui ont eu à chiffrer un projet complexe en 3 mois. Quoi que vous en disiez il est un fait reconnu dans la profession désormais: ce premier appel d'offre public lois MOP a permis des conditions d'évaluations jamais atteintes pour un ouvrage complexe. Ce qui veut dire que l'estimation et le prix négocié pour les entreprises sont rentrée in fine dans les objectifs de la MOU. Voilà pour votre information. J'aurais souhaité vous adresser une question, à vous qui êtes formateur Rhino chez RhinoForYou: comment et dans quelles conditions avez vous eu accès a des donnés entreprises?”…
I'm facing a quite strange issue with an "intermediate" script (that counts branches on a per "node" basis).
Let's describe first why this "intermediate" script is required:
As you can see the "main" script provides points/lines et all in non identical data trees (obvious: since the path structure depends upon if a surface is open or closed). Thus if we need to "post process" (iterate correctly through branches, that is) these trees (in a variety of scripts) we need a way to count branches on a per "node" basis.
This is what this (WIP) script does :
And now the strange issue:
The first function finds the max path dimension ( i.e. for path {a;b;c;d} dimension is 4). Then this value is passed to other functions as argument and life goes on:
The function is really simple:
Now choose this as test tree (works OK: max path dimension=3):
Then switch to the crazy tree (works OK, max path dimension=4):
Then switch back to the initial tree (Oops : max path dimension=4 instead of 3)
Maybe has to do with the exception handling here:
best, the jelly fish
…
e. We know you want to concentrate on your design, rethink the spaces, the material and more other beautiful and important topics. You will learn the power of parametric design in examples, challenges and develop your own systems to optimize your work, make changes, variations and convert your design into a full BIM model in real time : )
Who should take the course?
Everybody who is new, beginner or excited about Algorithmic design and the Rhino Inside Revit game changer development. The skill level of the workshop is BEGINNER.
The Workshop finish with a Discussion + Virtual Beers with PAZ Academy ;D !
https://pazacademy.com/workshops/rhino-inside-revit-3h-online/…
Rhino (groups of curves) and I want to distribute them with the pattern in the ABBCABC format (I want to change the pattern later so I need it in string format).
I have managed to write the code to read the string (using case command) but I dont know how to copy and move the objects. How do I reference the curves? As BRep, curves, polylines or objects? This is what I have done so far:
Dim move As New Vector3d Dim textLen As Integer Dim i As Integer Dim ch As Char
Dim proba As String
Proba = " "
move.X = 0 move.Y = 0 move.Z = 0
textLen = Len(text)
For i = 1 To textLen Dim t(i) As curve ch = Mid (text, i, 1) move.Y = i * d Select Case ch Case "A" t(i) = A.duplicate A.Transform(transform.Translation(move)) proba = proba + "*A" Case "B" proba = proba + "*B" Case "C" proba = proba + "*C" End Select
print(proba)
Next
I have to add that this function (transform.translation(move)) didn't give any results.
Thanks in advance …
h a loft operation later on.
I've read some topics in the forum regarding offsetting, but it seems that no one have had this problem (very surprisingly I'd say).
This is what I'm doing:
a) I have a non-convex, closed polyline in the XY plane (the native curve being referenced from rhino). Let's call it CURVE A
b) I rotate and move CURVE A to a different plane (obtaining CURVE B).
c) I offset CURVE B, and now it has more segments and points than CURVE A (basically, it creates the segments that would be required to close the shape if it had been offset segment by segment instead than as a whole)
d) when I loft these curves - CURVE A and CURVE B, it gets messy (since the different curves have different segment count)
I've tried a lot of workarounds:
1 - Offset CURVE A on XY a certain amount, and then offset it back, obtaining CURVE A 2.0. It doesn't work, since CURVE A and CURVE A 2.0 have the same topology, so the final loft is still messy
2 - Offset CURVE A on XY without offsetting it back: It works, but I need to maintain the original shape at the base of the resulting surface (after the loft operation described earlier). I thought that just scaling the resulting brep would do the trick, but then I realized it doesn't.
3 - Using CURVE B (the curve that later will be lofted with CURVE A) to finds its closest point on CURVE A, and then re-creating the original curve with this new points (CURVE A 3.0): Doesn't work on all cases...
So that's it I think. I'm really lost with this, so any help will be very much appreciated. …
surface between 2 cross-listed series of points which happen to be "Divides" of the edges of the 3D surface (some kind of planar geodesics if you want).
To do so, I am extracting the intersections between the 3D surface and a series of planes that are rotated (with an angular increment defined as precision) around an axis defined by the straight line between the points.
Hence I end up with a bunch of planar curves. I need to extract them and order them into lists (1 list per pair of points) to extract the shortest curve between each pair of points.
If the first list of point is numbered: 1, 2, 3, 4..... & the second list is lablelled a, b, c, d.....
I can't find a way to extract the shortest point curve of the list between
1 and a, and between 1 and b, and between 1 and c, ... and between 2 and a, and between 2 and b, ...
I think the problem would be fairly easy to solve if I could use VB or Python or any code but I dont know how to code and I am in quite a rush to hand the project in..
Also, I have been using a Python component downloaded from this forum which evaluates if a point is on a curve and returns the point. I modified the code so that it returns the Curve instead of the pt.
If you guys have an idea how to solve this, you would clearly be my saviour :)
Here are a 3dm, the gh and the python component. I have also been using the Kangaroo component that kills duplicate curves..
…
rendo posizioni lavorative fino a qualche tempo fa impensabili. Questo nuovo approccio ha infatti la caratteristica di avvicinarsi alla programmazione informatica, ma con un approccio facilitato grazie ai componenti visuali.Hai bisogno di un motivo in più per usare Grasshopper? Eccolo! Trattandosi di uno strumento ancora in fase di testing (anche se perfettamente funzionante) l’applicativo è completamente gratuitoScarica la tua versione e inizia subito ad usarlo!Corsi certificatiLe lezioni sono tenute da Antoni(n)o Marsala, docente certicato McNeel, con alle spalle oltre 5 anni di esperienza nell’insegnamento di Rhinoceros. Negli ultimi anni abbiamo tenuto in grande considerazione l’evolversi di questo plugin e abbiamo deciso di investire sulle sue potenzialità.Nel Febbraio del 2011, grazie ad Antoni(n)o Marsala, è uscito Algoritmi Generativi, edizione italiana del libro di Zubin Khabazi Generative Algorithms with Grasshopper. Entrami sono scaricabili gratuitamente e rappresentano dei validi strumenti per capire il mondo di Grasshopper.Da diversi mesi inoltre, il Mandarino BLU, ha attivato una collaborazione con La Bottega di Galileo di Pisa, officina del libero scambio di idee, presentando dei progetti formativi post universitari, per coloro che vogliono entrare nel mondo della progettazione di nuova generazione.Dalla collaborazione con Multiverso, nasce invece un progetto formativo più ampio sviluppato a Firenze in via Campo d’Arrigo 40rLeggi il nostro programma didattico o scarica la versione in pdf…