fredel Posté(e) le 2 juin 2017 Posté(e) le 2 juin 2017 Bonjour, Je souhaiterai avoir un lisp qui, en cliquant sur une polyligne, et en cliquant après à coté, place une ligne comprenant la longueur de la polyligne en m. (je travaille sur des formats en mm) et ce texte doit avoir la même couleur que la polyligne? Est ce possible ? En vous remerciant par avance ;)
arnaudalp Posté(e) le 2 juin 2017 Posté(e) le 2 juin 2017 Sans passer par un lisp, tu peux créer un texte avec champ. Tu sélectionnes le type d'objet ( polyligne ) , puis la longueur et un préfixe.Ce champ est lié à ta polyligne, si tu modifies la longueur, le texte changera.
fredel Posté(e) le 2 juin 2017 Auteur Posté(e) le 2 juin 2017 Merci, Toutefois, pour une polyligne, ca peut aller, mais j'ai plusieurs plans avec environs 50 à 100 polylignes à mesurer. D'où mon souhait qu'en deux clics je puisse afficher la longueur en mètre chaque polyligne. Un peu comme le lisp "Totalarea" de Gile ou Patrick [EDIT] La réponse est quelque peu dans ma question. Je viens juste de tester le lisp "Totalperim" de Gile. Mais si il y a une petite amélioration avec l'application des couleurs sur le texte en correspondance avec la polyligne, mon bonheur sera maximal. B)
(gile) Posté(e) le 2 juin 2017 Posté(e) le 2 juin 2017 Salut, Tu as TotalPerim sur cette page qui fonctionne comme TotalArea. Sinon, beaucoup plus simple, le LISP suivant fonctionne avec les paramètres de texte courants: (defun c:fredel (/ pline) (and (setq pline (car (entsel "\nSélectionnez une polyligne: "))) (= (getpropertyvalue pline "LocalizedName") "Polyligne") (command "_.text" pause "" "" (rtos (/ (getpropertyvalue pline "Length") 1000.))) ) (princ) ) 1 Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
fredel Posté(e) le 2 juin 2017 Auteur Posté(e) le 2 juin 2017 Hello Gile, En fait j'ai utilisé totalperim qui fonctionne bien. Je teste aussi le lisp et je vois que j'ai un problème avec la taille du texte. Est-il possible de le paramétrer? j'utilise en général une taille 50 en arial et la couleur du texte doit être en "dubloc" T'en remerciant pour le lisp ;)
lecrabe Posté(e) le 2 juin 2017 Posté(e) le 2 juin 2017 Hello SANS reflechir, tu changes eventuellement la variable TEXTSIZEAVANT de lancer la micro-routine Lisp de Gilles !? Bye, lecrabe Autodesk Expert Elite Team
fredel Posté(e) le 2 juin 2017 Auteur Posté(e) le 2 juin 2017 :mellow: J'ai tellement pris l'habitude de piocher des textes existants, puis de les modifier, sans les créer que j'ai oublié qu'il y avait cette variable.
0.o ? Posté(e) le 30 mai 2018 Posté(e) le 30 mai 2018 Salut, Tu as TotalPerim sur cette page qui fonctionne comme TotalArea. Sinon, beaucoup plus simple, le LISP suivant fonctionne avec les paramètres de texte courants: (defun c:fredel (/ pline) (and (setq pline (car (entsel "\nSélectionnez une polyligne: "))) (= (getpropertyvalue pline "LocalizedName") "Polyligne") (command "_.text" pause "" "" (rtos (/ (getpropertyvalue pline "Length") 1000.))) ) (princ) ) Bonjour, Tout d'abord un grand merci pour ce lisp super simple d'utilisation!Je me permet de m'incruster dans la conversation pour savoir s'il serait possible de sélectionner l'ensemble des polylignes dont on souhaite afficher la longueur et que la valeur s'affiche au milieu de chaque polyligne ? (Ou a gauche, a droite ... ça n'a pas d'importance :)) Cordialement
x_all Posté(e) le 30 mai 2018 Posté(e) le 30 mai 2018 Je m'incruste aussi ( and (setq ..) (= (getpropertyvalue pline "LocalizedName") "Polyligne")le setq je comprend encore que, mais le =, que vient il faire là?Je dis encore que pour le setq car setq renvoie nil s'il échoue mais s'il réussi il renvoie la valeur de la variable (?) que vient faire une valeur de variable dans un test booléen? quelques trucs sur autocad
DenisHen Posté(e) le 30 mai 2018 Posté(e) le 30 mai 2018 Salut. J'en profite pour m'incruster aussi... ;) que vient faire une valeur de variable dans un test booléen?Connaissant Maître (gile), ça doit être un contrôle pour vérifier si c'est bien une polyligne de sélectionnée... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
(gile) Posté(e) le 30 mai 2018 Posté(e) le 30 mai 2018 (defun c:fredel (/ pline) (and (setq pline (car (entsel "\nSélectionnez une polyligne: "))) ; s'il n'y a pas de sélection, on sort (= (getpropertyvalue pline "LocalizedName") "Polyligne") ; si la propriété "LocalizedName" de pline n'est pas "Polyligne", on sort (command "_.text" pause "" "" (rtos (/ (getpropertyvalue pline "Length") 1000.))) ) (princ) ) La fonction 'and' utilise une ce qu'on appelle une évaluation short circuit, c'est à dire qu'à la première expression qui retourne nil, l'évaluation s'arrête et and renvoie nil.L'expression (setq ...) affecte à 'pline' la valeur retournée par (car (entsel ...)) et retourne cette valeur, Si aucun objet n'a été sélectionné cette valeur est nil, on sort.L'expression (= ...) évalue si 'pline' est bien une polyligne, si ce n'est pas le cas, on sort. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
x_all Posté(e) le 30 mai 2018 Posté(e) le 30 mai 2018 C'est beau comme du Ronsard. on en rediscutera peut être dans l'autre post, mais j'ai eu un gros doute sur ce genre de truc pour la sortie de (explore à la fin du code. Du coup j'ai tout explicité pour être sur du résultat. 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