You are on page 1of 2

(VL-LOAD-COM) (DEFUN c:model2Pdf (/ ss ct NombrePdf ll ur res) (initget 128 "S T") (setq res (GETKWORD "\n Se imprimiran todas

las solapas o <Selecciona> [Selecc iona/Todas]")) ;;;Cada solapas/cajetines deben de estar contenida en una polilinea que este e n el layer ;;;Solapa, si se imprimen todas las solapas, estas se enviaran en el orden ;;;en que se crearon y no como esten organizadas. (SETQ ss (IF (= res "T") (SSGET "_X" '((0 . "LWPOLYLINE") (8 . "Solapa")) ) (SSGET '((0 . "LWPOLYLINE") (8 . "Solapa")) )

) ) ;;;Contador para el nombre de los planos (SETQ ct 1) ;;;Se procesa cada una de las solapas seleccionadas (FOREACH obj (MAPCAR 'VLAX-ENAME->VLA-OBJECT (VL-REMOVE-IF 'LISTP (MAPCAR 'CADR (SSNAMEX ss))) ) ;;;El nombre del pdf es igual al nombre del archivo+el numero del contador (SETQ NombrePdf (STRCAT (GETVAR 'dwgprefix) (VL-FILENAME-BASE (GETVAR 'dwgname)) "_" (ITOA ct) ".pdf" ) ) ;;;Si el archivo ya existe se borra (AND (FINDFILE NombrePdf) (VL-FILE-DELETE NombrePdf) ) ;;;Se obtiene la caja contenedora de la polilinea (VLA-GETBOUNDINGBOX obj 'll 'ur) ;;;Se crea una lisata con los arrays que devuelve la funcion getboundingbox (SETQ ll (SAFEARRAY-VALUE ll) ur (SAFEARRAY-VALUE ur) ) ;;;Se inicia el comando plot desde la linea de comandos (COMMAND "_-plot" "_yes" ;_Impresion detallada "" ;_Layout a imprimir "DWG To PDF.pc3" ;_Impresora "ANSI expand B (17.00 x 11.00 Inches)" ;Tamao del papel "_Millimeters" ;_Unidades del papel "_Landscape" ;_Orientacion "_No" ;_orientacion "_Window" ;_Area a imprimir ll ;_Esquina inferior izquierda ur ;_Esquina superior derecha "1:1" ;_escala "_Center" ;_acomodo de impresion "_Yes" ;_Estilos de impresion "." ;_Nombre del estilo de impresion "_yes" ;_imprimir con anchos de linea "_A" ;_Configuracion de siombras -Como se muestraNombrePdf ;_Nombre del archivo

"_No" ;_Grabar la configuracion "_Yes" ;_Imprimir ) ;;;Se aumenta el contador en 1 (SETQ ct (1+ ct)) ) (mapcar 'princ (list "\n Se imprimieron " (1- ct) " plano(s)")) (PRINC) )

You might also like