vinz34 Posté(e) le 19 mai 2008 Posté(e) le 19 mai 2008 Salut, Un petit outil pour connaître le nom des Xrefs attachées au dessin.A ajuster selon les besoins. (defun c:lstxref (/ l) (vl-load-com) (setq l "LISTE DES XREFS DU PLAN\n\n") (vlax-for i (vla-get-filedependencies (vla-get-activedocument (vlax-get-acad-object))) (or (not (equal (vla-get-feature i) "Acad:XRef")) (setq l (strcat l "\n" (vla-get-filename i))))) (alert l)) Bonne journée.
bseb67 Posté(e) le 19 mai 2008 Posté(e) le 19 mai 2008 SAlut Vinz34! J'ai suivi ton lien donné à marcotic, mais la fonction vla-get-filedependencies comportedes défauts: - Si tu ajoutes une xref, mais que tu ne sauvegardes pas ton dessin de suite, l'xrefn'apparait pas dans ton message. - Si tu as des Xref déchargées à l'ouverture du dessin, elles ne sont pas pris en compte. Si tu les décharges et ne sauvegarde pas elles apparaitrons dans ton message. Vraiment dommage! :( J'utilisais aussi cette fonction au début (l'été dernier), mais je suis tombésur des plans ou mes lisps ne faisaient pas ce qu'ils devaient et c'est là que j'ai découvert ce grosproblème. C'est pourquoi j'utilise ceci maintenant: ;----------------------------------; ; nom: get_liste_xref ; ; role: renvoie sur forme de liste ; ; les noms des xrefs. Chaque ; ; xref sera un couple de ce ; ; genre: (nom de bloc . ; ; chemin_complet+nom_fichier); ; param: aucun ; ; retour: une liste de paires ; ; pointées ; ; nil => sinon ; ; date: 10/04/2008 ; ; Sébastien BLAES ; ;----------------------------------; (defun get_liste_xref( / res) (setq res '() bl_tmp (tblnext "BLOCK" t)) ; on boucle sur la liste des blocs (while bl_tmp ; un bloc est une référence externes si son 3ème bit vaut 1 ; donc un ET logique avec 4 doit renvoyer 4 (cond ; on test le 3ème bit ((= (boole 1 4 (cdr (assoc 70 bl_tmp))) 4) ; c'est bien une xref (setq res (append res (list (cons (cdr (assoc 2 bl_tmp)) (cdr (assoc 1 bl_tmp)))))) ) ) ; cond ; on passe au bloc suivant (setq bl_tmp (tblnext "BLOCK" nil)) ) ; while res ) ; get_liste_xref Tous pour lisp, Lisp pour tous!Avec Revit, cela ne vas trop vite...
lecrabe Posté(e) le 19 mai 2008 Posté(e) le 19 mai 2008 Hello Le vieux Decapode a toujours utilisé la bonne vieille commande clavier : -XREF puis ? pour voir la liste des XREFs du dessin dans l'ecran Texte d'AutoCAD (F2) :) et pour les Images Rasters : -IMAGE puis ? Le Decapode (préhistorique) :P Autodesk Expert Elite Team
MarcoTic Posté(e) le 19 mai 2008 Posté(e) le 19 mai 2008 Bien vu lecrabe.Merci de l'astuce. En plus on récupère un multi texteA plus
kallain Posté(e) le 22 mai 2008 Posté(e) le 22 mai 2008 Bonjour, Voici une réponse que j'avais faite sur un autre post citation extraite du message original: Si vous disposez du menu Express, vous pouvez utiliser un texte distant RTEXT qui utilise du langage DIESEL.A la ligne de commande taper RTEXT, puis taper DIESEL, dans le cadre, taper l'expression Diesel $(xrefs,1) valider par OK et positionner cet objet dans votre dessin Le chiffre 1 affiche par défaut le nom complet de la Xref, vous pouvez le combiner aux autres options : 2 pour afficher le nom du bloc, 4 pour ne pas afficher les extensions, 8 pour ne pas afficher le chemin (path), 16 pour afficher les xref imbriquées Par ex si vous souhaitez faire afficher uniquement le nom du fichier sans extension et et sans le chemin d'accès vous utiliserez le code 1+4+8=13, donc il faudra taper $(xrefs,13)
JBS67 Posté(e) le 1 avril 2009 Posté(e) le 1 avril 2009 bonjour, j'utilise la commande RTEXT puis l'expression DIESEL $(xrefs,16)Mais quand je veux sauvegarder cette liste xrefs sur l'espace papier ou objet rien ne se sauvegardeet la liste disparait !!!!!!!!!j'ai chercher dans les autres postes mais pas de réponse merci pour ton aide :)
JBS67 Posté(e) le 1 avril 2009 Posté(e) le 1 avril 2009 re-bonjour, Oups j'ai trouvé il faut faire simplement ENTRÉE SUR CLAVIER ;)
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant