Przesunięty przez: dmatusz3 Pon Sie 01, 11 15:42 |
wsadowe przekształcanie dwg do pdf |
| Autor |
Wiadomość |
henrykrojek
Dołączył: 25 Lip 2011 Posty: 11
|
Wysłany: Pon Lip 25, 11 08:11 wsadowe przekształcanie dwg do pdf
|
|
|
Witam!
Jestem tutaj nowym użytkownikiem. Od miesiąca jestem użytkownikiem ZWCAD-a.
B. łatwo udało mi się przejść z ACAD-a do tego programu. Pliki dwg program przekształca do pdf-a b. szybko i bez żadnych problemów. Marzy mi się jeszcze tylko by proces ten, dla większej ilości plików, zautomatyzować.
Czy jest to możliwe?
Pozdrawiam.
H. Rojek |
|
|
|
 |
kruszynski
Pomógł: 17 razy Dołączył: 02 Sty 2009 Posty: 312
|
Wysłany: Pon Lip 25, 11 10:35
|
|
|
| W obecnej wersji ZWCADa nie jest to możliwe |
|
|
|
 |
henrykrojek
Dołączył: 25 Lip 2011 Posty: 11
|
Wysłany: Pon Sie 01, 11 07:36
|
|
|
Przez minioną sobotę walczyłem z tym problemem.
Wydaje mi się, że znalazłem rozwiązanie. Oto lisp:
(defun C:AUTOSCR (/ FULL_NAME LOG_NAME FNAME_DIR FNAME_LIST
SCR_NAME FILE IN)
(setq FULL_NAME (getfiled "Select A Drawing File" "" "dwg" 8));"D:\\Proba\\010_02.DWG"
(if FULL_NAME (progn
(setq LOG_NAME (getvar "loginname"));"Heniek"
(setq FNAME_DIR (vl-filename-directory FULL_NAME));"D:\\Proba"
(setq FNAME_LIST (vl-directory-files FNAME_DIR "*.dwg"));("010_02.DWG" "010_03.DWG" "010_06.DWG")
;;; Write script File
(if FNAME_LIST (progn
(setq SCR_NAME (strcat FNAME_DIR "\\" LOG_NAME ".scr"));"D:\\Proba\\Heniek.scr"
(setq FILE (open SCR_NAME "w"))
(setq IN 0)
(repeat (length FNAME_LIST)
(setq FNAME (nth IN FNAME_LIST));"010_02.DWG"
(setq FNAME (vl-filename-base FNAME));"010_02"
(write-line "open" FILE)
(write-line (strcat FNAME_DIR "\\" FNAME) FILE)
(write-line (strcat "(" "command " "\"" "_export" "\"" " " "\"" FNAME_DIR "\\" FNAME ".pdf" "\"" ")") FILE)
(write-line "close" FILE)
(setq IN (1+ IN))
);;repeat
(close FILE)
))
))
(princ)
)
;1 - uruchom AUTOSCR
;2 - uruchamianie polecenia SCRIPT, po wskazaniu pliku *.scr,
;gdzie *.scr, to LOG_NAME z programu.
Kolejność postępowania:
1. Uruchamiam AUTOSCR,
2. Wybieram katalog, w którym są pliki *. dwg do przekształcenia i wskazuje jeden z nich. Program stworzy plik [nazwa].scr w tym samym katalogu; [nazwa] - nazwa pobrana ze zmiennej LOG_NAME.
3. W linii poleceń wpisuję polecenie SCRIPT i wskazuję plik [nazwa].scr. Program automatycznie pobierze pliki *.dwg z katalogu i przekształci je do *.pdf.
Działa to w ZWCAD11, wersja angielska. |
|
|
|
 |
henrykrojek
Dołączył: 25 Lip 2011 Posty: 11
|
Wysłany: Pon Sie 01, 11 07:46
|
|
|
| Przy wklejaniu wkradł się bład. W wierszu zmiennej FULL_NAME, zamiast "buźki" ma być: 8) |
|
|
|
 |
dmatusz3
Site Admin
Pomógł: 22 razy Dołączył: 20 Sty 2008 Posty: 652
|
Wysłany: Pon Sie 01, 11 09:08
|
|
|
Witam,
jestem pod wrażeniem skryptu.
Aby wyłączyć zamianę tekstu na buźki, można zaznaczyć opcję "Wyłącz Uśmieszki w tym poście", w polu poniżej (co zrobiłem dla powyższych postów).
Pozdrawiam |
|
|
|
 |
henrykrojek
Dołączył: 25 Lip 2011 Posty: 11
|
Wysłany: Pon Sie 01, 11 09:20
|
|
|
Dziękuję za wprowadzone zmiany.
h. R. |
|
|
|
 |
