Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Mon 07 October 2013 15:22

Dylan
Participant occasionnel
Date d'inscription: 14 Jan 2013
Messages: 19

[AutoCAD] LISP sélection de polyligne particulière

Bonjour,

J'aimerais créer ou trouver un LISP existant qui me permettrai de sélectionner des polylignes particulières dans mon dessin :
je souhaite sélectionner les polylignes qui n'ont pas d'accroche à un bloc à chaque extrémité.

est-ce faisable ?

Hors ligne

 

#2 Tue 08 October 2013 14:33

gegematic
Participant assidu
Lieu: Albertville
Date d'inscription: 24 Feb 2010
Messages: 192
Site web

Re: [AutoCAD] LISP sélection de polyligne particulière

Salut,
ce programme marche pour sélectionner les polylignes qui n'ont aucun bloc (complètement orphelines)
tu l'adaptera à ton besoin, ça te fera un exercice...
je l'ai fait en visual lisp pour qu'il soit "Standalone" mais ce n'est pas m'a tasse de thé, c'est un peu pénible.
Gégé


(defun c:sel_poly_sans_bloc ( / doc ssres obj coord lcord p1 p2)
(setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
(setq ssRes (ssadd))
(if (ssget "x" '((0 . "LWPOLYLINE")))
    (vlax-for obj (vla-get-ActiveSelectionSet doc)
      (setq coord (vla-get-Coordinates obj ))
      (setq lcord (vlax-variant-value coord))
      (setq lcord (vlax-safearray->list lcord))
      (setq p1 (list (car lcord)(cadr lcord)))
      (setq lcord (reverse lcord))
      (setq p2 (reverse (list (car lcord)(cadr lcord))))
      (if (or (ssget "x" (list '(0 . "insert") (cons 10 p1)))
          (ssget "x" (list '(0 . "insert") (cons 10 p2)))
          )
    (prompt "\nA un bloc")
    (setq ssRes (ssadd (vlax-vla-object->ename obj) ssRes))
      )
      )
  )
  (sssetfirst ssRes ssres)
)

Hors ligne

 

#3 Tue 08 October 2013 16:27

Dylan
Participant occasionnel
Date d'inscription: 14 Jan 2013
Messages: 19

Re: [AutoCAD] LISP sélection de polyligne particulière

Bonjour,

Merci du coup main ! le LISP fonctionne bien, mais sans vouloir abuser, quelles sont les pistes possibles pour modifier ce LISP de manière à ajouter une partie supplémentaire :  selectionner une polyligne avec seulement bloc à une des ses extrémités ?

Encore merci !!

Hors ligne

 

#4 Tue 08 October 2013 17:28

Dylan
Participant occasionnel
Date d'inscription: 14 Jan 2013
Messages: 19

Re: [AutoCAD] LISP sélection de polyligne particulière

c'est bon j'ai réussi.
Merci

Hors ligne

 

#5 Tue 08 October 2013 17:35

gegematic
Participant assidu
Lieu: Albertville
Date d'inscription: 24 Feb 2010
Messages: 192
Site web

Re: [AutoCAD] LISP sélection de polyligne particulière

salut,
tu abuses !

(defun c:sel_poly_orphelines ( / doc ssres obj coord lcord p1 p2)
(setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
(setq ssRes (ssadd))
(if (ssget "x" '((0 . "LWPOLYLINE")))
    (vlax-for obj (vla-get-ActiveSelectionSet doc)
      (setq coord (vla-get-Coordinates obj ))
      (setq lcord (vlax-variant-value coord))
      (setq lcord (vlax-safearray->list lcord))
      (setq p1 (list (car lcord)(cadr lcord)))
      (setq lcord (reverse lcord))
      (setq p2 (reverse (list (car lcord)(cadr lcord))))
      (if (and (ssget "x" (list '(0 . "insert") (cons 10 p1)))
          (ssget "x" (list '(0 . "insert") (cons 10 p2)))
          )
    (prompt "\nA ses deux bloc")
    (setq ssRes (ssadd (vlax-vla-object->ename obj) ssRes))
      )
      )
  )
  (sssetfirst ssRes ssres)
)

Hors ligne

 

#6 Wed 09 October 2013 09:52

Dylan
Participant occasionnel
Date d'inscription: 14 Jan 2013
Messages: 19

Re: [AutoCAD] LISP sélection de polyligne particulière

Salut ! Merci beaucoup c'est exactement le résultat que je voulais ! milles bravo à toi ! et à bientôt qui sait wink !

Hors ligne

 

Pied de page des forums

Powered by FluxBB