Quantcast
Channel: www.3D-Druck-Community.de - Alle Foren
Viewing all articles
Browse latest Browse all 17038

Simplify3D korrekte Druckzeitberechnung

$
0
0
Ich habe mich mal ein wenig schlau gemacht wie man die Druckzeit die Simplify3D berechnet etwas besser bestimmen kann.

Dazu habe ich das folgende Programm gefunden: https://github.com/davr/Marlin/blob/estimate/Marlin/calc.exe
Dieses Tool gibt es unter dem angegebenen Repository auch als Source-Dateien zum selber kompilieren.
Benötigt werden: calc.cpp, calc.h, planner.cpp, planner.h und bei Bedarf auch die Makefile.calc

Wenn man sich die calc.exe heruntergalden hat, kopiert man sich diese einfach in das Installationsverzeichnis von Simplify3D.
Anschließend wird der folgende String in S3D unter:
Edit Process Settings -> Scripts -> Additional terminal commands for post processing
eingetragen.
Code:
cmd /c "[install_dir]"\calc.exe "[output_filepath]" > "D:\#3D\#3D-Files\GCODE-X3G\time.txt"

Dieser String macht folgendes: Es wird eine CommandShell mit dem Parameter /c  geöffnet welche wiederum
die Datei calc.exe  mit dem Übergabeparameter zu der aktuelle abgespeicherten G-Code-Datei [output_filepath]  aufruft.
Das Ergebniss dieses Aufrufs wird dann mittels ">"  in die Datei "D:\#3D\#3D-Files\GCODE-X3G\time.txt" geschoben.
Der Parameter /c  bedeutet, dass sich die CommandShell nach getaner Arbeit von selbst wieder schließt.

Der Pfad zu der Datei time.txt ist in meinem Fall der selbe wie der Pfad wo auch die gcode-Datei abgelegt wird.
Leider hat S3D den Parameter [output_dir]  entfernt somit ist kein parametrierter Zugriff auf den reinen Pfad mehr möglich.
Daher muss man den Pfad nun absolut angeben.

Der Aufruf des Strings erfolgt erst sobald man die Datei als gcode abspeichert.
Nachdem die g-code Datei abgespeicht wurde steht die aktuelle Druckzeit in der time.txt.

Der Inhalt der time.txt Datei sieht nach dem Aufruf dann ungefähr wie folgt aus:
Code:
Processed 142148 Gcodes and 14 Mcodes. 134232 blocks
Total time: 01:30:34 s


Damit dieses Programm auch die Beschleunigungswerte mit in die Zeitberechnung einfließen lassen kann, müssen diese im G-Code mit angegeben werden.

Im Start-Script werden einfach ganz oben folgende M-Codes korrekt eingetragen:
Code:
M203 X300.00 Y300.00 Z20.00 E25.00 ;Set maximum feedrate
M201 X1200 Y1200 Z100 E10000 ;Set max printing acceleration
M204 P1200 T1500 R3000 ;Set default acceleration  
M205 S0.00 T0.00 B20000 X15.00 Z0.40 E5.00 ;Advanced settings
Eure Werte findet ihr in der Configuration.h und in der Configuration_adv.h oder mittels des Befehls M503.

Die Zeit des Aufheizens wird in dem Ergebnis nicht berücksichtigt.
Leider musste ich feststellen, dass die Berechnung der Zeit je nach verwendeten maximalen Beschleunigungen vom echten Wert etwas abweicht.
Ich verwende nun die selben Werte für default acceleration und max printing acceleration und komme damit sehr gut hin.

Wenn ich Lust, Laune und Zeit habe werde ich basierend auf dem oben angebenenen Source-Code mal etwas weitertüffteln um die Zeiten
bei neuen Marlin Versionen so genau wie möglich zu bekommen.
Für den Anfang geben mir die brechneten Zeiten aber schon mal ganz gute Anhaltspunkte wann mein Druck denn nun tatsächlich fertig ist.

Anmerkung:
Bei meinem letzten Druck hat es sogar auf die Minute gestimmt.
Aufheizzeit sind 8min und nachdem der Drucker fertig war waren es 1h 38min, von calc.exe angegeben waren 1h 30min.

Viewing all articles
Browse latest Browse all 17038


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>