Grasshopper

algorithmic modeling for Rhino

Multiple panelling size variation based on text lenght and height

Hi, I am actually desiging a wall (sort of memorial) that is 20m long by 3m height. 

I need to feed the wall with 7000 full names (EX; Pascal Gobeil).

There is also 3 differents heights for the names (following the importance of donation). 

I have the idea to create rectangles based on text lenght and variable heights (3 types) that are bounding "like tetris" (computation a best solutions) (i dont want to have continus row or colomn if it's possible) 

I found some jQuery (JCloud) but i dont know how it works and the random definition dont allow me to put precise height variations. 

I am not using grasshopper enought to know how to build it but i know that someone here will probably do it easily.Thanks for you help!

Pascal

Views: 7812

Attachments:

Replies to This Discussion

Pascal
There are many algorithm on internet That can be implémented on GH search for rectangle packing

Check out RhinoNest. It may do what you want.

Or PackRat.

I have done a simple algorithm, that packs rectangles one after the other, so there is no optimisation but it is quite fast and it could surely be corrected (right rectangle are not aligned). 7000 rectangles in less than one second.

If you want I could adjust things with you (en français ?)

Attachments:

A english version will follow...

Bonjour Laurent, 

Tout d'abord,merci énormément pour ce travail. Je ne m'attendais pas à recevoir carrément une définition gh tout nickel comme ça! Comme je le disais au début de cette conversation, le projet consiste en un mur de noms (donateurs) distribué de manière aléatoire sur 5 surfaces d'environ 1750mm  de large par 2650mm de haut (impression sur verre). Les nom ne doivent pas chevaucher plus d'une plaque de verre (5)

J'ai pensé aux rectangles parce que l'utilisation du text semble flexible dans grasshopper. Wordle ( http://www.wordle.net/) ressemble pas mal à ce que je cherche à faire au final. Par contre, Il ne me permet pas vraiment beaucoup de control sur les dimensions hors-tout, les espacements et les proportions, etc. 

Un problème que j'ai trouvé c'est un nombre maximum de mots par boite de texte "txt" en multiligne. Est-ce que je peux lier mon paramètre txt à un fichier externe .xls? 

J'ai joint un fichier avec les 7000 noms, L'idée serait maintenant de remplacer tous ces rectangles par ces noms! Les catégories représentes la variation en hauteur des noms. 

En essayant "text length" je me suis rendu compte qu'il calculait le nombre de lettre et nom la longueur réelle ce qui est un réel problème. 

ENGLISH

Hello Laurent , 
First of all, thank you so much for this work. I do not expect to receive a "almost done" definition like that! As I said at the beginning of this conversation, the project consists of a wall of names (contributors) randomly distributed on 5 surfaces approximately 1750mm wide by 2650mm high (printing on glass) . The name must not overlap more than one glass plate (5)
The idea of rectangles first was because the use of text components in grasshopper looks complicated and limited.

I also try Wordle ( http://www.wordle.net/ ) to to this. Unfortunately, it does not allow me to really control the overall dimensions , spacing and proportions , etc.

One problem (grasshopper) I 've found is a maximum number of words (lines) per text component"txt" in multiline . Do you know if i can link my txt component to an .xls external file ?

I have attached a file with 7,000 names, the idea would now be to replace all these rectangles by these names! 
The categories are corresponding to the variation in height names.
I tried "text length" but I realized that it was calculating the number of letter of words and not the real length. that is a problem.




Pour avoir la bonne taille des noms prénoms il faut la bonne police de caractère
Il y a sûrement plusieurs solutions
Sans faire de la programmation je testerais ce soir
Écriture en courbe ou surface des noms prénoms dans rhino
Récupération dans GH pour avoir les dimensions

J ai déjà fait cela avec la police filaire de David Rutten et ça fonctionne
Mais si le besoin est de l impression il ne faut pas du filaire mais des polices classiques (surfaces)
J'ai essayé quelques trucs mais sans succès. J'ai ajouté un paramètre nombre entier au hauteur de texte ( 3 types ). Il faudrait extraire les rectangles qui appartiennent à chaque types ( je sais je suis nul je n'y arrive pas ! ). Ensuite utiliser le centre de chacun des rectangles et utiliser un text tag (mid/center)pour chaque point base sur la liste de noms. On peut peut-être essayer d'utiliser le texte length ( ca ne devrait pas être trop loin de la longueur réelle ). Les mots qui ont plusieurs lettres étroites auront juste un peu plus d'espace latéralement ( ou on utilise un facteur d'ajustement basé sur ces types de lettres!?) le texte au final devra être vectoriel et en surface pour impression.
Ce que je ne suis vraiment pas capable de faire c'est lier tout ca ( longueur des rectangles vs noms, etc. Merci mille fois
It seems to be perfect. Thanks you very much for your time ( and your talent ! ) Please, The names are still confidential ( i Know, i send you a excel file but i Will delete it ) could you use some other names to post images and public stuff ? Thanks you !

An example with "I love you" in differents languages. You must also use Excel file.

Attachments:

Merci beaucoup. Par contre je ne comprends pas trop comment lire le fichier exel (je n'ai que openoffice à la maison) J'ai installé Lunchbox et tout semble fonctionner à l'exception de la lecture du fichier openoffice...Mais ce n'est pas trop grave, je vais le lire au travail demain...

Le tableau excel est une facilité
Il peut être remplacé par un read file qui lirait les noms prénom dans un fichier txt et les tailles dans un autre fichier, un par ligne.
Il faut juste avoir le même nombre de lignes dans chacun des fichiers.

A last updated version, with a bug correction, some adjustments on font size. I don't understand why but there is a 1% of difference between text and text to curves. I add Human pluging text Tag because it allows a display of the text with the good font. I think for printing the best is to use text, there is also a rectangle showing limits. Have fun and when your project will be finished post some photos. 

Attachments:

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service