Archive for the 'AutoCAD' Category

Abr 18 2007

Imprimindo múltiples PDF

Published by makeijan under AutoCAD, PDF

Vou inaugurar con esta anotación, un novo tema titulado PDF ;-). Aínda que case todas as miñas aplicacións son sobre AutoCAD, neste caso e noutros vindeiros, servirán tanto para este tipo de ficheiros coma para outros tipos de documento.
Hai uns días, un compañeiro pediume que lle botara unha man imprimindo uns 50 planos que nos chegaran en PDF. A miña facilidade natural para evitar o traballo, fixo que tivese que espilir e atopar un xeito de liquidar o choio no aire. Coma case sempre, levo máis tempo a procurar o xeito de facer as cousas con menos esforzo, mais iso só se pode aplicar á primeira vez xa que as vindeiras ocasións o rendemento aumenta. Máis aínda dende que documento estos pasos e os publico por aquí, onde os podo recuperar con facilidade.

Os pasos

O concepto

O problema é que hai que abrir cada PDF e imprimilo. Para aforrar esta tediosa tarefa, combinaremos todos os dicheiros nun pdf só. E logo imprimiremos un único documento.
No peor dos casos habería que agrupar os ficheiros por tamaños de papel, así habería que combinar os A4 nun ficheiro, os A3 noutro, etc.

Software

Primeiro o software necesario. Utilizaremos será o FreePDF XP, que se trata dunha interfaz gráfica de ghost script, como xa temos usado noutras ocasións. Como é habitual, software gratuito.

Ghost Script

FreePDF XP (orixinal en alemán)

FreePDF XP (traducción automática - recomendada)

A instalación non ten ningunha complicación, agás que che esixe que estea instalada a versión que el quere de ghostscript. Por iso recomendo instalar primeiro Ghost Script, e logo Free PDF XP.

Paso a paso

Temos dúas opcións:
Ou ben abrimos o FreePDF e entramos neste menú:

FreePDF unir arquivos

Ou ben prememos directamente na icona FreePDF Join e apareceremos directamente neste cadro de diálogo.

FreePDF Join

Máis sinxelo non pode ser:

A primeira icona é para cargar os PDF que queremos combinar, as frechas para ordealos, o xis para eliminar algún que cargaramos de máis e o disco garda pídenos un camiño para gardar o PDF resultante.

Sinxelo non é?

 

 

Chuzame! chuzame -

No responses yet

Mar 29 2007

Problemas lingüísticos en AutoCAD

Published by makeijan under AutoCAD, AutoLISP

A localización das aplicacións ten efectos colateráis en ocasións. Se es dos que traballa con iconas non estás afectado deste problema (si de outros), pero se usas a liña de comandos e tes unha velocidade de traballo respetable, podes atoparte con que cambien a traducción dun comando entre dúas versións, ou simplemente que te atopes traballando cun AutoCAD inglés, ou noutro idioma do que non dominas as ordes.

Tamén pode pasar que atopes un script en Diesel ou un código en AutoLISP ou VisualLISP, que utilice comandos en inglés e non se execute correctamente na túa versión.

Para solventar estes problemas temos un par de solucións, que me veñan a cabeza agora:

O listado

Tirar dunha lista que atopes nun motor de búsqueda, como por exemplo esta alemana. Isto está especialmente indicado para os posuidores das versións LT e ten coma problema, que debes carrexala contigo ou ter acceso a internet, e que non sempre está actualizada, porque supoño que levará un traballo manual importante.

O comando AutoLISP

A opción máis recomendable é usar a orde LISP GETCNAME, esta fai a traducción directa e inversa de ordes, da versión localizada á orixinal inglesa. Vexamos o seu sinxelo funcionamento.

Como orde LISP que é debe ir entre parénteses, e o comando que queremos entre comiñas:

(getcname "comando")

So deberemos ter en conta que se o comando é en inglés e queremos sabelo na lingua localizada, deberá levar un guión baixo diante:

(getcname "_command")

Por se non queda claro vai un exempliño:
Comando: (getcname "linea")
"_LINE"
Comando: (getcname "_line")
"LINEA"

Doado, non si?

Chuzame! chuzame -

No responses yet

Mar 22 2007

Están tolos estes de Autodesk!!!

Published by makeijan under AutoCAD

Foi o primeiro que me veu á cabeza o ler no blog de Heidi Hewett, os requerimentos necesarios para executar o recén estreado AutoCAD 2008 (de momento só en inglés). Parafrasear a Obelix.

Mirádeos vos mesmos en V.O.. É inglés pero ben se entende.

