Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make clear that offsets in the printer profile are only to be set for proper visualization if not set in firmware #2229

Closed
mriveralee opened this issue Nov 18, 2017 · 2 comments
Labels
done Done but not yet released improvement Improving functionality, behaviour, UX, ...

Comments

@mriveralee
Copy link

mriveralee commented Nov 18, 2017

What were you doing?

While attempting a multi-extrusion (a single object with another material at certain layers from a second extruder) print from a gcode file sliced directly in Slic3r and imported into OctoPrint, I noticed that the Gcode Visualizer offsets the second extruder layer positions based on the values in {Settings >> Printer Profiles >> Edit >> Hotend & Extruder >> OffsetT# (x,y)}.

This appears to be unexpected behavior as the coordinates in the sliced gcode file position the extruder movements with respect the global coordinate frame of reference and assume any tool change movements/offsets are handled in firmware specifications.

That is to say, extrusion at location (50, 50) in the global frame of reference on the print bed (should be the same for any extruder on the printer. The firmware repositions the selected extruder accordingly via an offset so this happens.

In my case, my gcode visualizer positions the second extruder layers +62 mm in the X-direction; however, the print reflects the originally sliced model which has these layers inside the object as seen in the attached images.

Repro Steps:

  1. Slice a dual extrusion part in Slic3r where both parts are ontop of one another.
  2. In OctoPrint set up Hotend & Extruder to have 2 Extruders. For T1, offset X = 62, Y = 0. Save.
  3. Load Gcode file into OctoPrint
  4. View sliced layers in GCode Visualizer
  5. Witness the layers from the second extruder being drawn offset from the object.

This is the unexpected behavior as the slicer file specifies the correct global locations for extrusion; the tool change offsets are handled in the firmware.

What did you expect to happen?

The drawn gcode layers in the visualizer should be aligned inside of the object they were sliced from had them colocated on the bed.

This probably means the extruder offset should not be used to position where the layers are drawn for different tools, since the X,Y coords in the Gcode are in the global frame of reference.

What happened instead?

The gcode layers for extruder 2 were drawn in the gcode visualizer way off to the side away from the print (+62 mm away).

Note that the printed piece is correct, only the Gcode Visualizer is incorrect in displaying the gcode.

Did the same happen when running OctoPrint in safe mode?

Yes.

Branch & Commit or Version of OctoPrint

Octoprint 1.3.5 master branch

Operating System running OctoPrint

Running OctoPi on Raspberry Pi 3.

OctoPi's version can be found in /etc/octopi_version]

Printer model & used firmware incl. version

Folger Tech Prusa i3 2020 (with an additional extruder) running Marlin v1.1.5

Browser and Version of Browser, Operating System running Browser

Google Chrome on MacOSX

Link to octoprint.log

https://pastebin.com/VRxc7CfH

Link to contents of terminal tab or serial.log

Serial.log file was empty.

Link to contents of Javascript console in the browser

https://pastebin.com/1cahVyGd

Screenshot(s)/video(s) showing the problem:

The bug in the gcode viewer that draws the second extruders layers off to the right
The bug in the gcode viewer

The originally Sliced Model for dual extrusion - notice the two types of material are colocated in the X,Y coordinates.
The originally Sliced Model for dual extrusion

I have read the FAQ.

@foosel
Copy link
Member

foosel commented Nov 20, 2017

the tool change offsets are handled in the firmware

In that case don't specify them in OctoPrint. There are two approaches to doing multi extruder setups - one is defining the offsets in the slicer, one is to define it in the firmware. The offset in OctoPrint's printer profile is to be able to compensate for the former, since then all coordinates in the sliced file will be offset. If you have it defined in the firmware, set the offsets in OctoPrint to 0 and stuff should work just fine. There's no way to auto detect what kind of setup you have based on your GCODE files (should your slicer produce comments that might help here, those will be slicer specific and unreliable since not part of a formal specification).

I'll add a "if those aren't handled by your firmware but by your slicer" to the corresponding fields in the printer profile however to make this clearer.

@foosel foosel added this to the 1.3.6 milestone Nov 20, 2017
@foosel foosel added the improvement Improving functionality, behaviour, UX, ... label Nov 20, 2017
@foosel foosel changed the title GCODE Visualizer Displays Incorrect Layer Position for Multi-Extruder Prints Make clear that offsets in the printer profile are only to be set for proper visualization if not set in firmware Nov 20, 2017
@foosel
Copy link
Member

foosel commented Nov 29, 2017

Note has been added. Pushed to maintenance, soon devel, will be part of 1.3.6.

@foosel foosel added the done Done but not yet released label Nov 29, 2017
@foosel foosel closed this as completed in 38c9840 Dec 12, 2017
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 29, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
done Done but not yet released improvement Improving functionality, behaviour, UX, ...
Projects
None yet
Development

No branches or pull requests

2 participants