Comment résoudre les problèmes d’estompage des hachures dans les XREFs et le comportement inattendu de la commande DISTANCE (ou son alias) dans AutoCAD 2015 ?
Dans AutoCAD 2015, deux problèmes fréquents peuvent survenir : l’estompage des hachures dans les références externes (XREFs) ne fonctionne pas correctement, et la commande DISTANCE (ou son alias) ne se comporte plus comme attendu.
Problème 1 : Estompage des hachures dans les XREFs
Diagnostic : Lorsque la variable système XDWGFADECTL (contrôle de l’estompage des XREFs) est définie sur une valeur supérieure à 0, les hachures contenues dans les XREFs ne sont pas estompées, contrairement aux autres objets. Il s’agit d’un bug confirmé dans AutoCAD 2015.
Solutions de contournement :
-
Appliquer la transparence aux calques dans l’espace objet :
- Au lieu de s’appuyer sur l’estompage global des XREFs, définissez une transparence directement sur les calques des hachures (ou de l’ensemble de la XREF) dans le dessin source de la XREF, ou via le Gestionnaire des calques dans le dessin hôte.
- Assurez-vous que cette transparence est appliquée dans l’espace objet (modèle) et non uniquement dans les fenêtres d’impression, car cela pourrait ne pas affecter l’affichage en temps réel.
-
Utiliser la délimitation de XREF (commande
XCLIP) :- Si vous délimitez (clippez) la référence externe à l’aide de la commande
XCLIP, l’estompage des hachures à l’intérieur de la zone délimitée fonctionnera correctement. - Cette solution est particulièrement utile si vous n’avez besoin d’afficher qu’une partie de la XREF.
- Si vous délimitez (clippez) la référence externe à l’aide de la commande
-
Attendre un Service Pack : Il était recommandé à l’époque d’attendre une mise à jour officielle d’Autodesk pour corriger ce bug.
Problème 2 : Comportement de la commande DISTANCE et de son alias
Diagnostic : Dans AutoCAD 2015, le comportement de la commande DISTANCE a été modifié, et l’ancienne commande est désormais accessible sous le nom DIST. La nouvelle commande MEASUREGEOM peut également prêter à confusion, entraînant des résultats immédiats sans permettre la sélection de points.
Solutions et Bonnes Pratiques :
-
Utiliser la commande
DIST:- L’ancienne commande
DISTANCEest maintenant accessible directement en tapantDISTdans la ligne de commande. Vous pouvez mettre à jour votre alias personnalisé (par exemple,DIouD) pour qu’il pointe versDISTdans votre fichierACAD.PGP.
- L’ancienne commande
-
Utiliser un LISP personnalisé pour
DIST(recommandé pour plus de flexibilité) :-
Un LISP permet de personnaliser la commande
DISTpour inclure des fonctionnalités supplémentaires, comme la sélection d’objets (lignes, polylignes, arcs, etc.) pour mesurer leur longueur totale ou la longueur d’un segment, ce qui n’est pas possible avec la commandeDISTnative. -
Procédure :
- Création du fichier LISP : Copiez le code LISP ci-dessous dans un éditeur de texte (comme le Bloc-notes) et enregistrez-le avec l’extension
.LSP(ex:mon_dist.lsp). - Chargement du LISP : Dans AutoCAD, utilisez la commande
APPLOAD(ou_APPLOAD). Naviguez jusqu’à votre fichier.LSPet chargez-le. Pour un chargement automatique à chaque démarrage d’AutoCAD, ajoutez-le au « Jeu de démarrage » dans la boîte de dialogueAPPLOAD. - Utilisation : Une fois le LISP chargé, tapez
DIST(ou votre alias personnaliséDsi vous l’avez configuré pour pointer versDIST) dans la ligne de commande. Vous aurez alors l’option de spécifier deux points ou d’appuyer surEntréepour sélectionner un objet.
- Création du fichier LISP : Copiez le code LISP ci-dessous dans un éditeur de texte (comme le Bloc-notes) et enregistrez-le avec l’extension
-
Code LISP (
mon_dist.lsp) :;; Lisp proposé par "(gile)" via CadXP (defun c:DIST (/ p1 p2 ent obj tot par) (vl-load-com) (if (setq p1 (getpoint "\nSpécifiez le premier point ou <Sélectionnez un objet>: " ) ) (progn (while (not (setq p2 (getpoint p1 "Spécifiez le deuxième point: "))) ) (princ (strcat "\nDistance : " (rtos (distance p1 p2)) ) ) ) (if (and (setq ent (entsel)) (not (vl-catch-all-error-p (setq p2 (vl-catch-all-apply 'vlax-curve-getEndParam (list (setq obj (vlax-ename->vla-object (car ent)))) ) ) ) ) ) (progn (setq tot (vlax-curve-getDistAtParam obj p2)) (if (wcmatch (vla-get-ObjectName obj) "*Polyline") (progn (if (= (vla-get-ObjectName obj) "AcDb2dPolyline") (setq p1 (vlax-curve-getClosestPointToProjection obj (trans (cadr ent) 1 0) (trans '(0 0 1) 2 0 T) ) ) (setq p1 (trans (osnap (cadr ent) "_nea") 1 0)) ) (setq par (vlax-curve-getParamAtPoint obj p1)) (princ (strcat "\nDistance totale : " (rtos tot) " Segment sélectionné : " (rtos (- (vlax-curve-getDistAtParam obj (1+ (fix par))) (vlax-curve-getDistAtParam obj (fix par)) ) ) ) ) ) (princ (strcat "\nDistance : " (rtos tot))) ) ) (princ "\nEntité non valide.") ) ) (princ) )
-
Ces solutions vous permettront de retrouver une expérience de travail fluide avec l’estompage des XREFs et la commande de mesure dans AutoCAD 2015.