Czołem drukarze!
Od ponad roku moim podstawowym slicerem jest Simplify 3D, w którym ciąłem wszystkie modele przygotowywane do druku. Sam slicer tnie modele bardzo ładnie, ale wkurza mnie jego interfejs i bałagan w opcjach. Poza tym już kilkakrotnie S3D zgubiło moje skrupulatnie dopieszczane profile, co dodatkowo odbiera mi psychiczny komfort korzystania z tego slicera.
Od jakiegoś czasu mocno mnie kusiło, żeby spróbować przesiąść się na Slic3ra – tym bardziej, że jest to slicer oficjalnie wspierany przez Prusę i doczekał się nawet swojego własnego forka pod nazwą Slic3r Prusa Edition, który zawiera kilka fajnych funkcji, a także domyślnie ma w sobie dobrze dobrane parametry pod druk na Prusie.
Niestety Slic3r ma jedną ułomność – nie wyświetla szacunkowego czasu druku modelu na danych parametrach. Niestety jest to dla mnie rzecz bardzo ważna, ponieważ często eksperymentuję z różnymi parametrami i porównuję przewidywane czasy druku szukając optymalnego stosunku jakości/wytrzymałości do czasu druku. Czasami działa to też w drugą stronę – muszę mieć model gotowy np. za 4 godziny i szukam takich parametrów, żeby w tym czasie wydrukować model możliwie jak najlepiej.
Sam Josef Průša nie planuje dodawania tej opcji do swojego forka, ponieważ czas druku można sprawdzać w programie Pronterface, który jest domyślnie instalowany z Slic3rem Prusy. Na takiej samej zasadzie można sprawdzać czas druku w programie Repetier Host, lub na stronie http://gcode.ws/.
Owszem – jest to jakieś wyjście, ale dla mnie jest to mega niewygodnie. W S3D dobieram sobie parametry, klikam dwa razy i widzę czas druku. Jak nie pasuje, to poprawiam, znowu klikam i widzę o ile czas się zmienił. Gdybym miał za każdym razem generować gcode i ręcznie ładować go w zewnętrznym programie, to chyba szlag jasny by mnie trafił już po kilku minutach ;)
Na szczęście da się to trochę ułatwić i zautomatyzować. Na rozwiązanie nakierował mnie na Wykopie użytkownik DesuDeluxe, który podpowiedział, że do Slic3ra można podpiąć skrypt pythona, który jest wykorzystywany we wspomnianym wcześniej programie Pronterface do obliczania czasu druku. Na Reddicie znalazłem nawet gotowe rozwiązanie, które jednak nie bardzo chciało u mnie działać, więc zarwałem wczoraj nockę i nieco dopieściłem ten skrypt :)
Na poniższym nagraniu możecie zobaczyć, jak to działa:
Po załadowaniu skryptu do Slic3ra czas druku jest pokazywany w dwóch miejscach:
- W okienku, które pojawia się automatycznie po wyeksportowaniu GCODE (jest to moja modyfikacja do skryptu)
- Czas jest dodawany także do nazwy zapisywanego pliku .gcode. Przykładowo – przy zapisywaniu pliku majsterkowo.gcode na dysku zostanie zapisany plik majsterkowo_0h48m.gcode.
Nie jest to może aż tak wygodne, jak w Simplify 3D, ale jest to już dla mnie rozwiązanie akceptowalne, bo nie wymaga ode mnie odpalania dodatkowych programów, ani żadnego dodatkowego klikania.
Jak włączyć wyświetlanie czasu druku w Slic3r
Po pierwsze – jeżeli jeszcze nie macie, to musicie zainstalować sobie Pythona 2.7 (koniecznie w wersji 2.7.*!).
Po zainstalowaniu ściągnijcie skrypt gcoder.py (to jest ta moja wersja skryptu, która śmiga bez problemu pod Windows 10). Jeżeli chcecie spróbować użyć oryginalnego skryptu, to możecie go pobrać z githuba. Po pobraniu rozpakowujemy archiwum i zapisujemy plik gcoder.py gdzieś na dysku.
Następnie odpalamy Slic3ra i przechodzimy do zakładki Print Settings -> Ouptut options i wklepujemy ścieżkę do pliku gcoder.py w polu Post-processing Scripts:
I to wszystko :D Pamiętajcie tylko, że ten krok trzeba powtórzyć dla wszystkich profili utworzonych w Print Settings.
Jeżeli chcecie, żeby to czarne okienko pojawiające się po eksporcie GCODE samo się zamykało (pojawi się na kilka sekund i samo zniknie), to usuńcie z pliku gcoder.py następujące linie:
1 2 |
print u"Wciśnij ENTER aby zamknąć okno..." raw_input('') |
Mam nadzieję, że ten krótki poradnik ułatwi Wam nieco życie.
Pozdrawiam!
Łukasz
MEEEEEGAAAA!
Jak mają się przewidywane czasy wydruku w obu programach do siebie i do rzeczywistych czasów?
Mówisz o Simplify 3D vs Slic3r? Nie chce mi się sprawdzać (trzeba by zrobić w obu identyczne profile druku). Ale znając życie żadna z tych metod nie pokaże prawdziwego czasu – chociażby dlatego, że nie uwzględniają przyspieszeń drukarek ;)
Porównywałem natomiast ten skrypt pythona do czasów pokazywanych na gcode.ws – i były bardzo zbliżone.
U mnie nie wiedzieć mi czemu nie dodaje czasu do nazwy pliku ani okno cmd nie wyskakuje, jest tylko jego mignięcie. Python 2.7.14
A odpal sobie wiersz poleceń w windowsie i spróbuj ręcznie odpalić skrypt dodając jako parametr jakiś GCODE, np.:
D:\Majsterkowo\gcoder.py D:\Majsterkowo\majsterkowo.gcode
Z CMD działa ślicznie, zmienia nazwy wyskakują parametry, szacowany czas, a ze slicera nie
Może ścieżkę po prostu źle wklepałeś w Slic3rze? Jak z CMD działa, to w Slic3rze chyba nie ma bata, żeby nie działało ;)
Ścieżka dostępu była oki sprawdzałem po kilka razy, uruchamiałem od nowa kompa i program i nic a tu nagle chciałem pociąć model i wypluło okienko z godziną, więc nie wiedzieć czemu ruszyło, super sprawa podoba mi się.
Jakiś tam element
szacowany czas prze slic3r 44 minuty
szacowany czas przez repetier server 55 minut
czas realnego druki 53
W 380 linii pliku gcoder.py możesz zmienić wartość przyspieszenia na taki, jaki masz faktycznie ustawiony w eepromie drukarki. Powinno wtedy dokładniej liczyć (a przynajmniej tak mi się wydaje;)
Przyda się.Dzięki.
No problemo!
Natrafiłem na ten artykuł dzisiaj i jestem zdumiony. Od ponad pół roku korzystam z Slic3ra i mam tą funkcję u siebie normalnie wbudowaną. Po eksporcie czas pokazuje się w prawym dolnym rogu…