Message 1 sur 5
Non applicable
12-18-2015
03:46 PM
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Lien permanent
- Imprimer
- Signaler
Hello,
J'ai fait ce script qui supprime les points dans le dessin et à l'intérieur des blocs.
Il fonctionne très bien tant qu'il n'y a pas de xrefs...
Est-ce que vous savez comment faire pour supprimer les xrefs de la sélection ?
(defun c:DELPOINTS ()
(setq points (ssget "_x" '((0 . "POINT"))))
(command "_ERASE" points "")
(vl-load-com) ; chargement vl
(setq blocs (ssget "_x" '((0 . "INSERT")))) ; sélection de tous les blocs dans le dessin
(setq nblocs (sslength blocs)) ; calcul du nombre de blocs
(repeat nblocs ; boucle d'itération
(setq nblocs (1- nblocs)) ; incrémentation
(setq name (ssname blocs nblocs)) ; récupération du Ename du bloc à l'indice spécifique
(setq sbn (vla-get-effectivename (vlax-ename->vla-object name))) ; obtention du nom réel
(command "-modifbloc" sbn) ; ouverture du bloc à l'indice spécifique
(if (setq dp (ssget "_X" '((0 . "POINT")))) ; s'il y a des points suppresion de ceux ci
(command "_ERASE" dp "" "fermerbloc" "E") ; suppresion et fermeture du blocs quand il y a des points
(command "fermerbloc") ; fermeture du bloc s'il n'a pas de points
)
)
)
D'avance merci beaucoup !
Résolu ! Accéder à la solution.