Grasshopper

algorithmic modeling for Rhino

Pardon je ne suis pas un habitué des forums.

Je vais essayé d'être plus clair .

J'ai dans rhino des pièces de bois avec des formats différents ces format sont normalisés comme ceci

admettons les listes suivantes

{0;0}                                                        {0;0}

0=longueur (300)                                      0=longueur (400)  

1=largeur (8)                                            1=largeur (6)

2=hauteur (20)                                         2=hauteur (8)

{0;1}                                                        {0;1}

0=longueur (250)                                     0=longueur (250)

1=largeur (8)                                           1=largeur (8)

2=hauteur (12)                                        2=hauteur (12)

{0;2}                                                        {0;2}

0=longueur (400)                                     0=longueur (300)

1=largeur (6)                                           1=largeur (8)

2=hauteur (8)                                          2=hauteur (20)

 je souhaite réorganiser mes listes en fonction de la croissance de l'item 1 (soit la largeur) puis en fonction de l'item 2 (la hauteur) néanmoins pour chacune de ces listes les items sont indissociables .

dans l'exemple de gauche la liste de rhino et dans l'exemple de droite la liste que je souhaite obtenir c'est d'abord la largeur qui va croissante puis ,lorsque les largeurs sont identiques ce sont les hauteurs qui vont dans l'ordre croissant .Les longueurs restent assignées à la liste.

Vues : 2265

Réponses à cette discussion

Hugo,

Voici un exemple:

A partir de composant comme "flip-matrix" ou "entwine" tu peut re-organiser tes données. Puis à partir de cette re-organisation de nouvelle possibilités s'offrent à toi.

Si l'on prend ta liste comme telle:

Vu que l'on ne peut qu'intervenir branche par branche alors le rangement est impossible;

Par contre si l'on inverse la matrice de tes données alors "sort list" peut être utilisé pour ranger tes données.

Selon ce que tu branche dans "sort list" alors la rangement ce fais en fonction.

Pièces jointes :

Par exemple ici on peut choisir par quel type on range les données. Sois par la longueur, largeur ou hauteur...

Si tu a des questions n’hésite pas.

Pièces jointes :

Merci beaucoup Remy de tes réponses je vais creuser tout cela ,ceci étant je ne voudrais pas avoir à exploser mon arbre car lorsque l'on à 10 pièces cela va bien pour  les" branchements"mais avec 300 ou 400 pièces ça devient l'horreur ...

On ne parle pas d'exploser l'arbre seulement un arrangement dans les branches.

Vous pouvez réfléchir autrement suivant la caractéristique de votre arbre.

Avec 300 ou 400 branches il n'y a pas de problème car le nombre de type est quand a lui réduit (longueur, hauteur, larguer j'en compte 3), d'ou le principe de "flip matrix" pour ne plus rangé la liste par objet mais par type.

@+

Excuse moi pour ma réponse d'hier soir je n'avais regardé que l’aperçu du canevas comme je l'ai expliqué à Systemiq j'avais la trame de l'exemple 1 qui ne me triait pas toute la liste en mode croissant ,ceci étant je te remercie d'avoir chercher une réponse à mon feu problème.

@+

Avec le même exemple que Rémy, et en trichant avec sort points (rangement suivant x puis y puis z):

Cas général à n dimensions:

(les nombres sont concaténés, {400, 6, 8} devient 68400 puisque 6 a la priorité sur 8 qui a la priorité sur 400, le tri se fait ensuite naturellement, 68400<68500<812250 etc)

Bonjour et merci pour ta réponse ,car j'avais déjà trouvé la même solution que Rémy de l'exemple 1 qu'il m'a envoyé mais le résultat n'était pas correcte tout le long de ma liste ,certains éléments ne se trouvaient pas au bon emplacement .Superbe merci à vous deux..

la solution n1 de systemiq avec une petite modification (pour mon cas) fonctionne parfaitement merci encore.

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service