Aller au contenu

[Résolu] Effacer éléments d'une zone


yusukens82

Messages recommandés

bonjour,

j'ai besoin d'une aide pour élaborer une routine simple

(mais compliqué pour un débutant)

 

Le but est de supprimer les éléments dans une zone définie.

 

pour cela j'ai 3 pistes :

 

(defun c:TEST1 ()
(setq
pt1 '(0.0 0.0)
pt2 '(3000.0 3000.0)
(setq ss1 (ssget "X"))
(command "EFFACER" ssget)
(setq ss1 nil)
)

 

(defun c:TEST2 ()
(command "EFFACER" '(0.0 0.0)  '(3000.0 3000.0) "")
)

 

(defun c:TEST3 ()
(ssget "_W" '(0 0) '(3000 3000))
(ssdel ename jsel)
) 

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Si tu veux faire une sélection par fenêtre (ou par capture) il faut spécifier la méthode de sélection du ssget : "_W" pour Window (ou "_C" pour Crossing).

Voir l'aide ou, en français la section 16.3 de Introduction à AutoLISP.

 

Sinon, il est toujours préférable de vérifier si le jeu de sélection n'est pas nil (aucun objet sélectionné) avant de l'utiliser.

 

(defun c:test (/ ss)
 (if (setq ss (ssget "_W" '(0. 0. 0.) '(3000. 3000. 3000.)))
   (command "_.erase" ss "")
 )
 (princ)
)

 

De plus, une sélection dans AutoCAD dépend de l'affichage (les objets hors écran ne sont pas sélectionnés) il est donc préférable de faire un zoom étendu ou correspondant à la fenêtre avant de faire la sélection.

 

(defun c:test (/ ss)
 (command "_.zoom" '(0. 0. 0.) '(3000. 3000. 3000.))
 (if (setq ss (ssget "_W" '(0. 0. 0.) '(3000. 3000. 3000.)))
   (command "_.erase" ss "")
 )
 (command "_.zoom" "_previous")
 (princ)
)

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

Lien vers le commentaire
Partager sur d’autres sites

Hello Gilles

 

Nous avons la nouvelle selection POSSIBLE "Off SCreen" avec la version 2018

http://blogs.autodesk.com/autocad/autocad-2018-object-selection-enhancements/

Voir la nouvelle variable: SELECTIONOFFSCREEN

 

Cela s'applique t-il a des programmes LSP, Dotnet, etc ???

 

Merci d'avance, Bye, lecrabe

Autodesk Expert Elite Team

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é