...Luke, I am your father...
Przedstawię Wam alternatywną metodę generacji obrazu PCB w 3D. Projekt nie jest nowy, ma już kilka lat, ale w porównaniu do już znanej metody pochodzącej ze strony
http://www.matwei.de ma niebagatelne zalety, szybkości tworzenia i możliwość obracania w czasie rzeczywistym modelu 3D i jedną w zasadzie wadę, a mianowicie małą liczbę modeli elementów, choć przy projektowaniu PCB nie jest to tak istotne, a wszystko w oparciu o darmowe oprogramowanie.
To tyle, słowem wstępu…
Aby zacząć będziemy potrzebować... Google Sketchup 8 –
http://www.sketchup.com/intl/en/download/gsu.htmlImageMagick (zalecany ImageMagick-6.8.5-4-Q8-x86-dll.exe, ale możecie poeksperymentować
) –
http://www.imagemagick.org/script/binary-releases.php#windows , na stronie projektu jest też opis jak przeprowadzić test poprawności instalacji
EagleUP 4.4 –
http://eagleup.wordpress.com/installation-and-setup/ -
uwaga działa tylko od wersji Eagle 5.9.xWszyscy którzy używają starszych wersji muszą ściągnąć wersję opisana jako
legacy version.
Instalujemy Sketchup i ImageMagick w dowolnym miejscu na dysku, a zawartość pliku eagleUp4.4.zip wypakowujemy w dowolne miejsce i pliki kopiujemy odpowiednio:
1. z katalogu
…\ULP\eagleUp_export.ulp kopiujemy do katalogu
…\Eagle-x.x.x\ulp\ – gdzie x.x.x to nr wersji naszego Eagle’a
2. z katalogu
…\Sketchup Plugin\eagleUp_import.rb kopiujemy do katalogu
…\SketchUp\Plugins\3. cały katalogu
…\models\ kopiujemy do katalogu
…\Eagle-x.x.x\models\ – gdzie x.x.x to nr wersji naszego Eagle’a
Poza tym, zciągamy jeszcze wszystkie dostępne modele elementów z
http://eagleup.wordpress.com/warehouse/ , lub z mojego Dropsa z katalogu
…Eagle 3D\models\ -
https://www.dropbox.com/sh/907f3jr9ife2vdt/CJfpMUxYNF I rozpakowujemy (kopiujemy) do wcześniej utworzonego katalogu models - patrz pkt.3.
Po zainstalowaniu wszystkiego odpalamy
Eagle i dowolny projekt, ja dla przykładu wykorzystam projekt
Arduino_Mega2560 znajdujący się w
...\Projects\exampels\arduino\ Następnie przechodzimy do edytora PCB, jeśli mamy w projekcie poligony to musimy je wyrysować – poleceniem
Ratsnest i uruchamiamy program
eagleUp_export.ulp - dla przypomnienia ikonką
ULP lub z linii komend poleceniem
run. Przy pierwszym uruchomieniu pojawi się nam taki oto obrazek, ja mam go już wypełnionego, ale Wy będziecie mieć pola puste...
I tak, od góry, w pierwszym polu podajemy ścieżkę do modeli, w kolejnych dwóch podajemy ścieżki do programów, odpowiednio: convert.exe i composite.exe pakietu ImageMagic, a w ostatnim polu podajemy ścieżkę do katalogu w którym będą umieszczane pliki wynikowe z działania programu.
Jak wpiszemy
eagleUP/ to za każdym razem pliki będą generowane w katalogu naszego projektu w podkatalogu
eagleUP – chyba najlepsze rozwiązanie
, oraz zaznaczmy
„ptaka” żeby nie mieć problemów – znakomita większość programów do renderingu lepiej sobie radzi z formatem jpg niż z png.
Uwaga !!!
Pamiętajcie aby ścieżka do modeli i plików wynikowych była zakończona forward slash (/), a slash (/) był pochylony w prawo bo nie będzie działać.
Jak mamy już skonfigurowane ścieżki to klikamy
OK i ukazuje nam się kolejne okienko konfiguracyjne
...
W części:
Image export - ustawiamy jakość generowanych plików graficznych – wiadomo o co chodzi
,
Outline layer - wybieramy która warstwa ma być obrysem naszego PCB w generowanym modelu 3D,
Slik layers – wybieramy które warstwy opisowe mają być widoczne w generowanym modelu 3D, do wyboru mamy
Place+Names (obrysy elementów + ich oznaczenia),
Place only (same obrysy elementów),
None (bez opisów) oraz
Custom – jeśli wybierzemy tę opcję to pojawi się nam poniższe okienko gdzie z „palca” będzie można wpisać warstwy które maja się pojawić na warstwie Top i Bottom,
Misc – wybieramy kilka dodatkowych ustawień przyspieszających rendering,
Board only (no parts) – generowany jest tylko model płytki bez elementów,
no image (quicker) – generowany jest model bez ścieżek bez opisów tylko otwory i same elementy,
skip vias (quicker) – generowany jest model bez otworów pod przelotki, pola pod przelotki są widoczne
W polu:
Enter the board thickness – wpisujemy grubość PCB w mm, mils lub inch jak nam wygodniej
Choose solder mask color – wybieramy z listy kolor solder maski, do wyboru mamy odpowiednio: zielony, czerwony, niebieski, czarny, biały i żółty. Jeśli żaden nam nie odpowiada to wybieramy
custom, po naciśnięciu
OK program poprosi nas o podanie nowego (swojego) koloru ,niestety w notacji hex np. 0xFF6600 – kto zgadnie jaki to kolor
….
Choose plating – wybieramy kolor pól lutowniczych, tu nie mamy za dużego wyboru, tylko kolor srebrny i złoty,
Choose slik color - wybieramy kolor wszystkich warstw opisowych, do wyboru mamy ivory – kość słoniowa, biały lub czarny.
Po skonfigurowaniu wszystkich opcji jeśli chcemy aby program wygenerował nam potrzebne dane do modelu 3D klikamy
OK lub
Cancel gdy z jakichś względów zrezygnujemy z tego. Po krótkiej chwili zostaniemy poinformowani że wszystko przebiegło pomyślnie...
Mamy wszystkie potrzebne dane wygenerowane. Uruchamiamy
SketchUP, w okienku powitalnym klikamy na
Choose Template i wybieramy
Engineering – Meters, a następnie klikamy na
Start using SketchUP. Otwiera na się główne okno aplikacji z
„człowieczkiem” na środku, kliknięciem nań zaznaczany osobnika, następnie ponownym kliknięciem prawym klawiszem myszy wybieramy
Erase aby go usunąć. Jak mamy wolne pole, to z górnej belki Menu wybieramy
Plugins -> Import EagleUP v4.4, a następnie odnajdujemy na dysku folder
eagleUP z wcześniej wygenerowanymi danymi, zgodnie z naszymi założeniami powinien on być w katalogu naszego projektu, następnie wybieramy plik
Arduino_MEGA2560_ref.eup, po pewnej chwili i obejrzeniu kilkunastu wyskakujących okienek
ImageMagick oraz informacji o kilku lub kilkunastu brakujących modelach elementów mamy gotowy model 3D.
Który można obracać, przybliżać, powiększać, korygować i skalować położenie elementów, a przy odrobinie wprawy dorysowywać pozostałe elementy urządzenia np. obudowę. A w wersji SketchUpPRO można nawet stworzyć sobie animację video.
W katalogu EagleUP, oprócz pliku
*.eup i pliku
*.log o którym piszę niżej, znajduje się też kilka plików
*.png zawierających poszczególne warstwy naszej płytki,
które też mogą się przydać np. do prezentacji lub umieszczenia na stronie www – nie sprawdzałem w jakiej są skali, więc nie mam pewności czy można je użyć bezpośrednio do termo-transferu.
------------------------------------------------------------------------------------------------------------------UWAGA !!!Czasami może się okazać że mimo tego że wszystkie pliki wygenerowane są prawidłowo, to model 3D w SketchUp jest nie taki jaki powinien być, np. jak poniższy
Powodem takiego stanu rzeczy jest w większości przypadków niedomknięty obrysy PCB na warstwie
20 Dimension (nawet w kilku miejscach), na to szczególnie zwracam Wszą uwagę – obrys najlepiej rysować za jednym razem (jednym pociągnięciem myszki), bez przerywania funkcji
Wire, a w przypadku skomplikowanych kształtów proponuję naszkicować go używając linii pomocniczych, a potem obrysować.
W przypadku innych problemów polecam stronę F.A.Q. projektu -
http://eagleup.wordpress.com/f-a-q/------------------------------------------------------------------------------------------------------------------Modele 3D elementów...Jak pisałem na początku metoda ta ma też wadę, a jest nią brak modeli 3D. Jeśli chodzi o same projektowanie PCB w sensie podglądu prowadzenia ścieżek, ustawienia opisów szczególnie na warstwie bottom, itd. nie ma to większego znaczenia, ale w przypadku przygotowania prezentacji prototypu już tak...
Po szczegółowym przyjrzeniu się problemowi i przeglądnięciu katalogu .../models/ nie jest tak źle
Większość podstawowych modeli obudów elementów pasywnych w technologii przewlekanej i SMT, takich jak R, L i C oraz tranzystory, diody i IC jest, większość złącz jest. Więc w czym problem, otóż problemem są nazwy tych modeli, w różnych bibliotekach są różne nazwy tych samych obudów – różniące się jedną literką, cyferką, przedrostkiem itd.
Jak sobie z tym radzić, otóż po załadowaniu danych do SketchUp otrzymujemy informację w okienku o brakujących elementach, informacja ta zapisywana jest w katalogu
eagleUP naszego projektu w postaci pliku o rozszerzeniu
*.log, wystarczy podejrzeć sobie ten plik i odnaleźć w naszym katalogu
.../models/ interesujące nas modele 3D – bo przecież wiemy co projektujemy
i zmienić im nazwy tak aby odpowiadały tym z pliku
*.log.
Wiadomo..., wszystkiego może nie być i co wtedy...W pierwszej kolejności polecam przeszukanie witryny 3D Warehause -
http://sketchup.google.com/3dwarehouse/ znajdują się tam modele w formacie SketchUp (*.skp) gotowe od razu do użytku...
Co jeśli tam nie ma szukanego elementu?Polecam poszukać na witrynie
http://www.3dcontentcentral.com/ po wcześniejszym zarejestrowaniu się (rejestracja jest prosta jak na forum), przy czym tu sprawa się lekko komplikuje, otóż na tej stronie nie znajdziemy modeli w formacie SketchUp, natomiast będą nas interesowały modele w formacie
*.STL które sobie przekonwertujemy do formatu akceptowalnego przez SketchUp.
Potrzebny nam będzie darmowy program
MeshLab -
http://meshlab.sourceforge.net , po zainstalowaniu go importujemy wcześniej ściągnięty plik
*.STL, a następnie otwarty model w
MeshLab exportujemy do formatu
*.DAE który to format już bez najmniejszych problemów możemy zaimportować do SketchUp, przy czym do SketchUp importowany jest model „golas” bez żadnych tekstur i kolorów – taki mały zong - być może, że trzeba coś jeszcze ustawić w MeshLab, ja niestety nie wyczaiłem co? – trochę za mało czasu miałem, Jaglasty tylko pogania i pogania, w takich warunkach to normalnie pracować się nie da...
– to zadanie dla WAS... ambitnych...
, oprócz plików
*.STL, dobre będą też pliki w formatach
*.STEP i
*.IGES, ale tutaj jest trochę więcej roboty, bo należy dokonać konwersji dodatkowo przy pomocy
FreeCAD tzn.
file.step -> FreeCAD -> file.stl -> MeshLab -> file.dae -> Sketchup -> file.skp – jeszcze nie testowałem tego..., zostawiam to dla WAS...
Co w przypadku gdy wujek Google nie pomoże i nic nie znajdzie? Pozostaje zrobić potrzebny model samemu lub ubrać „golasa” wyżej opisanego
...,
Jak to zrobić? opis i video znajdziecie na stronie projektu -
http://eagleup.wordpress.com/how-to-model , a także na blogu Mirka - jeden z pierwszych video poradników -
http://www.mirekk36.blogspot.com/2011/08/program-3d-dla-kazdego-google-sketchup.htmlWięcej realizmu...Jeśli ktoś chciałby uzyskać bardziej realistyczne obrazy swoich PCB, to wtedy należy skorzystać z zewnętrznych silników renderujących instalowanych jako plugin do SketchUP.
Aby uzyskać efekt taki jak na poniższym obrazku, należy zainstalować silnik Maxwell – opis instalacji i konfiguracji znajdziecie tutaj -
http://dangerousprototypes.com/docs/Make_realistic_3D_renderings_of_PCB_designs_with_SketchUp_and_MaxwellAby uzyskać efekt taki jak na poniższym obrazku, należy zainstalować silnik Kerkythea - opis instalacji i konfiguracji znajdziecie tutaj -
http://dangerousprototypes.com/docs/Rendering_your_3D_models_part2