Acabaremos cambiando de ordenador cada ano, coma de versión de AutoCAD?. A este paso non me sorprendería en absoluto.

Chuzame! chuzame -

No responses yet

Mar 13 2007

Medir sobre PDF

Published by makeijan under AutoCAD

Isto xa parece un blog gastronómico ;-). Xa me gustaría a min centrarme tanto, pero como son un pouco disperso, vou abandonar momentaneamente esta serie de artigos gastronómicos e facer algo útil.

Hai veces que tes que lidiar con planos en PDF. Como xa comentaba en De PDF a DWG. Adobe e Autodesk non se levan tan mal hai software de pago para facer estas cousas. Como por exemplo Adobe Reader Pro, que permite medir lonxitudes, perímetros e áreas.

Vou explicar como medir distancias, pero sen gastar un peso, así que para un traballo puntual pode chegar ben.

Aínda que o puxen na categoría AutoCAD, sirve para medir calquera documento en PDF, e aproveitandome do corta e pega repito o esquema dun dos artigos máis famosos que teño (a xulgar polas estatísticas). Se xa puxeches en práctica o artigo da conversión, salta directamente a Preparación.

Ingredientes

Necesitamos:

  • O GSview de GhostGum Software Pty Ltd, que non é máis ca un interface gráfica para Ghostscript.
  • O propio Ghostscript, interprete PostScript e PDF.
  • Privilexios de administrador na máquina (só para instalar o software que non teñas claro). Se non sabes de que falo probablemente non os necesites.

Preparación

Medindo PDF con GsviewÉ moi doado, pero hai que facer un pouco de película para que semelle que me custou descubrir esta funcionalidade, cando a realidade é que a atopei por casualidade.

Cun par de imaxes ídelo pillar no aire:

  1. Abrimos o PDF no GSview
  2. Editar -> Medir (coma na imaxe da dereita).
  3. Ábrese unha xanela (ver imaxe debaixo).
  4. Premer no único botón que hai Cambiar.
  5. Seleccionamos mm e aceptamos.

O diálogo é bastante intuitivo, pero vou dar igualmente unha breve explicación de cada elemento:

  • Unidad: indica en que unidade estamos a medir. Por estas terras o mm. sería o axeitado, aínda que tamén hai a opción das polgadas (in.). Eu por exemplo estou traballando sobre un PDF en A3, e podo ver as súas dimensións cercanas a 420x297 mm.
  • Inicio: Son as coordenadas absolutas do punto no que se preme co botón esquerdo do rato. O resto das medidas son relativas a este punto.
  • Final: Coordenadas absolutas da posición do cursor despois de fixar o inicio.
  • Delta: Coordenadas relativas entre as dúas anteriores.
  • Longitud: Esta é a máis importante xa que indica o que realmente buscamos. Un vector co seu módulo e ángulo. Neste caso só necesitamos o módulo (lonxitude).

Xa estamos medindo. Son milímetros e no caso dunha escala múltiplo de 10 a conversión é bastante intuitiva, pero qué pasa nos outros casos?

Teremos que utilizar unha das opcións que nos ofrece o botón Cambiar.

  1. Prememos Cambiar.
  2. Seleccionamos personalizado, no selector superior.
  3. E no cadro Personalizado, dirixímonos ós cadros á esquerda do botón escala. Deixamos a 1 a primeira e na segunda realizaremos introduciremos o resultado de dividir o denominador da escala entre mil. Así para unha escala 1:50 o resultado sería 0.05.
  4. Prememos no botón Escala. Moi importante: Premer só unha vez.
  5. Prememos Aceptar.

As lonxitudes obtidas agora estarán xa escaladas. Na imaxe inferior podemos ver como medin os 20 m que separan dous p.k. no eixe deste vial.Medindo PDF con Gsview

Unha precaución:

Como xa insistín comentei, só hai que premer unha vez no botón Escala. Isto é porque cada vez que se lle da, se aplica sobre o CTM (facede a proba), e iso desvirtuaría os resultados. No caso de facelo accidentalmente, selecionades de mm e novamente Personalizado, para resetear os valores de CTM, aplicades Escala unha vez e listo. Pode parecer embarullado, pero cunha probiña que se faga dase conta un do problema.

Rematei. Admito xamóns, e outros subornos no correo electrónico de costume ;-).

Chuzame! chuzame -

No responses yet

Feb 26 2007

Igualar configuracións de páxina (page setups)

Published by makeijan under AutoCAD, AutoLISP

Sempre fun reacio a facer públicas as miñas pequenas rutinas, máis por vergoña que por outra cousa, xa que están feitas por un ignorante en programación. Nesta que acabo de realizar reciclando un par delas para obter o que quería, vou facer unha excepción porque pode ser útil, e parece que Autodesk dende a versión 2000 ata a 2007 non tivo tempo de crear un comando similar.

