Atomick Posté(e) le 21 octobre 2014 Posté(e) le 21 octobre 2014 Bonjour,Nouvelle journée = Nouveaux problèmes Quelqu'un sait il si on peut mettre en XREF qu'une présentation d'un fichier reçu? Je m'explique :J'ai reçu un fichier DWG avec plusieurs présentations (calques activés/désactivés selon les présentations). Dans l'espace Objet c'est le foutoir. Tout est superposé et je n'ai aucune méthode de selection intelligente me permettant de geler les calques parasites.Par contre, chaque présentation correspond à un plan que j'aimerais pouvoir mettre en XREF. AU SECOURS!!!!! :o
Tramber Posté(e) le 21 octobre 2014 Posté(e) le 21 octobre 2014 Tu peux créer des fichiers grâce à la commande EXPORTPRESENT.C'est tout ce que j'aurais en magasin si j'ai compris ton souci. Mais hélas, les dessins exportés seraient délimités comme ils le sont par tes fenêtres. Zoomer tout dans chacune serait alors un pis-aller avec l'export. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Steven Posté(e) le 21 octobre 2014 Posté(e) le 21 octobre 2014 Salut Atomick, Tu peux, dans chacune des présentations en te mettant dans la fenêtre (Fenêtre dans laquelle il y le dessin ou Espace objet) où il ya le dessin et sa mise en page, tu te créés des Etats de calques (LMAN). Tu peux ensuite aller dans l'espace objet (Espace de travail) et utiliser tes différentes états des calques que tu as créé depuis les présentations. 2 Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
Tramber Posté(e) le 21 octobre 2014 Posté(e) le 21 octobre 2014 Bien vu Steven,je n'avais jamais fait attention à cette fonctionnalité qui consiste à transformer un état de visibilité dans fenêtre courante vers un gel dans tous espaces. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Atomick Posté(e) le 21 octobre 2014 Auteur Posté(e) le 21 octobre 2014 Merci à tous les 2 pour cette réponse rapide.Je suis parti sur la solution à STEVEN et ça fonctionne parfaitement. Dommage qu'AUTOCAD n'ait pas pensé à intégrer directement la possiblité de se servir des présentations en XREF mais bon....faut pas pousser... ;)
Raph_38 Posté(e) le 21 octobre 2014 Posté(e) le 21 octobre 2014 j'avais un lisp que Partick_35 m'avait développé. je le mets au cas ou .. il exporte une présentation (et les éléments de l'espace Objet) dans un autre fichier. testes le je pense qu'il te conviendra ;) ;;;================================================================= ;;; ;;; EXL.LSP V1.11 ;;; ;;; Exporter des Présentations ;;; ;;; Copyright (C) Patrick_35 ;;; ;;;================================================================= (defun c:exl(/ act bou cal cod dbx def doc fen lay liste_lay lst lst_base nom obj res s sel val bda *errexl*) (defun *errexl* (msg) (or (member (strcase msg) '("FUNCTION CANCELLED" ""QUIT / EXIT ABORT"" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON")) (princ (strcat "\nErreur : " msg)) ) (vla-endundomark doc) (setq *error* s) (princ) ) (defun bda (titre lst / affiche_txt bascule dcl dwg fic fil gab parcourir res txt val) (defun bascule() (if (eq gab "0") (mode_tile "par" 1) (mode_tile "par" 0) ) ) (defun affiche_txt(txt) (if (> (strlen txt) 42) (set_tile "txt" (strcat (substr txt 1 10) "..." (substr txt (- (strlen txt) 29)))) (set_tile "txt" txt) ) ) (defun parcourir(/ rec) (setq rec (getfiled "Choix d'un Gabarit" (strcat (vla-get-templatedwgpath (vla-get-files (vla-get-preferences (vlax-get-acad-object)))) "/" ) "dwt;dwg;dxf" 8 ) ) (and rec (setq dwg rec)(affiche_txt dwg)) ) (setq fic (vl-filename-mktemp "exl" nil ".dcl") fil (open fic "w") dwg (getenv "Patrick_35_Gabarit_Exl") gab (getenv "Patrick_35_Bouton_Gabarit") ) (or gab (setq gab "0")) (foreach txt '( "exl : dialog {" " key = \"titre\";" " alignment = centered;" " is_cancel = true;" " allow_accept = true;" " width = 50;" " : list_box {label= \"Sélection\"; key=\"sel\"; height = 20; multiple_select=true;}" " spacer;" " : boxed_row {" " label = \"Gabarit\";" " : toggle {key = \"gab\";}" " : text {key = \"txt\"; width = 40;}" " : button {label = \"...\"; key = \"par\"; width = 2;}" " }" " spacer;" " ok_cancel;" "}" ) (write-line txt fil) ) (close fil) (setq dcl (load_dialog fic)) (new_dialog "exl" dcl "") (set_tile "titre" titre) (set_tile "gab" gab) (bascule) (and dwg (affiche_txt dwg)) (start_list "sel") (mapcar 'add_list lst) (end_list) (action_tile "sel" "(setq val $value)") (action_tile "gab" "(setq gab $value)(bascule)") (action_tile "par" "(parcourir)") (action_tile "accept" "(done_dialog 1)") (action_tile "cancel" "(done_dialog 0)") (setq res (start_dialog)) (unload_dialog dcl) (vl-file-delete fic) (and dwg (setenv "Patrick_35_Gabarit_Exl" dwg)) (and gab (setenv "Patrick_35_Bouton_Gabarit" gab)) (list res val) ) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object)) def (vla-get-activelayout doc) bou 1 s *error* *error* *errexl* ) (vla-startundomark doc) (acad-push-dbmod) (vlax-for lay (vla-get-layouts doc) (setq lst_base (cons (cons (vla-get-taborder lay) lay) lst_base )) ) (while (assoc bou lst_base) (setq liste_lay (cons (vla-get-name (cdr (assoc bou lst_base))) liste_lay ) bou (1+ bou) ) ) (and (= (car (setq res (bda "Exl 1.11" (reverse liste_lay)))) 1) (setq res (cadr res)) (while (not (eq res "")) (setq lst nil obj nil val (read res) lay (cdr (assoc (1+ val) lst_base)) act (vla-get-name lay) ) (and (ssget "x" (list (cons 0 "viewport") (cons 410 act))) (progn (princ (strcat "\nTraitement pour l'onglet : " act))(princ) (vlax-for fen (setq sel (vla-get-activeselectionset doc)) (vla-getxdata fen "" 'cod 'cal) (setq cod (vlax-safearray->list cod) cal (vlax-safearray->list cal) bou 0 ) (while (setq nom (nth bou cal)) (and (eq (nth bou cod) 1003) (not (member nom lst)) (setq lst (cons (vlax-variant-value nom) lst)) ) (setq bou (1+ bou)) ) ) (vla-delete sel) (setq dbx (vlax-create-object (if (< (setq rel (atoi (getvar "ACADVER"))) 16) "ObjectDBX.AxDbDocument" (strcat "ObjectDBX.AxDbDocument." (itoa rel)) ) ) ) (and (eq (getenv "Patrick_35_Bouton_Gabarit") "1") (vl-catch-all-apply 'vla-open (list dbx (getenv "Patrick_35_Gabarit_Exl"))) ) (ssget "x" (list (cons 67 0))) (vlax-for ent (setq sel (vla-get-activeselectionset doc)) (or (member (vla-get-layer ent) lst) (setq obj (cons ent obj)) ) ) (vla-delete sel) (vla-copyobjects doc (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbobject (cons 0 (1- (length obj)))) obj ) ) (vla-get-modelspace dbx) ) (vla-copyobjects doc (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbobject (cons 0 0)) (list lay) ) ) (vla-get-layouts dbx) ) (vla-saveas dbx (setq nom (strcat (vla-get-path doc) "/" (vl-filename-base (vla-get-name doc)) " - " act ".dwg"))) (vlax-release-object dbx) (setq dbx (vla-open (vla-get-documents (vlax-get-acad-object)) nom)) (vlax-for ent (vla-get-layouts dbx) (cond ((eq (vla-get-name ent) act) (vla-put-activelayout dbx ent) ) ((/= (vla-get-name ent) "Model") (vla-delete ent) ) ) ) (vla-close dbx :vlax-true) ) ) (setq res (substr res (+ 2 (strlen (itoa val))) (strlen res))) ) (alert "Traitement des onglets terminés.") ) (acad-pop-dbmod) (vla-endundomark doc) (setq *error* s) (princ) ) (setq nom_lisp "EXL") (if (/= app nil) (if (= (strcase (substr app (1+ (- (strlen app) (strlen nom_lisp))) (strlen nom_lisp))) nom_lisp) (princ (strcat "..." nom_lisp " chargé.")) (princ (strcat "\n" nom_lisp ".LSP Chargé.....Tapez " nom_lisp " pour l'éxecuter."))) (princ (strcat "\n" nom_lisp ".LSP Chargé......Tapez " nom_lisp " pour l'éxecuter."))) (setq nom_lisp nil) (princ) Raph. Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !
Raph_38 Posté(e) le 23 octobre 2014 Posté(e) le 23 octobre 2014 Mouai ... de rien Raph. Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !
philsogood Posté(e) le 23 octobre 2014 Posté(e) le 23 octobre 2014 puissant ta manip Steven, je te mets un +1, tu l'as bien mérité!! :) Projeteur Revit Indépendant - traitement des eaux/CVC
Atomick Posté(e) le 6 novembre 2014 Auteur Posté(e) le 6 novembre 2014 Juste pour Neptune38,je te remercie pour ce Lisp ;)
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