Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 07/09/2024 dans Messages

  1. Bonjour @Kobi66, Etant donné que le dessin est coté, c'est plus rapide et fiable de reconstruire les polylignes jaune, puis d'utiliser un programme lisp pour écrire les sommets de ces polylignes en fichier TXT comme le propose @didier sur son site : https://www.da-code.fr/poly-05/ Une petite vidéo pour reconstruire par les cotes et coordonnées : https://youtu.be/p2QnWmGMZLs Olivier
    1 point
  2. Bonsoir @DessProj429, Voilà un bout de code qui devrait faire l'affaire. J'ai mis des commentaires pour clarifier ce que fait chaque ligne du lisp (vl-load-com) (defun C:Bordure ( / oPoly1 oPoly2 lsPts1 lsPts2 oLine AddLine GetListVtx) ; fonction de création d'une ligne (defun AddLine (pt1 pt2) (entmake (list (cons 0 "LINE") (cons 10 pt1) (cons 11 pt2) ) ) ) ; fonction d'extraction des sommets d'un polyligne (defun GetListVtx (oPoly / p) (repeat (setq p (1+ (fix (setq p (vlax-curve-getEndParam oPoly))))) (setq l (cons (vlax-curve-getPointAtParam oPoly (setq p (1- p))) l)) ) ) ; Sélection de la 1ère polyligne (if (and (setq oPoly1 (car (entsel "\n1ère polyligne : "))) ; vérifie que c'est une polyligne (= "LWPOLYLINE" (cdr (assoc 0 (entget oPoly1)))) ; vérifie qu'elle n'est pas close (/= 1 (logand (cdr (assoc 70 (entget oPoly1))) 1)) ;Sélection de la 2nde polyligne (setq oPoly2 (car (entsel "\n2ème polyligne : "))) ; vérifie que c'est une polyligne (= "LWPOLYLINE" (cdr (assoc 0 (entget oPoly2)))) ; vérifie qu'elle n'est pas close (/= 1 (logand (cdr (assoc 70 (entget oPoly2))) 1)) ; extrait la liste des sommets de la poly 1 (setq lsPts1 (GetListVtx oPoly1)) ; extrait la liste des sommets de la poly 2 (setq lsPts2 (GetListVtx oPoly2)) ; construit la ligne passant par le 1er sommet de chaque polyligne (addLine (car lsPts1) (car lsPts2)) ) (progn ; récupère la ligne crée (setq oLine (entlast)) ; assemble les 2 polylignes, plus la ligne et clos la polyligne résultante (command "_PEDIT" oPoly1 "_J" oPoly2 oLine "" "_C" "") ) ) ) Olivier
    1 point
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité