_

[Lisp] Cad - wydruk do pdf

Forum poświęcone flagowemu produktowi oraz aplikacjom pochodnym Autodesku. To jedyne forum mające w tytule nazwę programu, a to ze względu na jego olbrzymią popularność w Polsce. Można tutaj umieszczać również posty z ogólnie pojętej tematyki "Kreślarskie 2D".

[Lisp] Cad - wydruk do pdf

Postprzez ziele_o2k » gru 06, 2017 01:36

Ruszam temat drukowania do pdf z przestrzeni papieru/modelu.
Gotowe narzędzie mam do własnego użytku, ale po dopieszczeniu opublikuję, jeśli oczywiście forumowicze się włączą w dyskusję :)

Na początek ramka rysunkowa - blok dynamiczny (podstawa całego mojego późniejszego lispowego rozważania).

Czekam na pytania/uwagi/sugestie.
Załączniki
GTCAD_frame_V3.dwg
Aktualna wersja ramki
(78.69 KiB) Pobrane 8 razy
GTCAD_frame.dwg
(41.4 KiB) Pobrane 21 razy
Ostatnio edytowany przez ziele_o2k, gru 07, 2017 11:48, edytowano w sumie 1 raz
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 520
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: [Lisp] Cad - wydruk do pdf

Postprzez kojacek » gru 06, 2017 08:07

ziele_o2k napisał(a):Ruszam temat drukowania do pdf z przestrzeni papieru/modelu.
Gotowe narzędzie mam do własnego użytku, ale po dopieszczeniu opublikuję, jeśli oczywiście forumowicze się włączą w dyskusję :)

Na początek ramka rysunkowa - blok dynamiczny (podstawa całego mojego późniejszego lispowego rozważania).

Czekam na pytania/uwagi/sugestie.


Chętnie się włączę. Dawaj! :)
Avatar użytkownika
kojacek
 
Posty: 5304
Dołączył(a): paź 03, 2005 20:17

Re: [Lisp] Cad - wydruk do pdf

Postprzez SOYER__1 » gru 06, 2017 11:27

Zerknąłem na blok ramki:
Czy jest jakaś sygnalizacja w jakiej skali jest ramka ?
Widoczna informacja jaki to format(A3/...A0+) i wielkość formatki (np:297x1820) też się przydają (nie trzeba mierzyć ).
Ja mam oddzielne ramki (dyn) dla każdej formatki - taki mi wygodniej (Pomyliłem - dla każdej skali 10/20/25/50/100) .
Osobiście robię również listę rysunkową na podstawie atrybutów dołączonych do ramki (nr/tytuł, rewizja) . Ponieważ tabelki zwykle przychodzą z zewnątrz i są marnej jakości - przeważnie bez atrybutów.
No i tak się zastanawiałem czy nie dało by się (tworząc widok w modelu czy layout) odczytać formatki(drukarka) z bloku ramki i jej wielkości (dobór arkusza) a następnie na podstawie atrybutów ramki nadać nazwę pliku pdf. To by było dobre :)
Nie wiem na ile jest to wykonalne .
SOYER__1
 
Posty: 70
Dołączył(a): wrz 29, 2015 10:07

Re: [Lisp] Cad - wydruk do pdf

Postprzez ziele_o2k » gru 06, 2017 13:22

SOYER__1 napisał(a):Zerknąłem na blok ramki:
Czy jest jakaś sygnalizacja w jakiej skali jest ramka ?
Widoczna informacja jaki to format(A3/...A0+) i wielkość formatki (np:297x1820) też się przydają (nie trzeba mierzyć ).
Ja mam oddzielne ramki (dyn) dla każdej formatki - taki mi wygodniej (Pomyliłem - dla każdej skali 10/20/25/50/100) .
Osobiście robię również listę rysunkową na podstawie atrybutów dołączonych do ramki (nr/tytuł, rewizja) . Ponieważ tabelki zwykle przychodzą z zewnątrz i są marnej jakości - przeważnie bez atrybutów.
No i tak się zastanawiałem czy nie dało by się (tworząc widok w modelu czy layout) odczytać formatki(drukarka) z bloku ramki i jej wielkości (dobór arkusza) a następnie na podstawie atrybutów ramki nadać nazwę pliku pdf. To by było dobre :)
Nie wiem na ile jest to wykonalne .

