pacoje57 Posté(e) le 7 août 2006 Posté(e) le 7 août 2006 Bonjour, Je souhaiterais savoir si il exsite un programme ou une fonction dans autocad qui permette à partir d'un plan dwg avec plusieur presentation d'extraire ces persentations pour creer x plan dwg. A savoir que dans chaque presentation il y a des fenetres vers l'espace objet. Merci
romain154 Posté(e) le 9 janvier 2012 Posté(e) le 9 janvier 2012 Bonjour, Je suis également dans ce cas. Petit utlisateur d'Autocad 2008 (10% de mon temps), je souhaiterais facilement copier une presentation que je puisse importé via le gestionnaire de mise en page. Merci d'avance
jeff66 Posté(e) le 9 janvier 2012 Posté(e) le 9 janvier 2012 Bonjour,Tu passes en espace présentation, clique droit sur l'onglet de présentation actif et tu choisis "Exporter présentation en objet"Bon JOBJEFF Formateur sur AutoCAD et REVIT Architecture: jf-brigaud.com
Pouek Posté(e) le 10 janvier 2012 Posté(e) le 10 janvier 2012 Cela marche mais au préalable s'assurer qu'il n'à pas d'élément graphiques visible "lourd" (tel que MNT....)sur ta présentation car risque de bugPour ma part je l'utilise de temps en temps et le seul hic est qu'il te faut remettre ton plan à l'echelle, et au bon endroit (danger)Si quelqu'un à une méthode pour l'exporter directement à l'échelle et ds le bon système, je suis preneur. « Aide-toi, le ciel t'aidera »
Cyrchap Posté(e) le 10 janvier 2012 Posté(e) le 10 janvier 2012 Salut!pour extraire les présentaions il y a l'excelent lisp de Patrick_35. Seule remarque dans les dwg qui sont crées (1 par onglet présentation) les calques gelés dans la fenetre Espace papier de la présentation d'origine sont dégeler dans les fichiers crées. ;;;=================================================================;;;;;; EXL.LSP V1.11;;;;;; Exporter des Présentations;;;;;; Copyright © 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 1s *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)
Pouek Posté(e) le 10 janvier 2012 Posté(e) le 10 janvier 2012 Je viens de tester le lisp, en fait cela ne sert qu'à créer un plan avec une seule presentation(celle voulue), et l'espace objet lui reste comme le fichier d'origine Existe t-il un lisp avec lequel on peut exporter une presentation sur l'espace objet d'un nouveau dessin, tout en gardant la bonne echelle et et le bon systeme de coordonnées? Merci « Aide-toi, le ciel t'aidera »
rebcao Posté(e) le 10 janvier 2012 Posté(e) le 10 janvier 2012 Bonjour, Pour info, l' EXPORT DES PRESENTATIONS n'existe que depuis les versions 2009... Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
Autocadavre Posté(e) le 16 février 2012 Posté(e) le 16 février 2012 Bonjour à tous. Ce sujet m'intéresse ... J'ai moi aussi un fichier "A" avec une multitude de présentations, et un fichier "B" avec une ou deux présentations à conserver (fenêtre + échelle + cadrage ...).Comment dans un fichier "C" peut-on réussir à faire exactement la même présentation !? (surtout lors d'exportation en PDF ou jpg, un décalage de quelques pixels est souvent très pénible) A mon niveau : ■ Je ne comprends pas pourquoi avec le gestionnaire de mise en page > IMPORTER > xxx.dwg = la liste de mise en page est toujours vide ■ La commande ZOOM désactive l'accroche objet ; donc ma "solution" est d'exporter une fenêtre en espace objet, d'ouvrir le nouveau fichier créé, de copier en tant que bloc cette "présentation" dans l'espace objet du fichier principal, de créer un point au "centre" de ce bloc, de noter les coordonnées x,y, d'effacer ce "bloc-objet-présentation", d'aller en espace papier, créer une fenêtre, commande zoom, centre X,Y ... Bref, question à tous les "pros" du forum :Comment faites-vous ?
jonathan92100 Posté(e) le 13 février 2015 Posté(e) le 13 février 2015 bonjour a vous , pour moi EXL fonctionne a 70% , quand le fichier est realisé avec une seule presentation . il me manque des trait qui ont disparu ..... avez vous le souci ?
balyoa Posté(e) le 29 janvier 2016 Posté(e) le 29 janvier 2016 Bonjour, Quand je lance le lisp EXL v1.11, après la sélection de la présentation à extraire, j'ai une erreur fatale à l'ouverture du fichier exporté : ERREUR INTERNE: !dbAnnoScaleCompositionReactori.cpp@1415: eInvalidIndex Merci d'avance pour votre aide. Cdt. Yo
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