Zugzwang Posté(e) le 9 décembre 2022 Posté(e) le 9 décembre 2022 Bonjour je cherche à filtrer ma sélection en fonction de l'échelle du type de ligne j'ai trouvé les options pour : Constantwidth pour les épaisseurs, Layer pour les calques, Color pour les couleurs, Linetype pour les types de lignes mais lineweight ne marche pas... c'est pour compter les longueur par cette propriété en modifiant ce lisp qui marche pour les épaisseurs... merci ;;pour les amateurs de joli code ce lisp du regrété Patrick_35 ;; il fait la somme des longueurs de polylignes sélectionnée suivant un filtre à changer en dur à la 2eme ligne ;; https://cadxp.com/topic/40634-somme-par-%C3%A9paisseur-de-polylignes/?do=findComment&comment=227427 ;; merci à lui (defun c:stpe (/ ent ele lst sel res tot filtre) (setq filtre 'Constantwidth) ; Constantwidth pour les épaisseurs, Layer pour les calques, Color pour les couleurs, Linetype pour les types de lignes (and (ssget (list (cons 0 "*POLYLINE"))) (progn (vlax-for ent (setq sel (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object))) ) (if (setq ele (assoc (vlax-get ent filtre) lst)) (setq lst (subst (list (car ele) (cons (vla-get-length ent) (cadr ele))) ele lst)) (setq lst (cons (list (vlax-get ent filtre) (list (vla-get-length ent))) lst)) ) ) (vla-delete sel) (setq tot 0) (mapcar '(lambda (x) (setq tot (+ tot (setq res (apply '+ (cadr x))))) (princ "\nTotal polyligne(s) type ") (princ filtre) (princ " --> ") (princ (car x)) (princ (strcat " : " (rtos res))) ;; ligne ajoutée pour demander une case de tableau (print) (command "MODIFTABLEAU" pause (rtos res)) ) (vl-sort lst '(lambda (a B) (< (car a) (car B)))) ) (princ (strcat "\nTotal : " (rtos tot))) ;; ligne ajoutée pour demander une case de tableau (print) (command "MODIFTABLEAU" pause (rtos tot)) ) ) (princ) )
(gile) Posté(e) le 9 décembre 2022 Posté(e) le 9 décembre 2022 Salut, 'Lineweight devrait fonctionner. Es-tu sûr de ne pas avoir fait une faute de frappe ? Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Zugzwang Posté(e) le 9 décembre 2022 Auteur Posté(e) le 9 décembre 2022 merci... les fautes de frappes sont ma marque de fabrique et l'interpréteur d'autocad ne me pardonne rien... Par contre, à bricoler le code 2x par ans, j'en oublie mon latin c'est dans les dump qu'il me fallait trouver la propriété LinetypeScale Car on ne parle pas de la commande Filtre, mais du filtre appelé dans (vlax-get ent filtre) pfff... je suis un boulet... mes excuses pour le dérangement j'aurai du creuser plus avant de quémander mais super merci comme d'habitude 🙂
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