Tak na szybko się odniosę.
  • Sygnalizacji skali w jakiej jest ramka nie ma i nie widzę potrzeby dodawania takiej funkcjonalności. Ja z założenia drukuję z przestrzeni papieru, ponieważ po to jest przestrzeń papieru. Co do wydruków z modelu, to dodam odpowiednie funkcje, żeby było wszystko ok ze skalami
  • wymiarów kartki jako takich nie ma, ponieważ dopasowuję ramkę do tego co mam wydrukować. Mam pomysł jak to dorzucić, więc będzie, ale widoczne po włączeniu okienka właściwości
  • co do listy rysunkowej i nazwy pdfa, to rozwiązałem to u siebie tak, że mam zdefiniowane ileś bloków z tabelkami, lisp wyszukuje w aktualnie drukowanym rysunku takiej tabelki i na tej podstawie generuje nazwę pdfa + do oddzielnego pliku numer tematu, nr rysunku, rewizję i co tam trzeba jeszcze. Jeśli program przy wydruku nie znajdzie wcześniej zdefiniowanego bloku to nazwą pdfa jest kolejny numer lub nazwa arkusza (tylko dla wydruków z przestrzeni papieru)
Powoli będę pokazywać co i jak. Generalnie to co mam u siebie to jest kombajn, ponieważ w połączeniu ze skryptami (pliki scr), w kilka minut generuję dokumentację składającą się z kilkudziesięciu rysunków do pdf razem z zestawieniem do excela z hiperłączami do dwgów i pdfów.
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 520
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: [Lisp] Cad - wydruk do pdf

Postprzez ziele_o2k » gru 06, 2017 20:39

Kolejna wersja ramki załączona. Dodałem parametr przeglądania, żeby było wiadomo na jaką wielką kartkę patrzymy.

Jutro ciąg dalszy -> drukarka .pdf z której będziemy korzystać :)
Załączniki
GTCAD_frame_V2.dwg
(41.37 KiB) Pobrane 40 razy
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 520
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: [Lisp] Cad - wydruk do pdf

Postprzez Jerry » gru 07, 2017 08:37

Jeśli mogę coś zasugerować:
co do listy rysunkowej i nazwy pdfa, to rozwiązałem to u siebie tak, że mam zdefiniowane ileś bloków z tabelkami

lepszym (z mojego punktu widzenia) rozwiązaniem byłoby przypisanie atrybutów do tej ramki (widocznych lub nie), w których można by było umieścić wiele rożnego rodzaju informacji (nr rys, nr arkusza, nr projektu, rewizję, projektantów itp), które to atrybuty byłyby źródłem (field-y) dla atrybutów w tabelce
wymiarów kartki jako takich nie ma, ponieważ dopasowuję ramkę do tego co mam wydrukować

można pokusić się o definicję standardowych wymiarów A4, A3 itd + dla tych, którzy robią projekty liniowe, pewne wysokości papieru dostosowane do plotera (u mnie sa to 4 wysokości 30, 42, 60 i 90cm)
Ja z założenia drukuję z przestrzeni papieru, ponieważ po to jest przestrzeń papieru

I trzeba takie podejście lansować

Jerry
Jerry
 
Posty: 197
Dołączył(a): paź 02, 2005 18:35
Lokalizacja: Gdańsk

Re: [Lisp] Cad - wydruk do pdf

Postprzez ziele_o2k » gru 07, 2017 11:34

@Jerry

  1. Ogólnie można tak to roziwązać, ale tutaj już decydują preferencje użytkownika i takich rzeczy nie będę dodawać. Poza tym dla mnie bardziej intuicyjne jest edytowanie tabelki (z atrybutami) niż atrybutów w ramce. Postaram się tak napisać funkcję do drukowania, żeby można było ją wykorzystać jako "biblioteczną" i potem na własne potrzeby dopisywać lispy do obsługi nazw plików itd.
  2. Definicja standardowych rozmiarów jest wrzucona przecież:
    2017-12-07_10-16-24.jpg
    Jeśli chodzi o rolki to w ramce dodałem standardowe wysokości ISO (297, 420, 594, 841) oraz dodatkowo 914mm (36 in) - gdzieś znalazłem, że to jest nazwane jako A0+ (914x1292). Tutaj oczywiście można dorzucać dużo różnych innych, ale tego akurat będę się trzymać. Wydaje mi się, że w celu usystematyzowania rozmiarów należałoby skonfigurować oddzielną tabelkę w calach, ale tego robić nie będę (przynajmniej teraz). Swoją drogą, jakieś pomieszanie masz tych rolek... :)
Edit:
Dodałem kolejną wersję ramki tu i w pierwszym poście (rozmiar A0+) .
Załączniki
GTCAD_frame_V3.dwg
(78.69 KiB) Pobrane 7 razy
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 520
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: [Lisp] Cad - wydruk do pdf

Postprzez kojacek » gru 07, 2017 14:06

Się wtrącę. Też byłbym zwolennikiem rozwiązań na pewnym stopniu ogólności. Bo jak zaczniemy dywagować i pochylać się nad każdą kreską w bloku, to się wszystko rozlezie... I takie (wg mnie) kierunki (warunki) widzę:

