Aller au contenu

Ouvrir une polyligne sur le segment sélectionné


(gile)

Messages recommandés

Salut,

 

Suite à une discussion sur un forum étranger, je me suis amusé à faire une petite routine qui ouvre une polyligne fermée sur le segment sélectionné (ou déplace l'ouverture d'une polyligne ouverte). Les arcs et largeurs (constantes ou non) sont conservées.

 

;; PLOPEN (gile)
;; Ouvre une polyligne fermée sur le segment sélectionné
;; ou déplace l'ouverture d'une polyligne ouverte

(defun c:PlOpen (/ pl pt pa l1 l2 l3 cl)
 (vl-load-com)
 (if (and
       (setq pl (entsel "\nSelectionnez le segment: "))
       (setq pt (trans (osnap (cadr pl) "_nea") 1 0))
       (setq el (entget (setq pl (car pl))))
       (= "LWPOLYLINE" (cdr (assoc 0 el)))
     )
   (progn
     (foreach p el
       (if (member (car p) '(10 40 41 42))
         (setq l2 (cons p l2))
         (setq l1 (cons p l1))
       )
     )
     (setq l2 (reverse l2)
           cl (assoc 70 el)
     )
     (repeat (1+ (fix (vlax-curve-getParamAtPoint pl pt)))
       (setq l2 (append (cddddr l2)
                        (list (car l2) (cadr l2) (caddr l2) (cadddr l2))
                )
       )
     )
     (entmod (append (subst (cons 70 (Boole 2 (cdr cl) 1)) cl (reverse l1)) l2)
     )
   )
 )
 (princ)
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é