Lisp longueur de ligne AUTOCAD LT 2025

Lisp longueur de ligne AUTOCAD LT 2025

y_varelaDEVAW
Participant Participant
3 907 Visites
16 Réponses
Message 1 sur 17

Lisp longueur de ligne AUTOCAD LT 2025

y_varelaDEVAW
Participant
Participant

Bonjour à tous😊,

 

Avez-vous un Lisp pour AutocadLT2025 qui peut afficher la longueur d'un Spline avec une flèche comme sur la capture d'écran ci-dessous?

Capture d'écran 2024-11-14 100021.png

 

J'ai un Lisp qui me donne la longueur d'un Spline mais c'est juste une petite fenêtre qui s'affiche avec la longueur mais ensuite elle disparait. Du coup je dois tout écrire à la main une ligne après l'autre mais j'ai 367 Spline à mesurer 😅 (c'est un plan photovoltaïque si jms)

 

 Merci beaucoup à tous ce qui répondront à ce message❤️

 

Yvan Varela

 

 

0 J'aime
Solutions acceptées (2)
3 908 Visites
16 Réponses
Replies (16)
Message 2 sur 17

_Steven_
Mentor
Mentor

@y_varelaDEVAW  a écrit :

Bonjour à tous😊,

 

Avez-vous un Lisp pour AutocadLT2025 qui peut afficher la longueur d'un Spline avec une flèche comme sur la capture d'écran ci-dessous?

Capture d'écran 2024-11-14 100021.png

 

J'ai un Lisp qui me donne la longueur d'un Spline mais c'est juste une petite fenêtre qui s'affiche avec la longueur mais ensuite elle disparait. Du coup je dois tout écrire à la main une ligne après l'autre mais j'ai 367 Spline à mesurer 😅 (c'est un plan photovoltaïque si jms)

 

 Merci beaucoup à tous ce qui répondront à ce message❤️

 

Yvan Varela

 

 


Bonjour Yvan @y_varelaDEVAW,

 

Le titre est trompeur, par rapport à la question.

En effet, souhaitez-vous afficher la longueur de ligne ;

TITRE_TOPIC_TROMPEUR.png

 ou bien, souhaitez-vous afficher la longueur d'une spline ;


@y_varelaDEVAW  a écrit :

Bonjour à tous😊,

 

Avez-vous un Lisp pour AutocadLT2025 qui peut afficher la longueur d'un Spline avec une flèche...


 

Steven

Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton APPROUVER LA SOLUTION en dessous de la réponse.




« L’homme de bien n’exige pas de l’autre qu’il soit parfait, il l’aide à accomplir ce qu’il a en lui de meilleur. »
Lao Tseu
Message 3 sur 17

-didier-
Advisor
Advisor

Bonjour @y_varelaDEVAW 

 

Si vous avez déjà le LSP qui "calcule" la longueur d'une spline ça ne doit pas être bien compliqué de le compléter en mettant la valeur dans une "flèche".

Encore un souci de vocabulaire, cette flèche est-ce une ligne de repère ou un bloc avec attribut ?

  1. Si c'est une ligne de repère, il faut nous donner ses caractéristiques.
  2. Si c'est un bloc avec attributs, il faut nous le fournir.

Et ensuite, c'est à nous de jouer, mais pour ça il faut des billes…

 

Amicalement

 

Éternel débutant.. my site for learning : Programmer dans AutoCAD

DA

EESignature

Message 4 sur 17

manon_puel
Community Manager
Community Manager

Bonjour @y_varelaDEVAW 

Merci d’avoir posé cette question sur nos forums ! La communauté a essayé de vous aider au mieux. Si des réponses vous paraissent appropriées, 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.


Manon Puel animatrice de la communauté francophone
0 J'aime
Message 5 sur 17

y_varelaDEVAW
Participant
Participant

Bonjour merci pour votre réponse😁

 

Alors je souhaite afficher la longueur des splines que vous voyez dans la capture d'écran.

 

Je voudrais que la longueur du spline s'affiche avec un texte et une flèche comme les flèches vertes sur la capture d'écran.

 

J'ai dois faire un plan remplie de flèches vertes avec la longueur de chaque spline

0 J'aime
Message 6 sur 17

y_varelaDEVAW
Participant
Participant

Bonjour @-didier- @_Steven_ 

 

Merci pour votre réponse, désolé pour le vocabulaire j'ai essayé d'être le plus claire dans mon explication 😁

 

Du coup j'ai utilisé une ligne de repère, qui est par défaut dans Autocad.

 

Capture d'écran 2024-11-21 100346.png

 

Pour les caractéristiques je suppose que c'est ça:

 

Capture d'écran 2024-11-21 102129.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Donc je voudrais que la longueur du spline s'affiche avec un texte et une ligne de repère comme ceci dans la mesure du possible:

 

Capture d'écran 2024-11-21 102112.png

Car actuellement le LISP affiche la longueur dans une fenêtre qui disparait quand j'appuie sur OK..

 

 

Capture d'écran 2024-11-21 103124.png

Et pour finir voici le LISP en question(voir pièce jointe):

 

Je vous remercie pour le temps que vous passez à m'aider et j'espère avoir apporté toutes les informations nécessaires🤗

 

Yvan Varela

;|https://bit.ly/2SyqL41   

TLEN.LSP - Total LENgth of selected objects
(c) 1998 Tee Square Graphics

|;

(defun C:LONG (/ ss tl n ent itm obj l)
  (setq ss (ssget)
        tl 0
        n (1- (sslength ss)))
  (while (>= n 0)
    (setq ent (entget (setq itm (ssname ss n)))
          obj (cdr (assoc 0 ent))
          l (cond
              ((= obj "LINE")
                (distance (cdr (assoc 10 ent))(cdr (assoc 11 ent))))
              ((= obj "ARC")
                (* (cdr (assoc 40 ent))
                   (if (minusp (setq l (- (cdr (assoc 51 ent))
                                          (cdr (assoc 50 ent)))))
                     (+ pi pi l) l)))
              ((or (= obj "CIRCLE")(= obj "SPLINE")(= obj "POLYLINE")
                   (= obj "LWPOLYLINE")(= obj "ELLIPSE"))
                (command "_.area" "_o" itm)
                (getvar "perimeter"))
              (T 0))
          tl (+ tl l)
          n (1- n)))
  ;(alert (strcat "Total length of selected objects is " (rtos tl)))
  (alert (strcat "La longueur total des objets selectionnes = " (rtos tl)))
  (princ)
)

 

 

 

0 J'aime
Message 7 sur 17

-didier-
Advisor
Advisor
Solution acceptée

Bonjour @y_varelaDEVAW 

 

Je n'ai pas utilisé le LSP fourni, car il date un peu maintenant.

Sélection d'une spline, apparition d'une mleader au point de sélection puis choix de l'utilisateur pour déposer la flèche.

J'ai fait "simple" en utilisant le style de ligne de repère courant, avec un seul point de contrôle.

Voici le visuel de la commande de mon fichier LSP testé sur LT :

Est-ce que ça vous va ?

Amicalement


2024-11-21_19-02-06.gif

 

 

 

 

Éternel débutant.. my site for learning : Programmer dans AutoCAD

DA

EESignature

Message 8 sur 17

manon_puel
Community Manager
Community Manager

Bonjour @y_varelaDEVAW, est-ce que la solution de @-didier- vous convient ? Merci


Manon Puel animatrice de la communauté francophone
0 J'aime
Message 9 sur 17

y_varelaDEVAW
Participant
Participant

Woaou merciiiii tu me sauve la vie merci beaucoup !!!🙏🙏🙏 

Mesurer les 367 splines je vais les faire les doigts dans le nez grâce à toi 😁

Message 10 sur 17

y_varelaDEVAW
Participant
Participant

Bonjour @-didier- 

 

Qu'est-ce que je peux changer dans ton code pour pouvoir également sélectionner les Polylignes et Lignes ? 

 

 

;|
demande de y_varelaDEVAW
sur le site Autodesk
https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/create-mleader-in-lisp/td-p/8334521
extraire la longueur d'une SPLINE et dessiner une MLEADER qui renseigne cette longueur
Le nombre de décimales est géré par la variable LUPREC
|;
(defun c:y_varelaDEVAW ( / ent pt)
    (setq ent (entsel"\nChoix de la spline \n"))
    (if (= "SPLINE" (cdr (assoc 0 (entget (car ent)))))
        (progn
            (setq pt (vlax-curve-getclosestpointto (car ent) (cadr ent)))
            (command "_mleader" pt pause (rtos
                      (vlax-curve-getDistAtParam (car ent)
                          (vlax-curve-getEndParam (car ent))
                          )
                      )
                     )
            );fin progn
    (alert "L'entité sélectionnée n'est pas une SPLINE")
    );fin du if c'est une spline ou non
    );fin defun
(prompt "\nLe nom de la commande est y_varelaDEVAW")
(princ)

 

 

 

 

0 J'aime
Message 11 sur 17

-didier-
Advisor
Advisor
Solution acceptée

Bonjour @y_varelaDEVAW 

 

Désolé, je n'avais pas vu ce message, je viens réparer mon retard de réaction en livrant la version 02.
Merci de me tenir au courant si la demande est remplie, soit en acceptant la solution, soit en faisant un commentaire explicatif.
Je l'ai testé avec succès dans une version LT.

 

Amicalement

Éternel débutant.. my site for learning : Programmer dans AutoCAD

DA

EESignature

Message 12 sur 17

y_varelaDEVAW
Participant
Participant

Bonjour @didier,

 

Merci beaucoup pour ton travail ! C'est tout bon pour moi c'est parfait 

 

Bonne journée

 

Yvan Varela

0 J'aime
Message 13 sur 17

g.lebret
Explorer
Explorer

Bonjour Didier,

merci pour le Lisp !!

J'aurai juste besoin d'une info, quand je l'utilise j'ai trop de chiffre après la virgule, mon Dimzin était sur 8, je l'ai mis sur 4, mais j'ai toujours le même nombre après la virgule...

Aurais-tu une solution ? s'il te plait.

MERCI!!!!! 

0 J'aime
Message 14 sur 17

_gile
Consultant
Consultant

@g.lebret  a écrit :

J'aurai juste besoin d'une info, quand je l'utilise j'ai trop de chiffre après la virgule, mon Dimzin était sur 8, je l'ai mis sur 4, mais j'ai toujours le même nombre après la virgule...


C'est écrit dans les commentaires de la routine : 

Le nombre de décimales est géré par la variable LUPREC

 



Gilles Chanteau
Programmation AutoCAD LISP/.NET
GileCAD
GitHub

Message 15 sur 17

rebcao
Mentor
Mentor

Bonjour,

 

Même si pour moi vous avez donné la/des solutions, je vous propose pour ceux qui ne sont  toujours pas sur des versions LT 2024 et PLUS à traiter ce problème à l'aide de MACROS et de BLOC via une PALETTE D'OUTILS...

 

En pièce jointe le ZIP, contenant le dessin d'exemple contenant un BLOC à exporter éventuellement dans un dossier connu d'AutoCAD et une PALETTE D'OUTIL qui permet de GERER l'accès aux "commandes"...

 

J'ai fait le choix de placer le BLOC ou la LIGNE DE REPERE dans le calque de l'objet Mesuré ! c'est un choix ! Il suffirait de modifier les SARDINES... Euhhh non, les MACROS...

 

Christian


Formateur Indépendant, Consultant, AutoCAD, AutoCAD LT, REVIT MEP, INVENTOR -
www.rebcao.fr

Christian REB

0 J'aime
Message 16 sur 17

g.lebret
Explorer
Explorer

Merci Gilles pour la précision 🙂

J'ai lu trop vite le Lisp...

Bonne journée

0 J'aime
Message 17 sur 17

g.lebret
Explorer
Explorer

Bonjour Christian,

merci pour le ZIP !!

Bonne journée!

0 J'aime