Krzysiek_ Opublikowano 17 Grudnia 2012 Zgłoś Opublikowano 17 Grudnia 2012 (edytowane) 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. Edytowane 17 Grudnia 2012 przez Krzysiek_
kruszynski Opublikowano 17 Grudnia 2012 Zgłoś Opublikowano 17 Grudnia 2012 Witam Postaram się opracować jakiś program LISP, pozwalający wydrukować wszystkie arkusze z rysunku przez PDFCreator. Pozdrawiam karollos 1
kruszynski Opublikowano 17 Grudnia 2012 Zgłoś Opublikowano 17 Grudnia 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
Krzysiek_ Opublikowano 17 Grudnia 2012 Autor Zgłoś Opublikowano 17 Grudnia 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
KBR Opublikowano 19 Grudnia 2012 Zgłoś Opublikowano 19 Grudnia 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?
kruszynski Opublikowano 19 Grudnia 2012 Zgłoś Opublikowano 19 Grudnia 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
karollos Opublikowano 26 Czerwca 2014 Zgłoś Opublikowano 26 Czerwca 2014 DZIĘKUJĘ!!!! :):):):):) Program działa doskonale!!! Rozwiązał problem, którego rozwiązania szukałem od dobrych kilku lat!!!
perlon Opublikowano 26 Czerwca 2014 Zgłoś Opublikowano 26 Czerwca 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ł.
kruszynski Opublikowano 26 Czerwca 2014 Zgłoś Opublikowano 26 Czerwca 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")) ) )) )
Martin_S Opublikowano 26 Czerwca 2014 Zgłoś Opublikowano 26 Czerwca 2014 (edytowane) Wbudowane plotowanie do PDF w trybie Publish bardzo dobrze działa, nie zawiodłem się ani razu. DWG to PDF.pc5 Edytowane 26 Czerwca 2014 przez Martin_S
Rekomendowane odpowiedzi