Invité ingoenius Posté(e) le 12 octobre 2007 Posté(e) le 12 octobre 2007 je cherche a a jouter un sommer a une polylgne , par autolips, je passe en osmode 515 je lance la commande pedit jusqu' a insere sommet, mais quand je clique a l'endroit sohuaité, il cree le sommet, mais il deplace aussi le sommet active dans cette position, est possible simplemant cliquer sur la poliligne et ajouter un sommet dans ce point preicis?? merci
Matt666 Posté(e) le 12 octobre 2007 Posté(e) le 12 octobre 2007 le pb c'est qu'il faut savoir entre quel sommets il faut ajouter le sommet. Soit tu sélectionnes les deux sommets entre lesquels le nouveau sommet sera ajoutéSoit tu trouves les deux sommets les plus proches. "Chacun compte pour un, et nul ne compte pour plus d'un."
(gile) Posté(e) le 12 octobre 2007 Posté(e) le 12 octobre 2007 Salut, Regarde AddVtx&DelVtx sur cette page. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Invité ingoenius Posté(e) le 12 octobre 2007 Posté(e) le 12 octobre 2007 je doute que ce soit facile alors, j'ai trouve une routine en vlisp ici sur le forum "addvtx" mais elle demande une fois de selectionner l'objet et une deuxieme fois de selectionner l'endroit ou rajouter le sommet, il y a pas une facon de lui faire selectionner une seule fois la poliligne et ensuite utilisant quelque variable detecter le dernier point quel on a cliquée a l'ecran (pour selectioner l'objet) et l'utiliser pour determiner ou rajouter le sommet??
Matt666 Posté(e) le 12 octobre 2007 Posté(e) le 12 octobre 2007 Alors essaie cette petite chose, dans ce cas....;;; 1 - Ajout de sommets en sélectionnant une polyligne (defun c:APL (/ CMDECHO ENT ENTL SSET) (setq cmdecho (getvar "cmdecho")) (setvar "cmdecho" 0) (cond ((and (setq ent (entsel "\nSélectionner la polyligne : ")) (member (cdr (assoc 0 (entget (car ent)))) '("POLYLINE" "LWPOLYLINE")) ) (setq entl (entlast) sset (ssadd)) (command "_BREAK" (cadr ent) (cadr ent)) (while (setq entl (entnext entl))(ssadd entl sset)) (command "pedit" (car ent) "J" (ssname sset 0) "" "") ) ) (setvar "cmdecho" cmdecho) (princ) ) ;;;2- Ajout d'un sommet en sélectionnant un point sur une polyligne sans la sélectionner (defun c:APL (/ OSMODE CMDECHO PT SEL ENTL SSET) (setq osmode (getvar "osmode") cmdecho (getvar "cmdecho")) (setvar "osmode" 515) (setvar "cmdecho" 0) (cond ((and (setq pt (getpoint "\npointer sur le point de la polyligne à ajouter : ")) (setq sel (ssget pt)) (member (cdr (assoc 0 (entget (ssname sel 0)))) '("POLYLINE" "LWPOLYLINE")) ) (setq entl (entlast) sset (ssadd)) (command "_BREAK" pt pt) (while (setq entl (entnext entl))(ssadd entl sset)) (command "pedit" (ssname sel 0) "J" (ssname sset 0) "" "") ) ) (setvar "osmode" osmode) (setvar "cmdecho" cmdecho) (princ) ) Dis moi ce que tu en penses !!Si tu n'arrives pas à comprendre dis moi et je t'expliquerai. EDIT : Ajout d'une routine qui sélectionne la polyligne en sélectionnant un point de celle-ci... [Edité le 12/10/2007 par Matt666] "Chacun compte pour un, et nul ne compte pour plus d'un."
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