{"id":588,"date":"2012-06-26T13:49:12","date_gmt":"2012-06-26T13:49:12","guid":{"rendered":"http:\/\/www.budus.it\/Blog\/?p=588"},"modified":"2017-06-18T07:33:12","modified_gmt":"2017-06-18T07:33:12","slug":"proengineer-creare-file-postscript-automaticamente-delle-messe-in-tavola-drw","status":"publish","type":"post","link":"https:\/\/www.budus.it\/Blog\/proengineer-creare-file-postscript-automaticamente-delle-messe-in-tavola-drw\/","title":{"rendered":"Pro\/Engineer: Creare file postscript automaticamente delle messe in tavola (DRW)"},"content":{"rendered":"<p>Dovendo creare il file postscript (che in genere converto poi in PDF, tramite apposito script) delle messe in tavola presenti in una determinata cartella, ho realizzato uno Script Bash (da utilizzare con <a title=\"Installazione dell\u2019ambiente di sviluppo MinGW + MSYS + EMACS + FLTK\" href=\"https:\/\/www.budus.it\/Blog\/?p=91\">MSYS <\/a>) che automatizza la cosa, andando a creare un file TRAIL per Pro\/Engineer.<\/p>\n<p><!--more--><\/p>\n<p>Ecco il sorgente:<\/p>\n<pre>#!\/bin\/bash\r\n\r\n# $Revision: 1.2 $\r\n# $Date: 2011\/10\/07 10:03:41 $\r\n# By UDA'Software 2011\r\n\r\n## Questo script serve per creare un fail trail di PRO\/Engineer; lo\r\n## scopo del file trail sara' quello di creare il file postscript di\r\n## ogni drawing contenuto nella cartella corrente.\r\n\r\n################################################################################\r\n#_______________________________________________________________________________\r\nprintf '\\nPROE_make_ps_trail %s - By UDA'\\''Software 2011\\n\\n' '$Revision: 1.2 $'\r\nprintf 'Sintassi:\\n %s [drawing_list_file]\\n'\r\n\r\n################################################################################\r\n#_______________________________________________________________________________\r\n# Verifica la presenza di DRW nella cartella corrente.\r\nif [ \"${1}\" == \"\" ]; then\r\n    drw_list=$(ls *drw* | grep '\\.drw\\(\\.[0-9]*\\)\\?$')\r\nelse\r\n    if [ -f \"${1}\" ]; then\r\n\tdrw_list=$(cat \"${1}\" | grep '\\.drw\\(\\.[0-9]*\\)\\?$')\r\n    else\r\n\tprintf 'ERRORE: Il file (%s) non e'\\'' stato trovato.\\n' \"${1}\"\r\n\r\n\texit 1\r\n    fi\r\nfi\r\n\r\nif [ \"${drw_list}\" == \"\" ]; then\r\n    if [ \"${1}\" == \"\" ]; then\r\n\tprintf 'ERRORE: Nella cartella corrente (%s) non sono stati individuati Drawings PRO\/Engineer.\\n' \"$(pwd)\"\r\n    else\r\n\tprintf 'ERRORE: Nel file specificato (%s) non sono stati individuati Drawings PRO\/Engineer.\\n' \"${1}\"\r\n    fi\r\n\r\n    exit 1\r\nfi\r\n\r\n################################################################################\r\n#_______________________________________________________________________________\r\n# Crea il database dei files da elaborare\r\ndrw_list_purged=$(echo \"${drw_list}\" | sed 's@\\.drw\\.[0-9]*@.drw@g' | sort | uniq)\r\n\r\n################################################################################\r\n#_______________________________________________________________________________\r\n# Verifica la presenza del trail\r\nif [ -f PROE_PS_TRAIL.txt ]; then\r\n    printf 'ATTENZIONE: Individuata presenza del file trail; vuoi sovrascriverlo ? (Y\/n) '\r\n    read ANSWER\r\n\r\n    if [ \"${ANSWER:-y}\" == \"n\" ] || [ \"${ANSWER:-y}\" == \"N\" ]; then\r\n\tprintf 'ERRORE: Non posso procedere oltre, devo abortire.\\n'\r\n\r\n\texit 1\r\n    fi\r\nfi\r\n\r\n################################################################################\r\n#_______________________________________________________________________________\r\n# Crea l'header del file trail\r\nprintf '\\n* SCRITTURA HEADER DEL FILE TRAIL PRO\/Engineer.\\n'\r\ncat&lt;&lt;EOF | tr ':' '\\r' &gt; PROE_PS_TRAIL.txt\r\n!trail file version No. 1301:\r\n!Pro\/ENGINEER  TM  Wildfire 2.0  (c) 1988-2002 by Wisdom Systems  All Rights Reserved.:\r\nEOF\r\n\r\n################################################################################\r\n#_______________________________________________________________________________\r\n# Elabora tutti i drawing\r\nprintf '\\n* ELABORAZIONE DRAWING:\\n'\r\nIFS=$'\\n'\r\nfor drawing in ${drw_list_purged}; do\r\n    printf '&gt; %s\\n' \"${drawing}\"\r\n\r\n    cat&lt;&lt;EOF | tr ':' '\\r' &gt;&gt; PROE_PS_TRAIL.txt\r\n~ Activate \\`main_dlg_cur\\` \\`ProCmdModelOpen.file\\`:\r\n&lt; 2 0.261926:\r\n~ Select \\`file_open\\` \\`Ph_list.Filelist\\` \\\\:\r\n1  \\`${drawing}\\`:\r\n~ Activate \\`file_open\\` \\`Open\\`:\r\n&lt; 0 1.001481:\r\n~ Activate \\`main_dlg_cur\\` \\`ProCmdViewRefit.view\\`:\r\n~ Select \\`main_dlg_cur\\` \\`MenuBar1\\` \\\\:\r\n1  \\`File\\`:\r\n~ Close \\`main_dlg_cur\\` \\`MenuBar1\\`:\r\n~ Activate \\`main_dlg_cur\\` \\`File.psh_print\\`:\r\n~ Select \\`print\\` \\`CascadeButton1\\`:\r\n~ Close \\`print\\` \\`CascadeButton1\\`:\r\n~ Activate \\`print\\` \\`Generic Postscript\\`:\r\n~ Activate \\`print\\` \\`ToFile\\` \\\\:\r\n1 :\r\n~ Activate \\`print\\` \\`ToPrinter\\` \\\\:\r\n0 :\r\n~ Activate \\`print\\` \\`OK\\`:\r\n~ Activate \\`Print_file\\` \\`OK\\`:\r\n~ Select \\`main_dlg_cur\\` \\`MenuBar1\\` \\\\:\r\n1  \\`Windows\\`:\r\n~ Close \\`main_dlg_cur\\` \\`MenuBar1\\`:\r\n~ Activate \\`main_dlg_cur\\` \\`Windows.psh_win_close\\`:\r\n&lt; 0 1.041778:\r\nEOF\r\ndone\r\n\r\n################################################################################\r\n#_______________________________________________________________________________\r\nprintf '\\n* FINE ELABORAZIONE.\\n'\r\n\r\n################################################################################\r\n#______________________________________________________________________________<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dovendo creare il file postscript (che in genere converto poi in PDF, tramite apposito script) delle messe in tavola presenti in una determinata cartella, ho realizzato uno Script Bash (da utilizzare con MSYS ) che automatizza la cosa, andando a creare un file TRAIL per Pro\/Engineer.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,6],"tags":[176,7,114,99],"class_list":["post-588","post","type-post","status-publish","format-standard","hentry","category-cad","category-software","tag-bash","tag-proengineer","tag-ptc","tag-script"],"_links":{"self":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts\/588","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/comments?post=588"}],"version-history":[{"count":2,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts\/588\/revisions"}],"predecessor-version":[{"id":865,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts\/588\/revisions\/865"}],"wp:attachment":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/media?parent=588"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/categories?post=588"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/tags?post=588"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}