Zugzwang Posté(e) le 22 avril 2022 Posté(e) le 22 avril 2022 Bonjour depuis des lustres, je fait mes métrés avec un petit lisp récupéré ici et un peu bricolé. J'isole le calque, je lance le lisp fait une sélection, (filtrée lignes polyligne spline) le lisp fait la somme des longueurs, et propose de poser un texte que je met à coté de la légende. c'est souple et rapide. Depuis peu je fait les légende dans un tableau...(et puis un tableau ça s'exporte en 2s ^^) y aurait il un moyen pour qu'a la fin du lisp on demande à remplir directement une case dans un tableau.. la case bien sur change à chaque fois, n'est pas forcément dans l'ordre, bref doit pouvoir être appelé à la volée... je suis loin de mon champ de compétence Pour inspiration et pour ceux qui voudrai se faciliter les métrés, le code que j'utilise (j'en ai un autre pour les surfaces) Merci d'avance... (defun c:SLPS (/ LG LT SEL tube X) ;; somme des longueurs de lignes poly spline sélectionnées ;; pose un texte dans le style courant hauteur 0.6 à changer en dur (vl-load-com) (setq lg 0.0 lt 0.0 sel nil tube nil ) (while (not sel) (setq sel (ssget (list '(-4 . "<OR") '(0 . "*POLYLINE") '(0 . "SPLINE") '(0 . "LINE") '(-4 . "OR>")) ) ) ) (setq x (sslength sel)) (repeat x (setq x (- x 1)) ;; pour décaler et arriver à zéro à la fin on décrémente au début (le 1ere élément de la liste est en zéro) (setq tube (ssname sel x)) (if (= (cdr (assoc 0 (entget tube))) "SPLINE") ;; si c'est une spline (progn (command "aire" "ob" tube) (setq lt (getvar "perimeter")) ) ;; si c'est autre chose (progn (setq lt (vla-get-Length (vlax-ename->vla-object (ssname sel x)) ) ) ) ) (setq lg (+ lt lg)) ) (print (strcat "Longueur :" (rtos lg) " .")) (setvar "textsize" 0.6) (command "texte" pause "" "" (rtos lg)) (princ) )
Zugzwang Posté(e) le 22 avril 2022 Auteur Posté(e) le 22 avril 2022 mouai... en bricolant, je tombe sur la ligne de commande et je remarque que lorsqu'on rentre dans une cellule, autocad appelle la commande MODIFTABLEAU... mais si j'insère (command "MODIFTABLEAU") avant l'appel du texte, ça marche pas...(même avec le ligne du texte en commentaire) Le lisp lance MODIFTABLEAU, m'invite à cliquer une case, mais rentre pas dedans... Citation Commande: SLPS Sélectionner des objets: Spécifiez le coin opposé: 22 trouvé(s) Sélectionner des objets: "Longueur :49.24 ." MODIFTABLEAU Choisissez une cellule du tableau: Choisissez une cellule du tableau: bref j'ai beau cliquer, il rentre pas...
Zugzwang Posté(e) le 22 avril 2022 Auteur Posté(e) le 22 avril 2022 rhooo il faut remplacer la ligne tu texte par: (command "MODIFTABLEAU" pause (rtos lg) ) ...
x_all Posté(e) le 24 avril 2022 Posté(e) le 24 avril 2022 pour boucler la boucle.. j'ai fini l'adaptation aux tableaux des lisp dont je me sert pour les métrés, si ça intéresse du monde, c'est là http://joch04.free.fr/achtml/Metres.html ++ quelques trucs sur autocad
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