A] Obszar modelu:
1) Ramką jest prostokąt (najlepiej blok).
2) Ramka (ów blok) może być (a) obrócona, (b) zeskalowana (ale tylko proporcjonalnie, i nieujemnie)
3) (wtedy) ramka jest podstawą do (dynamicznego) stworzenia (nazwanego) widoku
4) (ogólnie) skala bloku jest podstawą do wyliczenia skali wydruku
5) Wtedy wybór bloków (ramek) w modelu, tworzy listę wydruków (można ustalić kolejność, itp.)

B] Obszar papieru:
1) Ramką jest prostokąt (najlepiej blok).
2) W papierze nie powinna mieć innej skali niż 1:1, nie widzę też konieczności obracania
3) (???) Tu też można tworzyć widok (?)
4) (???) Utworzenie rzutni papieru na podstawie ramki w modelu (może być innej), a właściwie na podstawie widoku.

ps1. Punkty 3A i 4B (jak pamiętam), chyba kruuger już tu robił?
ps2. Taka ogólność pozwoli każdemu, używać bloku ramki jaki mu pasuje, niech tylko (tenże blok) spełnia jakieś podstawowe kryteria konieczne do oprogramowania powyższych punktów.
Avatar użytkownika
kojacek
 
Posty: 5304
Dołączył(a): paź 03, 2005 20:17

Re: [Lisp] Cad - wydruk do pdf

Postprzez ziele_o2k » gru 07, 2017 16:20

kojacek napisał(a):(...)
A] Obszar modelu:
1) Ramką jest prostokąt (najlepiej blok).
Jest
kojacek napisał(a):2) Ramka (ów blok) może być (a) obrócona, (b) zeskalowana (ale tylko proporcjonalnie, i nieujemnie)
Będą sprawdzajki w lispie.
kojacek napisał(a):3) (wtedy) ramka jest podstawą do (dynamicznego) stworzenia (nazwanego) widoku
Uwaga niżej.
kojacek napisał(a):4) (ogólnie) skala bloku jest podstawą do wyliczenia skali wydruku
Naturalna kolej rzeczy.
kojacek napisał(a):5) Wtedy wybór bloków (ramek) w modelu, tworzy listę wydruków (można ustalić kolejność, itp.)
Nad kolejnością się specjalnie nie zastanawiałem i chyba nie będę nad tym się pochylać. Mogę dać jedynie dwie opcje:
  1. Zaznaczamy ramki do wydruku ssgetem i wtedy kolejność jest "losowa" tzn. nie mamy nad nią kontroli,
  2. Zaznaczamy ramki entselem, tworzy listę o określonej kolejności i wtedy drukuje w założonej kolejności
To ma być jak najprostsze narzędzie z możliwością rozszerzania we własnym zakresie przy pewnych założeniach, które tutaj powoli się wykluwają. Wytyczne i przykłady rozszerzeń i tego jak ja mam to wszytko rozwiązane będą później.
kojacek napisał(a):B] Obszar papieru:
1) Ramką jest prostokąt (najlepiej blok).
Jak wcześniej
kojacek napisał(a):2) W papierze nie powinna mieć innej skali niż 1:1, nie widzę też konieczności obracania
Obracania brak, skali innej niż 1:1 też nie. Dam w lispie sprawdzajki, które to będą blokować.
kojacek napisał(a):3) (???) Tu też można tworzyć widok (?)
4) (???) Utworzenie rzutni papieru na podstawie ramki w modelu (może być innej), a właściwie na podstawie widoku.

Uwaga do pktów 3A; 3B; 4B - tych funkcjonalności nie planuję. Od tego powinien być inny kombajn, który kiedyś kruuger robił. Ja używam ViewPortMastera i dopóki swojego nie napiszę w takie rzeczy się nie będę bawić.
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 520
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: [Lisp] Cad - wydruk do pdf

Postprzez ziele_o2k » gru 08, 2017 01:07

Obiecałem to wrzucam. Drukarka pdf z plikiem pmp na podstawie których będziemy działać dalej.
Teraz już tylko trzeba lispa obrobić :)

Plik GT-CAD_PDF_ACAD.pc3 wrzucamy tutaj:
Kod: Zaznacz cały
(getenv "PrinterConfigDir")

Plik GT-CAD_PDF_ACAD.pmp wrzucamy tutaj:
Kod: Zaznacz cały
(getenv "PrinterDescDir")

Jeśli się z automatu plik .pmp nie podczyta to trza go podpiąć tutaj:
20171207_0039.jpg

Na czas testów i uzgadniania szczegółów ograniczamy się ze sterownikiem do tego dostarczonego przez Autodesk z AC.
Planuję to samo zrobić dla BricsCada, Zwcada i Gstarcada, ale dopiero jak lisp będzie w pełni działać na AC. Więc na tą chwilę użytkownicy innych programów nie skorzystają.
Załączniki
GT-CAD_PDF_ACAD.zip
(17.77 KiB) Pobrane 13 razy
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 520
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Następna strona

Powrót do AutoCAD

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników