Aller au contenu

Références externes indélogables


XYZ

Messages recommandés

Bonjour à tous

 

Question précise: Comment enlever DÉFÉNITIVEMENT les références externes qui trainent dans mon Gabarit (template)?

Réponse d'Autocad: clic droit dans la palette des références externes, puis DÉTACHER.

.................................SANS EFFET........

 

Il vient un temps où les qualités d'un logiciel se diluent dans une mer de défauts.

 

:casstet:

 

Si quelqu'un a un idée.....!

 

Michel

Lien vers le commentaire
Partager sur d’autres sites

hello,

 

des Xrefs dans un Template ?????????

les seules Xrefs dures à détacher

sont celles qui sont en Xref dans un fichier lui même en Xref.

 

Tu es dans TATA

dans TOTO, TITI est en Xref

lorsque tu vas attacher TOTO en Xref

TITI apparaîtra, et là tu ne peux la détacher directement de TOTO

 

mon exemple est plus simple que la vie de tous les jours mais c'est l'esprit

 

amicalement

Lien vers le commentaire
Partager sur d’autres sites

Salut XYZ

 

Essaies moi ça pour voir

 

 ;;; XREF_PURGE version 1.2
;;; Purge les xrefs non référencées

(defun c:xref_purge (/ AcDoc lay n l_lst blocks name n_lst cnt item obj x_lst)

;; Chargement des fonctions ActiveX

(vl-load-com)

;; AcDoc : pointeur vers le document actif

(setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)))


;; Dévérouillage de tous les calques

(repeat (setq n (vla-get-count (vla-get-Layers AcDoc)))
(setq lay (vla-item (vla-get-Layers AcDoc) (setq n (1- n))))
(if (= :vlax-true
(vla-get-lock lay)
)
(progn
(vla-put-lock lay :vlax-false)
(setq l_lst (cons lay l_lst))
)
)
)

;; Pour chaque nom de xref de la collection, on teste si une référence
;; est présente dans le dessin, si non la xref est détachée du dessin

(vlax-for x (setq blocks (vla-get-Blocks AcDoc))
(if (and (= :vlax-true (vla-get-isXref x))
(/= 0 (vla-get-count x))
(not (member (setq name (vla-get-name x)) n_lst))
)
(setq n_lst (cons name n_lst))
)
)
(foreach n n_lst
(repeat
(setq cnt (vla-get-Count (setq item (vla-item blocks (eval n)))))
(setq obj (vla-item item (setq cnt (1- cnt))))
(if (and (= (vla-get-objectname obj) "AcDbBlockReference")
(member (vla-get-Name obj) n_lst)
)
(setq x_lst (cons (vla-get-Name obj) x_lst))
)
)
)
(foreach n n_lst
(if (member (eval n) x_lst)
(setq n_lst (vl-remove (eval n) n_lst))
)
)
(foreach n n_lst
(if (not
(ssget "_X"
(list (cons 0 "INSERT") (cons 2 (eval n)))
)
)
(vla-detach (vla-item (vla-get-Blocks AcDoc) (eval n)))
)
)

;; Restauration de l'état des calques

(if l_lst
(mapcar '(lambda (x)
(vla-put-lock x :vlax-true)
)
l_lst
)
)
(princ)
)

 

Merci (gile)

@+

 

[Edité le 24/1/2008 par lesourd2]

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é