Aller au contenu

Cacher les calques des XREF


sechanbask

Messages recommandés

Bonjour,

 

Est-ce qu'il existe une variable pour que les calques des XREF n'apparaissent plus dans "Tous" de la fenêtre "gestionnaire des propriété des calques" y'a pas un "Tous sauf Xref" ?

ATEGIE - Bureau d'Études Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

Lien vers le commentaire
Partager sur d’autres sites

merci (gile), je viens de reprendre mes gabarits pour utiliser ce filtre.

Je comprends pas pourquoi j'ai pas demandé avant, j'en avais tellement besoin !!

ATEGIE - Bureau d'Études Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

Lien vers le commentaire
Partager sur d’autres sites

Par contre, Honte à Autodesk de ne pas ajouter une case à cocher ou autre pour retenir ce choix ou enregistrer une préférence quelconque car la première chose que l'on fait quand on ouvre un fichier, c'est; "ouverture des calques" "filtres xref" et "inverser le filtre" "OK".

 

Et ca gonfle !!!

Autodesk Expert Elite Member

Lien vers le commentaire
Partager sur d’autres sites

Salut,

En complément. Comme tu l'as remarqué, l'inversion de filtre n'est pas repris à l'ouverture du fichier. Ce qui est baloure.... Mais le filtre oui.

 

Du coup, la solution de (Gile) reste la meilleur solution.

 

A plus.

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Lien vers le commentaire
Partager sur d’autres sites

c'est vrai que c'est grave lourd...

du coup, y aurait il un moyen d'automatiser la création de ce filtre. Du genre avoir un alias ou un bouton pour créer le filtre tout en masquant la visibilité des Xref..

 

Mais je voie pas trop comment, les option dans " -calque" ne donnent pas accès aux filtres

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Je crains que ça ne soit pas possible en macro mais les spécialistes (rebcao, si tu passes par là) me contrediront peut-être.

 

Les filtres de calques sont stockés dans des Xrecords (enrgistrements) dans le dictionnaire "ACAD_LAYERFILTERS", lui même stocké dans le dictionnaire d'extension de la table des calques.

 

Il est tout à fait possible de créer ce filtre en LISP.

Voici un exemple en pur AutoLISP (qui devrait donc aussi fonctionner sur AutoCAD MAC).

 

;; gc:GetOrCreateExtDict (gile)
;; Retourne le dictionnaire d'extension de l'entité
;; Le dictionnaire est créé s'il n'existe pas
;;
;; Argument : ent (ENAME)

(defun gc:GetOrCreateExtDict (ent / dict)
 (cond
   ((cdadr (member '(102 . "{ACAD_XDICTIONARY") (entget ent))))
   ((setq dict	(entmakex
	  '((0 . "DICTIONARY") (100 . "AcDbDictionary"))
	)
    )
    (entmod (append (entget ent)
	     (list '(102 . "{ACAD_XDICTIONARY")
		   (cons 360 dict)
		   '(102 . "}")
	     )
     )
    )
    dict
   )
 )
)

;; gc:GetOrCreateDict
;; Retourne le ENAME du dictionnaire trouvé ou créé s'il n'exstait pas
;;
;; Arguments
;; dict : ENAME du dictionnaire parent
;; name : nom du dictionnaire à chercher ou créer

(defun gc:GetOrCreateDict (dict name)
 (if (snvalid name)
   (cond
     ((cdr (assoc -1 (dictsearch dict name))))
     ((dictadd	dict
	name
	(entmakex '((0 . "DICTIONARY") (100 . "AcDbDictionary")))
      )
     )
   )
 )
)

;; Commande : NoXrefFilter
;; Crée le filtre de calque "Sauf xref" s'il n'existe pas déjà

(defun c:NoXrefFilter (/ layerTable layerFilters)
 (setq	layerTable   (cdr (assoc 330 (entget (tblobjname "LAYER" "0"))))
layerFilters (gc:GetOrCreateDict (gc:GetOrCreateExtDict layerTable) "ACAD_LAYERFILTERS")
 )
 (if (not (dictsearch layerFilters "Sauf xref"))
   (dictadd layerFilters
     "Sauf xref"
     (entmakex
       '((0 . "XRECORD")
	 (100 . "AcDbXrecord")
	 (280 . 1)
	 (1 . "Sauf xref")
	 (1 . "~*|*")
	 (1 . "*")
	 (1 . "*")
	 (70 . 0)
	 (1 . "*")
	 (1 . "*")
	 (-3 ("ACAD" (1000 . "(NAME==\"~*|*\")")))
	)
     )
   )
 )
 (princ)
)
(princ "\nEntrez : NOXREFFILTER pour lancer la commande")
(princ)

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

Pourquoi créer ce filtre alors qu'il existe. La seule différence est que celui qui existe les affiche, donc il faut l'inverser, alors que celui créé les masque.

 

Dans tout les cas à l'ouverture aucun des deux ne sera actif !

Autodesk Expert Elite Member

Lien vers le commentaire
Partager sur d’autres sites

  • 3 ans après...

Un p'tit mix entre les deux et surtout parce que je n'ai pas compris quoi faire avec "~*|*" Gile... On met le texte du nom de calque à la place de ~ ?

 

Je créé un filtre de groupe "Sans XRef" que je laisse vide.

Je fais un filtre des propriété avec inverser.

Je mets les calques du filtre des propriété dans le filtre de groupe.

 

Evidement, les mise à jour ne sont pas automatique donc c'est moyen. Ca passe sur un fichier avec peu d'évolution.

Mais c'est simple à retenir comme bidouille.

Dessin, Synthèse, Conseil, en Etude et Exécution.

Lien vers le commentaire
Partager sur d’autres sites

Un p'tit mix entre les deux et surtout parce que je n'ai pas compris quoi faire avec "~*|*" Gile... On met le texte du nom de calque à la place de ~ ?

 

"~*|*" est un modèle utilisant les caractères génériques qui signifie : toutes les chaînes qui ne contiennent pas de barre verticale (|).

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

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é