Aller au contenu

[Résolu] Select et Joindre...


DenisHen

Messages recommandés

Bonjour à tous.

 

Déjà, une heureuse et bonne année à tous...

 

Ça faisait longtemps que je n'étais pas venu faire un tour ici, j'arrive de plus en plus à me débrouiller seul (avec da-code bien sur).

 

Mais aujourd'hui, je pense avoir besoin d'aide...

 

Mes collègues de terrain, qui font des relevés topo, me fournissent un dessin avec des LWPOLYLINE avec chacune leur propre élévation... Donc, impossible à joindre. Comme l'élévation ne signifie rien, je les place donc à 0.0. Ensuite, j'aimerais joindre cet ensemble de polylignes, quelles qu'elles soient (c'est souvent un groupe de polylignes qui se suivent et qui se jouxtent, avec une "presque" parallèle. Un peu comme un mur.

 

J'ai donc écris ça, qui fonctionne très bien, mais ne me joint pas les lignes après traitement.

;;;*****************************************************************
;;; Supprime les élévations des polylignes et les joint entre elles 
;;;*****************************************************************
(defun c:Cofely_SupElev (/ ss i ent elst)
 (if (setq ss (ssget "_:S" '((0 . "LWPOLYLINE"))))
   (progn (setq i 0)
          (while (setq ent (ssname ss i))
            (setq i    (1+ i)
                  elst (entget ent)
            ) ;_ Fin de setq
            (cond ((= (cdr (assoc 0 elst)) "LWPOLYLINE")
                   (setq elst (subst (cons 38 0.0) (assoc 38 elst) elst))
                   (entmod elst)
                  )
            ) ;_ Fin de cond
          ) ;_ Fin de while
   ) ;_ Fin de progn
 ) ;_ Fin de if
 (command "select" "p" "")    <- Ce doit être sur ces deux lignes 
 (command "joindre" "p" "")   <- qu'est le problème...
 (princ)
) ;_ Fin de defun

 

Si quelqu'un a une solution, une idée... Je suis preneur...

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)

Lien vers le commentaire
Partager sur d’autres sites

(gile) m'avait pondu une routine pour joindre des lignes ou poly (il faut au moins une ligne dans la sélection

 

il passait pas par "joindre" peut etre peux tu t'en inspirer?

 


(defun c:jpl (/ ss)
(and (or
(and (= (getvar "pickfirst") 1)
(setq ss (ssget "_I" '((0 . "ARC,LINE,LWPOLYLINE"))))
)
(setq ss (ssget '((0 . "ARC,LINE,LWPOLYLINE"))))
)
(if (= (getvar "peditaccept") 1)
(vl-cmdf "_.pedit" "_m" ss "" "_j" 0.0 "")
(vl-cmdf "_.pedit" "_m" ss "" "_y" "_j" 0.0 "")
)
)
(princ)
) 

 

Lien vers le commentaire
Partager sur d’autres sites

Salut x_all et merci pour ta réponse.

 

Mon problème est que je sélectionne plusieurs polylignes un peu dans tous les sens et seule la commande "joindre" s'en sort pour cette technique.

 

je ne pense pas passer pouvoir par "pedit", mais je vais chercher dans ton sens...

 

PS : je viens de faire quelques testes, ça fonctionne nickel...

 

Encore merci...

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)

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é