Hallo Bernd/Rentier,
Erstmals: Repetier-Host ist kein Slicer. Man kann es sich in etwa wie eine grafische Benutzeroberfläche vorstellen, welches ihrerseits einen Slicer einbindet (in deinem Fall vermutlich Slic3r).
Davon abgesehen, wird sich dein Problem nicht einfach lösen lassen. Ein direkter Vergleich des GCodes wird fehlschlagen.
Nehmen wir ein einfaches Werkstück: ein Quader mit 20mm x 20mm Seitenlänge und 3mm Dicke. Angenommen, das Werkstück ist in beiden Programmen exakt gleich positioniert - beginnen beide Slice-Programme in derselben Ecke mit dem Perimeter? Und arbeiten die Slicer diese in der selben Richtung (in Uhrzeigerrichtung oder entgegen) ab? Dann kommt noch der Infill hinzu - wird dieser in der selben Art abgearbeitet?
Der GCode-Standard ist auch recht einfach gehalten. Es gibt keine Vorschrift ob eine Koordinate zwingend ausgegeben werden muss oder nicht.
Beispielsweise machen:
G1 X10 Y10 Z0.5 E1.15
G1 X20 Y20 Z0.5 E1.15
und
G1 X10 Y10 Z0.5 E1.15
G1 X20 Y20
absolut dasselbe! Es werden im ersten Block, in der zweiten Zeile einfach redundante Koordinaten für Z und E angegeben. Dieses Prinzip gilt für alle Achsen. Das heißt, ändert sich der Wert nicht, kann ich mir die Angabe der Achse in der Befehlszeile sparen, darf es aber sehr wohl trotzdem hinschreiben. Das ist nicht falsch und ist erlaubt. Ob S3D so was macht, weiß ich nicht. Slic3r tut es meines Wissens nicht. Dafür setzt Slic3r recht häufig den E-Wert wieder auf '0' zurück (mittels G92 E0). Ist auch nicht falsch, wenn S3D das aber nicht tut, wird es mit dem Vergleich schwierig. Auch wenn S3d den E-Wert regelmäßig zurücksetzt, macht er es immer zur gleichen Zeit wie ein anderer Slicer?
Da wird es offensichtlich, das der Code als gesamtes kaum zu vergleichen sein wird. Eher Erfolg wird man beim Vergleich einer einzelnen Raupe haben.
Beim vorhin genannten Quader könnte man eine der vier geraden Außen-Perimeter recht leicht vergleichen (unter Zuhilfenahme eines Taschenrechners oder einer Tabellenkalkulation. Man kann aus dem GCode die Anfangs- und Endkoordinaten einer Raupe herauslesen und damit die Länge der Raupe ermitteln. Ebenso, in derselben Zeile, steht der Filamentverbrauch, versteckt im Wert der 'E'-Koordinate. Dazu muss man aber auch den E-Wert der vorhergehenden Zeile in die Rechnung miteinbeziehen.
Über diesen Weg kannst du schon einmal den 'Filamentverbrauch' der eingesetzten Slicer vergleichen. Wenn die eingesetzten Slicer dieselbe Länge bei der Raupe haben, und gleich viel Material fördern, wird der Qualitätsunterschied am Infill oder am Perimeter-Overlap liegen.
Beim Infill wird es ungleich komplizierter unterschiedliche Slicer zu vergleichen, da hier auch Füllmuster, die scheinbar gleich sind, keinesfalls zwischen Slicer gleich sein müssen.
Ein wenig in das Thema der GCode-Analyse sind wir
hier eingetaucht. Der ganze Thread könnte dich interessieren.
Allseits Gesundheit!
mjh11