Cerrar
¿Te gusta hispacad? Compártelo
Llámenos: 668 83 00 83

Lisp para convertir archivos DGN a DWG en bloque

El lenguaje de programación principal que tiene AutoCAD® para la personalización, permitiendo crear programas o rutinas que mejoran o complementan las herramientas existentes. Con unas nociones básicas de este lenguaje de programación es posible realizar programas que optimicen tareas repetitivas o incluso realicen tareas de gran complejidad. Trate de plantear sus dudas exponiendo ejemplos de lo que desea conseguir. Evite pedir la realización de un programa completo. Este foro está dedicado a la resolución de dudas concretas de un determinado código o parte del mismo.

Moderadores: Jorge_BH, Yoland, SpeedCAD, Acad version, devitg

Lisp para convertir archivos DGN a DWG en bloque

Notapor MACODEL » Jue 04 Jul, 2013 19:24

Bueno buscando en la pagina oficial de autodesk me encontre este tesoro.

::
;* DGNIMPORT.LSP - Converts a list of Microstation *.dgn drawings into AutoCAD *.dwg drawings
; Start command by typing DGNI
;
; Make the necessary adjustments to the following variables:
; ---------------------------------------------------------
; tx1 = path and name of a file that holds a list with names for all the *.dgn's to be imported,
; names of *.dgn drawings may be written without extension, as well as with extension,
; in plain text format, no return after the last line.
; tx2 = the path for the input folder, containing the actual *.dgn files to import.
; tx3 = the path for the output folder, where the drawings converted into *.dwg will be saved,
; (routine assumes that the *.dwg files do not exist yet)
; tx4 = name of the drawing model to import
;
; tx1 = ruta y el nombre de un archivo que contiene una lista con los nombres de todos los archivos *. dgn hay que ser importados,
; los nombres de *. dibujos dgn pueden escribirse sin extensión, así como con la extensión,
; en formato de texto plano, sin retorno después la última línea.
; tx2 = la ruta de la carpeta de entrada, que contiene el actual *. dgn importar.
; tx3 = la ruta de la carpeta de salida, donde los dibujos convertidos en *. dwg serás salvo,
; (rutina asume que los archivos DWG los archivos *. No existen aún)
; tx4 = nombre del modelo de dibujo de importar
;
;
; The routine reads drawing names from the file given in tx1 line-for-line.
; In each loop it performs a DGNIMPORT from the folder given as tx2 into the existing AutoCAD drawing,
; does a Zoom Extends, saves the converted drawing result as *.dwg in the folder given as tx3,
; and finally restores the drawing to its original state, ready to receive the next DGNIMPORT loop.
;
; The DELAY command for 1000 milliseconds (1 second) is needed to provide sufficient separation
; between the DGNIMPORT and SAVEAS processes (otherwise it starts to mix up drawings).
;
; The DGNIMPORT command trips when the name of the *.dgn to be imported contains a comma,
; I advise to rename drawings having this issue.
;
; Written by M. Moolhuysen.
;
; This software may not be sold as commercial product or included as part of a commercial product.


(defun C:DGNI (/ fil tx1 tx2 tx3 tx4 tx5)
(setq tx1 "d:\\dgn-dwg\\Dgn-names.txt" ;; example variable: file holding a list of *.dgn's names to be imported.
tx2 "d:\\dgn-dwg\\Dgn\\" ;; example variable: input folder.
tx3 "d:\\dgn-dwg\\Dwg\\" ;; example variable: output folder.
tx4 "Default" ;; example variable: drawing model name
)
(setvar "DGNIMPORTMODE" 1)
(setq fil (open tx1 "r")
tx5 (read-line fil))

; repeats program until all lines from the list with *.dgn drawing names are read.
(while tx5

; strips an extension with length of 3 characters from the drawing name, if present.
(if (wcmatch tx5 "*`.???")
(setq tx5 (substr tx5 1 (- (strlen tx5) 4)))
)

(command "_UNDO" "_MARK"
"_-DGNIMPORT" (strcat tx2 tx5) tx4 "" ""
"_ZOOM" "_E"
"._DELAY" 1000
"_SAVEAS" "2007(LT2007)" (strcat tx3 tx5)
"_UNDO" "_BACK"
)
(setq tx5 (read-line fil))
)
(close fil)
(command "_QUIT" "_Y")
(princ)
)

::

bueno. algunas palabras del tutor tuve que traducirlas para poder usar el lisp pero me salio mas o menos la conversion, el lisp esta como lo encontre (menos las palabras traducidas claro)
a ver si a alguien le interesa
P.D. no se cargar archivos al tema :oops: :oops: :oops: :oops: :cry: :cry: :cry:
MACODEL
 
Mensajes: 9
Registrado: Sab 16 Ago, 2008 04:45

Re: Lisp para convertir archivos DGN a DWG en bloque

Notapor MACODEL » Vie 05 Jul, 2013 21:43

Hasta ahora 23 Visitas y ni un solo mensaje :shock:
aunque sea un mensajito ps..... :biggrin:
MACODEL
 
Mensajes: 9
Registrado: Sab 16 Ago, 2008 04:45

Re: Lisp para convertir archivos DGN a DWG en bloque

Notapor bernie » Mar 09 Jul, 2013 17:57

Un saludo, pase a visitar tu aporte. Por el momento no lo tengo que usar , pero no esta de mas saber que existe.
Gracias por tu colaboración y tomatelo con calma que muchas veces no son reconocidos nuestros "detalles"
Bernardo C
bernie
 
Mensajes: 1048
Registrado: Dom 28 Sep, 2003 17:37
Ubicación: Bogotá,Colombia

Re: Lisp para convertir archivos DGN a DWG en bloque

Notapor MACODEL » Mié 10 Jul, 2013 15:17

:cry: Gracias solo esperaba un mensaje.
es suficiente para mi.
MACODEL
 
Mensajes: 9
Registrado: Sab 16 Ago, 2008 04:45


Volver a AUTOLISP / VISUAL LISP

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados