mikarts Posted Tuesday at 03:39 PM Share Posted Tuesday at 03:39 PM Buenas tardes. La orden exportarpresentacion (_exportlayout) exporta una presentación cada vez. Estoy intentando hacer un lisp que exporte todas las presentaciones de un dwg, una por una. Funciona, pero me guarda los nuevos archivos en Documentos y no en la ruta que quiero, que es la del archivo. Adjunto el código, a ver si alguien me puede ayudar. ¡Gracias por vuestro tiempo! (defun c:exx (/) (setq actual (getvar "CTAB")) ;almacena el nombre de la presentación en la que estamos (setq presentaciones (layoutlist)) ;crea una lista con los nombres de las presentaciones (setq n 0) (while n (setq presentacion (nth n presentaciones)) ;toma la presentación n de la lista (if (/= presentacion nil) (progn (command "_.-layout" "d" presentacion) (command "_exportlayout" presentacion (strcat (getvar "dwgprefix") (cadr (fnsplitl (getvar 'dwgname))) " " (getvar "ctab") ".dwg") ) ; esto es lo que debería hacer que el nuevo dwg se guardase en la ruta del archivo abierto. (setq n (+ 1 n)) ) (setq n nil) ) ) (setvar "CTAB" actual) ;define como actual la presentación en la que estábamos trabajando al principio ) Quote Link to comment Share on other sites More sharing options...
devitg Posted Tuesday at 08:37 PM Share Posted Tuesday at 08:37 PM (edited) 5 hours ago, mikarts said: Buenas tardes. La orden exportarpresentacion (_exportlayout) exporta una presentación cada vez. Estoy intentando hacer un lisp que exporte todas las presentaciones de un dwg, una por una. Funciona, pero me guarda los nuevos archivos en Documentos y no en la ruta que quiero, que es la del archivo. Adjunto el código, a ver si alguien me puede ayudar. ¡Gracias por vuestro tiempo! (defun c:exx (/) (setq actual (getvar "CTAB")) ;almacena el nombre de la presentación en la que estamos (setq presentaciones (layoutlist)) ;crea una lista con los nombres de las presentaciones (setq n 0) (while n (setq presentacion (nth n presentaciones)) ;toma la presentación n de la lista (if (/= presentacion nil) (progn (command "_.-layout" "d" presentacion) (command "_exportlayout" presentacion (strcat (getvar "dwgprefix") (cadr (fnsplitl (getvar 'dwgname))) " " (getvar "ctab") ".dwg") ) ; esto es lo que debería hacer que el nuevo dwg se guardase en la ruta del archivo abierto. (setq n (+ 1 n)) ) (setq n nil) ) ) (setvar "CTAB" actual) ;define como actual la presentación en la que estábamos trabajando al principio ) @mikarts Edited Tuesday at 08:52 PM by devitg my error Quote Link to comment Share on other sites More sharing options...
devitg Posted Tuesday at 08:44 PM Share Posted Tuesday at 08:44 PM (edited) 14 minutes ago, devitg said: @mikarts Edited Tuesday at 08:53 PM by devitg my error Quote Link to comment Share on other sites More sharing options...
devitg Posted Tuesday at 09:42 PM Share Posted Tuesday at 09:42 PM @mikarts Creo que esto puede funcionar (defun c:exx+devitg (/) (setq actual (getvar "CTAB")) ;almacena el nombre de la presentación en la que estamos (setq presentaciones (layoutlist)) ;crea una lista con los nombres de las presentaciones ;(setq n 0) ;(while n ; (setq presentacion (nth 2 presentaciones)) ;toma la presentación n de la lista ; (if (/= presentacion nil) ( FOREACH presentacion presentaciones (setvar 'ctab presentacion) ;(command "_.-layout" "_d" presentacion) (command "_exportlayout" (strcat (getvar "dwgprefix") (vl-filename-base (getvar "dwgname")) presentacion ) ;(getvar "ctab") ".dwg") ) ; esto es lo que debería hacer que el nuevo dwg se guardase en la ruta del archivo abierto. ;(setq n (+ 1 n)) ); fin del FOREACH ; (setq n nil) (setvar "CTAB" actual) ;define como actual la presentación en la que estábamos trabajando al principio ) Quote Link to comment Share on other sites More sharing options...
mikarts Posted 9 hours ago Author Share Posted 9 hours ago Perfecto! Muchas gracias. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.