Krzysiek_ Posted December 17, 2012 Report Share Posted December 17, 2012 (edited) Mam duży projekt. Sporo plików, w każdym pliku wiele arkuszy. Jako drukarkę w tych arkuszach mam ustawiony ploter (druk na papier działa poprawnie). AutoCAD pozwalał mi na uruchomienie wszystkich plików i korzystając w funkcji publish za pomocą kilku kliknięć zrobić PDFy ze wszystkich arkuszy w tych plikach na raz (powstawało wtedy ok 300 plików pdf). Obecnie w ZWCAD niestety nie mogę tego zrobić, ze względu na błędy w funkcji drukarki 'DWG to PDF'. Aby uniknąć drukowania np. PDF Creatorem każdego arkusza z osobna, (zajęłoby mi na prawdę bardzo dużo czasu) chciałbym skorzystać np z darmowego programu Autodesku - DWG TreuView 2013. Problem pojawia się w momencie gdy uruchamiam tym programem plik zapisany w ZWCADzie. Nie ma drukarki ustawionej wcześniej, co powoduje 'rozjechanie się' zawartości arkusza, tabelki, marginesów, rozmiaru papieru itp. Sądziłem, ze problem ten rozwiążę poprzez skopiowanie plików drukarek z plików użytkownika, lecz ich formaty sie nie pokrywają. W ZWCADzie są *.pc5 (Plik PC5) a DWG TrueView 2013 *.pc3 (DWG TrueView Plotter Configuration File). Proszę o pomoc, jak mogę wydrukować dużą ilość rysunków w możliwie krótkim czasie? Najlepiej nie zmieniając obecnych ustawień drukarki arkuszy, gdyż mam je ustawione tak, aby druk na papierze wychodziły poprawnie. Edited December 17, 2012 by Krzysiek_ Link to comment Share on other sites More sharing options...
kruszynski Posted December 17, 2012 Report Share Posted December 17, 2012 Witam Postaram się opracować jakiś program LISP, pozwalający wydrukować wszystkie arkusze z rysunku przez PDFCreator. Pozdrawiam karollos 1 Link to comment Share on other sites More sharing options...
kruszynski Posted December 17, 2012 Report Share Posted December 17, 2012 Witam W załączniku dodałem program, który wszystkie arkusze wydrukuje przez PDFCreator. Plik należy wczytać używając polecenia appload Po poprawnym wczytaniu pliku, zostanie dodane polecenie "Wielodruk". Proszę uruchomić to polecenie a w wyniku jego działania wszystkie arkusze zostaną wydrukowane. Program działa na ZWCAD w wersjach Standard i Professional: 2011, 2012, 2012+ Pozdrawiam WieloDruk.zel karollos 1 Link to comment Share on other sites More sharing options...
Krzysiek_ Posted December 17, 2012 Author Report Share Posted December 17, 2012 Programik powinien rozwiązać mój problem. Pierwsze próby wyszły średnio, gdyż PDF Creator i tak przyciął mi tabelki w rysunkach. Spróbuje może pogrzebać w ustawieniach samego creatora i go skonfigurować, tak żeby wychodziło poprawnie. W najbliższych dniach napiszę co z tego wyszło. Dziękuję ze pomoc i pozdrawiam Link to comment Share on other sites More sharing options...
KBR Posted December 19, 2012 Report Share Posted December 19, 2012 Ja sprawdziłem ale procedura u mnie nie działa. To znaczy wszystkie karty zostały wydrukowane razem z modelem ale nie tak jak sobie życzyłem. Cała procedura przebiegła bez mojej ingerencji ( program nie czekał na moje decyzje czy coś podobnego). Arkusze papieru nie wydrukowały całych rysunków - wydaje się że okrojone do A4 Jak trzeba by mieć przygotowane arkusze do druku? Link to comment Share on other sites More sharing options...
kruszynski Posted December 19, 2012 Report Share Posted December 19, 2012 Witam Tak właśnie zrozumiałem zadanie, że procedura ma przebiegać bez ingerencji Użytkownika. Decyzje odnośnie np lokalizacji czy nazw utworzonych PDFów pozostają w ustawieniach samego PDFCreatora. W samej procedurze przypisywana jest jedynie drukarka, nie ingerujemy w inne ustawienia akruszy czyli powinny być użyte takie, jakie są ustawione dla każdego arkusza, chyba że PDFCreator w sobie posiada zdefiniowane ustawienia rozmiaru papieru. Pozdrawiam karollos 1 Link to comment Share on other sites More sharing options...
karollos Posted June 26, 2014 Report Share Posted June 26, 2014 DZIĘKUJĘ!!!! :):):):):) Program działa doskonale!!! Rozwiązał problem, którego rozwiązania szukałem od dobrych kilku lat!!! Link to comment Share on other sites More sharing options...
perlon Posted June 26, 2014 Report Share Posted June 26, 2014 A czy ja mógłbym nieśmiało poprosić o plik źródłowy LSP do celów edukacyjnych? Na marginesie PDFCreator'a można konfigurować na bieżąco poprzez wpisy bezpośrednio do rejestru windows, tzn że przed wywołaniem wydruku kolejnego arkusza można ustawić lokalizację i nazwę. Testowałem to w moich programikach pisanych w Harbour ale przypuszczam, że w lispie też by się dało. Ustawiania formatów arkuszy nie testowałem a bym może się w tym temacie douczył. Link to comment Share on other sites More sharing options...
kruszynski Posted June 26, 2014 Report Share Posted June 26, 2014 (vl-load-com) ; Copyright © 2000—2014 by Usługi Informatyczne SZANSA - Gabriela Ciszyńska-Matuszek. ; www.zwcad.pl (setq *ZWCAD* (vlax-get-acad-object)) (setq *Rysunek* (vla-get-activedocument *ZWCAD*)) (setq plotConfigurations (vlax-get-property *Rysunek* 'PlotConfigurations )) ;(vlax-dump-object plotConfigurations) ;(setq PloterObj ( ) (setq *LastSelectedPloter* "PDFCreator") (defun XGetString (komunikat domyslny / Wynik ) ;---------------------------------------------------------- ;funkcja prosi użytkownika o podanie tekstu ;Argumenty: komunikat, zachętę, który sie wyświetli w linii poleceń w chwili uruchomienia funkcji ;Wynik: tekst kótry Użytkownik wpisze z klawiatury ; nil - jeśli Użytkownik na klawiaturze wciśnie [ESC] ;---------------------------------------------------------- (setq Tresc(vl-catch-all-apply 'getstring (list komunikat ))) ;wykonanie funkcji getstring proszącej o podanie treści tekstu zwraca wpisaną treść lub obiekt błędu (if (vl-catch-all-error-p Tresc) ; sprawdzenie czy zwrócony został obiekt błędu (progn ; wystąpił błąd (prompt (vl-catch-all-error-message Tresc)) ;wyświetla w pasku poleceń komumikat błędu (setq Wynik nil ) ) (progn ; Użytkownik wpisał tekst poprawnie (if (= "" Tresc) (setq Wynik domyslny ) (setq Wynik Tresc) ) ) ) Wynik ) (defun v2l (var)(vlax-safearray->list(vlax-variant-value var))) (defun C:WieloDruk ( / Layouts %) (setq Ploter (XGetString (strcat "Podaj nazwę drukarki:<" *LastSelectedPloter* ">") *LastSelectedPloter*)) (if Ploter (progn (setq Layouts(vlax-get-property *Rysunek* 'Layouts )) (setq % (vla-item Layouts 0 )) (setq Plotters (vlax-invoke-method % 'GetPlotDeviceNames ) ) (setq PlottersList(v2l Plotters)) (if (member Ploter PlottersList) (progn (setq *LastSelectedPloter* Ploter ) (vlax-for % Layouts (eval(list 'command "_-plot" "_n" (vlax-get-property % 'Name ) "" Ploter "_n" "_n" "_y") ) ) ) (alert (strcat "Drukarka/Ploter " Ploter " nie jest zainstalowana")) ) )) ) Link to comment Share on other sites More sharing options...
Martin_S Posted June 26, 2014 Report Share Posted June 26, 2014 (edited) Wbudowane plotowanie do PDF w trybie Publish bardzo dobrze działa, nie zawiodłem się ani razu. DWG to PDF.pc5 Edited June 26, 2014 by Martin_S Link to comment Share on other sites More sharing options...
Recommended Posts