CAD cz.2: technika 2D: Różnice pomiędzy wersjami
m (→PrtGL czyli wirtualne plotowanie) |
m (→PrtGL czyli wirtualne plotowanie) |
||
| Linia 78: | Linia 78: | ||
<div class="thumbline-center"> | <div class="thumbline-center"> | ||
| − | [[File:PRTGL-Screenshot_20260128_103807.png|thumb| | + | [[File:PRTGL-Screenshot_20260128_103807.png|thumb|500px|Program PrtGl w oknie emulatora MS-DOS. Program posiadał ogromną ilość opcji, ale domyślnie dobrze ustawionych. W większości wypadków wystarczyło wybrać rysunek, drukarkę i określić na ile arkuszy ma być podzielony, ew. zaingerować w grubości linii.]] |
</div> | </div> | ||
Wersja z 09:12, 31 sty 2026
CAD 2
Spis treści
MegaCAD
Poprzedni odcinek skończyliśmy na walce z AutoCADem. Tymczasem technologia szła naprzód.
Pojawił się Windows 3.x. Zresztą pojawił się już wcześniej, tym bardziej, że dysponowałem niemieckojęzyczną wersją windowsa 3.0 OEM dla komputerów HighScreen, która potrafiła się uruchamiać na XT z 640kB pamięci. Czyli konfiguracji, którą pierwotnie posiadałem.
Akurat język niemiecki nie był problemem. Uczyłem się go w szkole. Ówcześnie także znaczna część komputerów Amiga i Atari ST przyjeżdżała do Polski w wersjach niemieckojęzycznych. Z różnych przyczyn w latach ‘90 związki z Niemcami były znacznie ciaśniejsze niż z krajami anglojęzycznymi.
Ale do rzeczy. Gdzieś w roku 1994, a może już 1995, do specjalnego numeru czasopisma „Chip”, poświęconemu oprogramowaniu, dołączono płytę CD. Na płycie były umieszczone znaczne ilości działającego oprogramowania. Zarówno freeware, jak i wersji testowych – ale działających, naprawdę coś robiących – co w owym czasie w wypadku programów dla Windows, wcale nie było oczywiste.
Między programami znalazł się również MegaCAD 4.2 w wersji demonstracyjnej. Program przeznaczony dla MS Windows. Jakie były ograniczenia? Brak eksportu i importu rysunków do/z formatu DXF, na wydruku pojawiał się znak wodny, a potem także się okazało, że rysunki z wersji demo nie otwierały się w wersji komercyjnej i na odwrót.
Jakiż to był postęp w stosunku do dotychczasowego oprogramowania dla MS DOS. Okna wygrywały we wszystkim. Nie było wiersza poleceń :D Przejrzysty i intuicyjny interfejs użytkownika. Podpowiedzi co zrobić dalej po wyborze narzędzia z menu. Po prostu bajka.
MegaCAD był aplikacją MS Windows i tworzył grafikę za pomocą GDI. Dzięki temu, jeżeli tylko posiadało się kartę graficzną nawet z prostym akceleratorem, to linie były rysowane sprzętowo bez udziału procesora. Odtwarzanie rysunku na ekranie w minimalnym stopniu obciążało komputer. Wszytko odbywało się bardzo szybko. Pojawiła się prawdziwa interakcja :D
Dygresja: AutoCAD dla MS-DOS też mógł pracować z akceleratorem grafiki. Jednak odpowiednie karty graficzne, w jego epoce, były kosmicznie drogie. Lista wspieranych kart była krótka i zawierała parę pozycji. Niektórzy producenci w komplecie z kartami dostarczali własne sterowniki ("drivery") specjalnie dla AutoCADa. Jednak ich wsparcie dla tego programu częściej kończyło się na wyższych trybach graficznych, niż sprzętowym rysowaniu linii i łuków, nie mówiąc o wypełnianiu obszarów.
MegaCAD był tylko 2D, ale jak już wspomniałem w pierwszej części tekstu, praca w 3D była ówcześnie i tak praktycznie niemożliwa z przyczyn technicznych.
Tym programem CAD wykonałem wszystkie swoje rysunki/projekty w ciągu całych studiów.
Program był spolszczony, a jedynym zgrzytem był brak polskich czcionek. Zarówno na rysunku, jak i w menu programu. Prawdopodobnie twórcy, spolszczając go, użyli którejś z DOSowych lub międzynarodowo-normatywnych stron kodowania, zamiast win1250. Zabawne było to, że publikując parę lat później „Megacad 3D demo”, również na CD z miesięcznikiem „Chip”, problem polskich znaków w spolszczeniu pozostał nierozwiązany.
Brak eksportu i importu DXF bolał od czasu do czasu. Tworzenie oraz import plików DXF jest po prostu bardzo proste i wygodne z punktu widzenia innych programów, które chcą wytworzyć lub wykorzystać jakiś rysunek wektorowy.
MegaCAD pozbawiony był linii komend… ale za to został wyposażony przez producenta w prosty kompilator języka C, umożliwiający tworzenie makr, modułów, czy też wtyczek, a może nawet aplikacji pracujących w środowisku systemu CAD. Był zapewniony dostęp do bazy danych obiektów graficznych („entity”!), a także do funkcji rysunkowych.
Oczywiście nie minęło dużo czasu, jak dzięki wspomnianemu kompilatorowi C, napisałem własny prosty moduł eksportu plików DXF...
Jeszcze po studiach, hobbistycznie korzystałem z MegaCADa. Cóż, bardziej poszedłem zawodowo w informatykę niż w inżynierię mechaniczną.
Po roku 2000, jak już upowszechniał się internet, miłym gestem ze strony polskiego dystrybutora MegaCADa było udzielenie dostępu dla użytkowników niekomercyjnych do pełnej wersji systemu 4.5. Po prostu można go było ściągnąć ze strony internetowej.
Wtedy też wyszły na jaw wspomniane problemy z kompatybilnością pomiędzy wersją demo i nie-demo. Osobiście rozwiązałem je dzięki wspomnianemu własnemu modułowi eksportu plików DXF.
W owym okresie, hobbistycznie, przebudowałem prostą frezarkę na maszynę CNC. Więc ów moduł eksportu DXF również przerobiłem tanim kosztem na moduł eksportu g-code dla obrabiarek (ten program opublikowaliśmy wiele lat temu na łamach technique.pl).
MegaCAD i drukowanie w epoce win 3.x i 95
Drukowanie rysunków było oddzielnym wyzwaniem.
Z jednej strony, dzięki kuzynowi z USA, zostałem wyposażony w czarno-białą drukarkę atramentową Canon BJ200e. Prawdziwe 360 punktów na cal. W porównaniu do drukarek igłowych to był jakościowy odlot. Wydruki nie różniły się od tych, z kosmicznie drogich drukarek laserowych. Jedyną wadą był brak wodoodporności. Wydruki rozmazywały się pod wpływem wody, a nawet spoconych rąk…
Z drugiej strony, Windows wyjątkowo brzydko drukował grafikę. Teksty, ok. Ale już obrazki w tym tekście to ówcześnie był trochę koszmar. Pomagały specjalizowane programy graficzne jak chociażby Corel DRAW. Ale nie o to chodziło.
Dygresja: Corel DRAW wszystkie obiekty interpretował jako krzywe Béziera. Nawet linie proste i złożone z nich figury, takie jak kwadraty i prostokąty. Import rysunku technicznego z systemów CAD, np. z pliku DXF, zawsze prowadził do rozjechania się wymiarów, czy nawet całych rysunków, z powodu braku styczności lub ciągłości linii…
Ale wróćmy do drukowania.
Ówcześnie nadal uważano, że rysunki wektorowe, w szczególności inżynierskie, będą plotowane na ploterach, a nie drukowane na drukarkach. Takie podejście ma swoją logikę. Oczywiście tak długo, jak długo mamy do dyspozycji ploter.
MegaCAD po wybraniu opcji „Drukuj” z menu „Plik” drukował rysunki nawet w skali 1:1, ale w beznadziejny jakościowo sposób.
Problem był rozwiązany przez producenta tak, że do systemu były dołączone dwa dodatkowe programy: Jeden sterował pracą ploterów, a drugi służył specjalnie do drukowania rysunków. Ten drugi program miał chyba nawet własny zestaw sterowników do popularnych drukarek. Drukował ślicznie... ale nie potrafił samodzielnie podzielić dużego rysunku na wiele kartek(!). Tzn. zrobić mozaiki. Trzeba było za każdym razem ręcznie zaznaczać obszar rysunku do wydrukowania. I ten obszar był ślicznie skalowany do rozmiaru papieru… Nie dało się drukować 1:1 większego rysunku niż A4, czyli o rozmiarze papieru w drukarce.
PrtGL czyli wirtualne plotowanie
Problem rozwiązałem przypadkowo. Na którąś „gwiazdkę” zaszalałem i kupiłem sobie w firmie Walnut Creek CDROM (już nie istnieje) zestaw płyt z archiwum oprogramowania „SimTel” (też chyba już nie istnieje).
Pamiętajmy, że to czasy, gdy internet już był, ale jego dostępność była dla szarych ludzi dość iluzoryczna. Tzn. płyty, a jakże, zamówiłem przez internet. Ale o buszowaniu po jakiś zdalnych archiwach nie było mowy, bodaj z powodu kosztów połączenia telefonicznego i modemu o znikomej, w stosunku do potrzeb, prędkości transmisji.
Na którejś płycie „SimTel” trafiłem na emulator plotera, potrafiący nie tylko drukować na drukarkach 24-igłowych Epson LQ, ale wprost wspierający drukarki atramentowe Canon serii BJ.
Ten emulator plotera nosił nazwę PrtGl, wersja 1.52. To był czysto DOSowy program z minionej epoki. Jednak potrafił zrobić wszystko co trzeba samoczynnie. Tzn. wczytać sobie plik przeznaczony dla ploterów w HPGL (czyli plt), podzielić duży format na małe arkusze, dojść do porozumienia z grubościami linii i wszystko ładnie wydrukować, bez potrzeby ciągłego nadzoru.
QCAD
Czas płynął nieubłaganie. Mijały lata. W międzyczasie pojawiła się u mnie potrzeba posiadania jakiegoś wspieranego, współczesnego narzędzia do rysowania. Wybór padł na program QCAD. Akurat wybór tego, konkretnego programu miał swoje powody:
- QCAD był skrajnie podobny w obsłudze, czy też metodyce pracy, do oprogramowania MegaCAD 4.x.
- Pracował na wybranej przeze mnie platformie (Linux) i wybranej dystrybucji (Slackware), oczywiście jest też wersja dla MS Windows.
- Drukował zgodnie z oczekiwaniem.
- Posiadał wsparcie techniczne.
- Jedynym ograniczeniem wersji bezpłatnej był brak sensownej obsługi polilinii.
- Był tani (tak, dopóki wykorzystywałem go komercyjnie, dopóty płaciłem 30eur rocznie za wsparcie techniczne wersji „professional”).
Więcej, QCAD, tak jak AutoCAD, posiadał wiersz poleceń :D Jednak z racji mijających lat i postępu technologicznego, wiersz poleceń nie akceptował ani LISPa, ani C, ale JavaScript. Jest to trochę zaskakujące. Ale jeżeli weźmiemy pod uwagę, że cały QCAD jest napisany w tym języku, to już nic nas nie zdziwi.
QCAD vs LibreCAD
QCAD jest chyba jedynym programem który znam, który zawiera opis jak samego siebie zhakować :D Tzn. Po upłynięciu okresu próbnego, wyświetla się okno, które o tym informuje. W dalszej części tego samego okna autor umieścił instrukcję, które pliki usunąć, aby kontynuować pracę (jednak z mocno ograniczoną obsługą polilinii).
Pomimo to, QCAD posiada całkowicie darmowego brata o nazwie LibreCAD.
Nie piszę „brata bliźniaka”, ponieważ pomiędzy nimi była fundamentalna (dla programistów) różnica. W QCADzie bardzo długo wykorzystywano do wyświetlania bibliotekę QT3, a w LibreCAD już QT4 (w tamtym momencie historii nawet testową).
Wiem, dla większości użytkowników nie ma to żadnego znaczenia.
Ta różnica ma jednak swoje odbicie w rzeczywistości. Nawet nie na funkcjonalności, ale na wizualnym kształcie interfejsu użytkownika w tych programach. Tzn. programy mają inne ikonki na przyciskach i troszkę inaczej rozplanowane okna, czy też elementy interfejsu. Ale z punktu widzenia końcowego użytkownika działają tak samo. Mało tego, aktualnie obydwa programy wykorzystują QT5...
QCAD jest cały czas podstawowym, ciągle rozwijanym programem, do którego w pierwszej kolejności trafiają wszystkie nowości i ew. poprawki błędów. LibreCAD dostaje aktualizacje trochę później i może mieć mniej opcji konstrukcyjnych… Z braku siły roboczej, architektonicznie (w sensie informatycznym) LibreCAD pozostał mocno z tyłu za QCADem. No i oczywiście LibreCAD ma ograniczoną obsługę polilinii, w zasadzie taką samą, jak demonstracyjna, przeterminowana wersja QCADa.
Ta nieszczęsna polilinia bierze się stąd, że QCAD jest sercem innego, stricte komercyjnego systemu, służącego do programowania ploterów tnących, wycinarek i grawerek CNC. Do sprawnego tworzenia kodu dla takich maszyn polilinia jest niezbędna. Taka jest geneza usuwania jej obsługi w zupełnie darmowych wersjach tego oprogramowania.
Podsumowanie odcinka
Aktualnie na rynku nadal jest dostępnych sporo dwuwymiarowych systemów CAD. Prawdopodobnie co najmniej dwa z nich są natywnie polskie. W moim wypadku takie, a nie inne życiowe wybory były spowodowane dostępnością oprogramowania oraz subiektywną wygodą użytkownika, przyzwyczajonego do pewnych rozwiązań. Nie upieram się, że były najlepsze. Zaznaczam, że to nie jest tekst sponsorowany ;)
Dygresja: Szkoda, że na rynku prasowym nie istnieją już fachowe tytuły, z których można by się dowiedzieć jakie oprogramowanie inżynierskie nadal istnieje i jest rozwijane oraz co potrafi… Nie jestem w stanie polecić żadnej literatury na ten temat.
W następnym odcinku zaczniemy omawianie rozwiązań 3D.
Tekst i zdjęcia: Szymon Dowkontt