Invité ingoenius Posté(e) le 27 avril 2010 Posté(e) le 27 avril 2010 L'idee est d'avoir une liste tipe dictionnaires de python ou on as Nom_du_Bloc et Poids Du Bloc ensuite je vais sélectionner dans le dessins des blocs (qui n'ont pas d'attribut sinon serait facile a faire) et je retrouve le poids cumulée de touts cela, le problème est : 1comment faire si j'ai sélectionné un bloc avec un nom qui est pas prévu' dans le script autolisp? (dans ce ca la il faudrait lui attribuer un poids de 0) 2et enfin comment construire ce type de liste en autolisp? car mon test jusqu'à présent est avec une série infinie de conditions, mais je sais pas si c'est la meilleure façon pour le faire (setq Pb (cond ((= nome "ACL") 11) ((= nome "MOTEUR") 25.2) ......... merci
(gile) Posté(e) le 27 avril 2010 Posté(e) le 27 avril 2010 Salut, Utilise une liste d'association :(setq p_lst '(("ACL" . 11.0) ("MOTEUR" . 25.2) ...)) et ensuite :(setq poids_total 0.0 n 0 ) (if (setq ss (ssget '((0 . "INSERT")))) (while (setq blk (ssname ss n)) (setq nome (cdr (assoc 2 (entget blk))) n (1+ n) ) (if (setq p (assoc nome p_lst)) (setq poids_total (+ poids_total (cdr p))) ) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Invité ingoenius Posté(e) le 27 avril 2010 Posté(e) le 27 avril 2010 merci Gile, mais comment résoudre le cas pour les blocs qui ont pas d'association et leur attribuer une valeur de zero?aujourd'hui hui je ne peut pas mettre tout les bloc que je possède dans la liste, donc il faut un système pour les traiter de façon neutre Je pensait a un (setq Vide 0.0) et de pouvoir teste si le nom du bloc est dan la liste alors prendre la valeur associer, sinon attribuer a ce bloc la valeur du bloc vide donc 0.0, mais je sais pas le rajouter a ton code ;-( [Edité le 27/4/2010 par ingoenius]
(gile) Posté(e) le 27 avril 2010 Posté(e) le 27 avril 2010 Dans l'expression :(if (setq p (assoc nome p_lst)) (setq poids_total (+ poids_total (cdr p))) )si le nom du bloc n'est pas dans la liste, rien n'est rajouté à poids_total. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Invité ingoenius Posté(e) le 27 avril 2010 Posté(e) le 27 avril 2010 Parfait Gile ancore merci derniere petite chose on peut fair en sorte qu'il considère pas la casse des noms?de façon a prendre les nome de blocs mémé avec des majuscule minuscule pas exactement égales?
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant