Communauté
BIM Revit, BIM et Autodesk Construction Cloud (ACC) - Français
Bienvenue sur le forum AEC francophone dédié aux solutions BIM de la société Autodesk. Cet espace est dédié aux professionnels et passionnés du secteur de l'Architecture, de l'Ingénierie et de la Construction (AEC) qui utilisent le logiciel Revit ainsi que les plateformes collaboratives d'Autodesk (ACC et Autodesk Forma). Partagez vos connaissances, posez des questions, collaborez sur des idées, et explorez les sujets, que vous soyez architecte, ingénieur, gestionnaire de projet ou tout autre acteur de l'AEC.
annuler
Affichage des résultats de 
Afficher  uniquement  | Rechercher plutôt 
Vouliez-vous dire : 

[Dynamo] Retour List.IndexOf etrange

6 RÉPONSES 6
RÉSOLU
Répondre
Message 1 sur 7
David_TESSON
1015 Visites, 6 Réponses

[Dynamo] Retour List.IndexOf etrange

Bonjour,

Voici le retour du nœud List.IndexOf

Capture d’écran 2020-09-29 123347.jpg

Je teste chaque éléments de ma liste (watch de doite) pour savoir si il est présent dans ma liste de points particuliers (Watch de gauche).

J'ai un soucis car dans la capture, on peut voir que l'item 4 retourne un index négatif (donc pas présent) alors qu'il est dans la liste de points particuliers. la preuve en est puisque l'item 1 de Liste.OfIndex est correct et que c'est le même point !

Avez vous une parade à cela ou une autre manière de tester la présence de mes points dans la liste de points particuliers

Merci

 

6 RÉPONSES 6
Message 2 sur 7
MatthieuBJuno
en réponse à: David_TESSON

Bonjour,

 

Est-ce que tu n'aurais pas oublier un lacing cross product sur l"list.indexof" ?

Message 3 sur 7
Anonymous
en réponse à: David_TESSON

Bonjour,

 

Je pense que tu t'es trompé dans l'ordre de liaison des nœuds. Ta liste d'objet à trouver est à relier à elements, et ta liste à fouiller dans list.

Moi j'aurais fais ça (en sélection les niveaux, sinon ça marche pas) :

2020-09-29 14_05_57-Dynamo.png

 

 

Ensuite, sache que le package ORCHID te propose un noeud List.IndexOf au comportement un peu différent du Dynamo de base, que personnellement je préfère :

 

2020-09-29 14_16_15-Dynamo.png

 

 

Enfin, il faut que tu fasse attention aux données que tu manipule, à savoir des points. Le "danger" est la précision des points. Si tu lis des points provenant de Revit, ils sont peut-être égaux sur les premières décimales, mais pas ensuite, et le "ListIndexOf" ne fonctionnera pas.

 

Je te conseil de t'intéresser au nœud "Geometry.IsAlmostEqualTo", combiné à un "ListMap" ou autre.

 

 

Jean

Message 4 sur 7
David_TESSON
en réponse à: David_TESSON

Bonjour,

@MatthieuBJuno : Je n'ai pas besoin de lacing particulier avec List.Ofindex car de fait il balaye la totalité de la liste pour chaque élément pour trouver son index.

@Anonymous : Je ne pense pas mettre trompé dans l'ordre. Ma liste référence est la liste de 12 item. Mes éléments à vérifier sont dans la liste de 160 item

 

Je pense que cela peut effectivement provenir du delta des points apres la virgule. Je vais regarder.

Merci

Message 5 sur 7
David_TESSON
en réponse à: David_TESSON

Effectivement, le problème vient de l'exactitude des points après la virgule.

Pour y remédier j'ai arrondi mes points à 3 chiffres après la virgule et ca fonctionne.

Merci pour la piste @Anonymous 

Message 6 sur 7
patrick.emin
en réponse à: David_TESSON

Bonjour @David_TESSON 

Si une des réponses résout votre problème ou vous a permis de mieux le comprendre, voulez vous avoir l'amabilité de cliquer sur le bouton "Approuver la solution" en bas de la réponse qui apporte une solution?
Merci de ne pas accepter comme solution le message que vous êtes en train de lire.


Patrick Emin animateur de la communauté francophone


Vous avez trouvé un message utile? Alors donnez un "J'aime" à ce message!
Votre question a eu une réponse satisfaisante? Voulez vous avoir l'amabilité de cliquer sur le bouton
 APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Signez notre Livre d'Or
Message 7 sur 7
David_TESSON
en réponse à: patrick.emin

Donc voici ma solution pour palier au problème d'exactitude des points.

Capture d’écran 2020-10-08 135757.jpg

J'arrondi les valeurs X,Y et Z et je retourne le point modifié. C'est bête mais avec ça, mon script fonctionne

Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.

Publier dans les forums  

Autodesk Design & Make Report