kruszynski
Pomógł: 17 razy Dołączył: 02 Sty 2009 Posty: 312
|
Wysłany: Pon Sie 01, 11 15:05
|
|
|
Próbowałem uruchomić ten skrypt i coś jest chyba nie tak.
1. Tworzy się skrypt zawierający wielokrotnie powtórzoną sekwencję
| Kod: | open
ścieżkapliku
(command "_export" "C:\Katalog\ścieżkapliku.pdf)
close |
Ale coś tu nie gra. Kiedy uruchamiam ten skryp. Tworzy się jeden plik pdf - pusty i to wszystko. Z pozostałych plików nie tworzą się pdfy.
2. getfiled prosi o wskazanie pliku. Lepiej byłoby zrobić coś takiego, żeby prosiło o wskazanie katalogu. Może w opcjach getfiled jest coś takiego, musiałbym to sprawdzić. A może lepiej byłoby robić export z wszystkich zaznaczonych plików a nie z całego katalogu w którym jest wskazany plik
3. Po Skopiowaniu z pliku scr linii (command "_export" ......) w pasek poleceń ZWCADa, okazuje się że ścieżki nie są prawidłowo rozpoznawane. ponieważ (command ... ) to już element LISPa więc wychodzi że jest lisp uruchamiający scrypt zawierający LISP. Po co taka konstrukcja. Nie można by w SCR zapisać po prostu export bez (command)?? A jeśli już konieczne jest (command, to w ścieżce znak \ powinien być dwukrotnie powtórzony czyli: (command "_export" "C:\\Sciezka\\Plik.pdf")
4. dlaczego ścieżka w drugiej linii jest bez rozszerzenia pliku? tylko ścieżka\nazwa bez dwg? |
|
|
|
 |
Gość
|
Wysłany: Pon Sie 01, 11 22:36
|
|
|
a jak ty chcesz zrobic export do pdf
eksport i drukowanie to dwie rozne rzeczy.
j. |
|
|
|
 |
henrykrojek
Dołączył: 25 Lip 2011 Posty: 11
|
Wysłany: Wto Sie 02, 11 10:02
|
|
|
W skrypcie, który Pan zamieścił, w wierszu (command ..... za słowem pdf powinien być cudzysłów. To jest prawdopodobnie przyczyną zatrzymania procedury.
Proszę sprawdzić linię w lispie, która tworzy ten wiersz, czy tam jest wszystko w porządku.
Piszę w pracy, z pamięci, stąd mało precyzyjnie.
Pozdrawiam.
H. Rojek |
|
|
|
 |
kruszynski
Pomógł: 17 razy Dołączył: 02 Sty 2009 Posty: 312
|
Wysłany: Wto Sie 02, 11 10:48
|
|
|
| tak, cudzysłów jest w pliku scr. Przy kopiowaniu mi się pominął |
|
|
|
 |
henrykrojek
Dołączył: 25 Lip 2011 Posty: 11
|
Wysłany: Sro Sie 03, 11 08:23
|
|
|
Witam!
Wybrałem losowo katalog z plikami dwg (108 plików).
Program bez problemów, w ciągu kilkudziesięciu sekund, przekształcił je do pdf_ów.
Oto początkowe i końcowe wiersze wygenerowanego skryptu:
open
D:\Tacmociag\C45\00
(command "_export" "D:\Tacmociag\C45\00.pdf")
close
.
.
.
open
D:\Tacmociag\C45\080_24
(command "_export" "D:\Tacmociag\C45\080_24.pdf")
close
Dlaczego w skrypcie, w wierszu (command .... i w ścieżce dostępu występuje znak "\", a nie "\\" ? - dla mnie też jest to zagadką.
W lispie wszędzie używany jest znak"\\" - widać to w dołączonych do programu komentarzach i w wierszu, w którym tworzony jest plik: (command "_export" ...).
Zamiana "\\" na "\" następuje dopiero w czasie przekazywania informacji do skryptu poprzez polecenie write-line; wygląda na to,że właściwa informacja jest jednak zapamiętywana, bowiem skrypt działa.
Dodam jeszcze, że system operacyjny komputera to WIN7.
W fazie początkowej, testowej program zachowywał się podobnie jak u Pana. Jeśli tylko któryś z wierszy wykazywał błąd, np. nil, czy coś podobnego, tworzył się jeden niekompletny pli pdf - była przerywana pętla repeat. |
|
|
|
 |
kruszynski
Pomógł: 17 razy Dołączył: 02 Sty 2009 Posty: 312
|
Wysłany: Sro Sie 03, 11 09:17
|
|
|
Sprawdzaliśmy to na różnych systemach.
Na XP działa bez problemu tak, jak u Pana. A na Viście jakoś nie chce. |
|
|
|
 |
|
|