Utilidade

IGCONFPX é unha rutina en AutoLISP, que ten como fin igualar todas as configuracións de páxina dun arquivo de AutoCAD. Se o entediches vai directamente a Instruccións, senon segue a ler.

Se tes un debuxo con 25 presentacións (láminas en A4), configuradas para imprimirse nunha determinada impresora, e cambias de impresora, na versión 2007 xa tes a opción de imprimir con outra configuración, pero por exemplo na 2004 non. Ademáis unha vez que imprimas, os cambios non se gardan, así que sempre terás que seleccionar unha nova cada vez que traces.

IGCONFPX recolle todas as page setup da plantilla que elixas, importaas no debuxo, amosache todas as dispoñibles, e pídeche que elixas unha delas para aplicarlla a todas as presentacións. A qué é comoda?

Instruccións

Copiar e pegar o código nun editor de texto (notepad ou metapad, por exemplo). Ir á liña 12 e substituir o texto entre comiñas SUBSTITUIR-CHANGE polo camiño que desexes ata o as túas plantillas, tendo en conta que debe levar dobre barra invertida, entre cada

O código


;Makeijan (2007)
;http://acitc.blogaliza.org
;
(princ "\nExecuta IGCONFPX para igualar as configuracións de páxina de todas as presentacións.\n")
;
;listaconf encargase de listar as configuracións de páxina existentes
(defun listaconf ()
;Carga as configuracións de páxina dende a plantilla seleccionada.
(command "-importconfpag" "O:\\AUTOCAD\\PLANTILLAS\CCSA.DWT" "*") ; ->Modificar polo camiño á túa plantilla,
por exemplo "C:\\AUTOCAD\\PLANTILLAS\CCSA.DWT"
;
;Fai a lista
;
(foreach x (dictsearch (namedobjdict) "ACAD_PLOTSETTINGS")
(if (= 3 (car x))
(setq LISTA (cons (cdr x) LISTA))
)
)
(setq LISTA (reverse LISTA))
)
;
;Comeza o bo
;
(defun c:igconfpx (/ PLO_LAYOUTS PLO_CNTR PLO_CNTR2 PLO_LIST PLO_LAYOUTTAB)
(vl-load-com)
;Que non salten os diálogos
(setvar "FILEDIA" 0)
(setvar "CMDDIA" 0)
(setq PLO_LAYOUTS
(vla-get-layouts
(vla-get-activedocument(vlax-get-acad-object))
)
PLO_CNTR 0 PLO_CNTR2 0)
(repeat(vla-get-count PLO_LAYOUTS)
(setq PLO_LIST (cons(setq PLO_CNTR (1+ PLO_CNTR))
PLO_LIST)))
(vlax-for PLO_LAYOUT PLO_LAYOUTS
(setq PLO_LIST
(subst
(vla-get-name PLO_LAYOUT)
(vla-get-taborder PLO_LAYOUT)
PLO_LIST)
)
)
(setq PLO_LIST (reverse PLO_LIST))
;
;Aquí lanzo o listado de configuracións de páxina. (Page Setups)
;
(princ LISTA)
(listaconf)
(princ "\nEscribe a configuración a aplicar a todas as presentacións de entre as listadas arriba: ")
(setq CONFPAX(getstring))
(while(/= PLO_CNTR2 (1- PLO_CNTR))
(setq PLO_LAYOUTTAB (nth PLO_CNTR2 PLO_LIST))
(command "_-PLOT" "_N" PLO_LAYOUTTAB CONFPAX "" "" "_Y" "_N")
(setq PLO_CNTR2 (1+ PLO_CNTR2))
)
;
;Deixar todo como estaba
;
(setvar "FILEDIA" 1)
(setvar "CMDDIA" 1)
)

Melloras futuras

Está claro que necesitaría dúas para que quedara máis elegante, pero como as vexo perfectamente prescindibles para o meu uso diario non penso que vexan a luz ;-).

  1. Comprobar que non existen as configuracións antes de tentar cargalas, iso evitaría as mensaxes tentando mellorar na liña de comandos.
  2. Comprobar que o page setup elexido está na lista, senon obrigar a teclealo. Isto evitaría o erro que da cando non se introduce correctamente o identificador.

Referencias

Estas dúas ligazóns son as que serviron de base a este código.
Hispacad
3DGazpacho

Chuzame! chuzame -

No responses yet

Next »

Esta web apoia á iniciativa dun dominio galego propio (.gal) en Internet Blog sen Fume