UltiMaker uses functional, analytical and tracking cookies. Tracking cookies enhance your experience on our website and may also collect your personal data outside of Ultimaker websites. If you agree with the use of tracking cookies, click “I agree, continue browsing”. You can withdraw your consent at any time. If you do not consent with the use of tracking cookies, click “Refuse”. You can find more information about cookies on our Privacy and Cookie Policy page.
Most model files don't specify a location. Some 3mf files do.
Cura calculates the mid-point of it's virtual build plate from the numbers you have in the Machine Settings "X(width) and Y(depth)". Those should represent the true "printable area" of your build plate. In the case of my Ender 3 Pro - the build plate physically is 235 x 235. It has a 1mm bevel around the periphery so that can't be printed on. I wanted another 1.5mm safety area around the periphery as well. So in Cura I've entered X(width) = 230 and Y(depth) = 230 (235 - 2.5 "non-printable" area on the left - 2.5 "non-printable" area on the right = 230). That makes my Cura mid-point X=115 and Y=115.
In the cases where there is no location data (STL files mostly), Cura gets the "Center-of-Geometry" of the part in the XY and puts that at the midpoint of the Cura build plate. When the gcode is created the origin point of the gcode is the 0,0,0 of the Cura virtual build plate.
Then the gcode shows up in the printer.
The printer will put that 0,0,0 origin of the gcode file at the printer's defined Home Offset 0,0,0. If you haven't defined a Home Offset location (M206) then it will be the Auto-Home location. That is probably what is going on with your off-center prints.
My Auto-Home location is just off the build plate. I move the nozzle to a point 2.5mm in from the left edge of the glass and 2.5mm in from the front edge of the glass (the dimensions of my "non-printable area") and at a Z=0 and select "Set Home Offsets" on the LCD followed by "Save Settings". Now the printer matches Cura.
If your firmware doesn't have a "Set Home Offsets" option on the LCD then you can do it in a gcode file that you "print". That's another lesson if the above method can't or doesn't work.
Another lesson would be for "Disallowed Areas". For those you need a printer definition file. If you are using "fdmprinter.def.json" as your base file for your custom printer - that file should not be altered.
Edited by GregValiant
Link to post
Share on other sites
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more.
S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
(Sorry, was out of office when this released)
This update is for...
All UltiMaker S series
New features
Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
Recommended Posts
GregValiant 1,250
Most model files don't specify a location. Some 3mf files do.
Cura calculates the mid-point of it's virtual build plate from the numbers you have in the Machine Settings "X(width) and Y(depth)". Those should represent the true "printable area" of your build plate. In the case of my Ender 3 Pro - the build plate physically is 235 x 235. It has a 1mm bevel around the periphery so that can't be printed on. I wanted another 1.5mm safety area around the periphery as well. So in Cura I've entered X(width) = 230 and Y(depth) = 230 (235 - 2.5 "non-printable" area on the left - 2.5 "non-printable" area on the right = 230). That makes my Cura mid-point X=115 and Y=115.
In the cases where there is no location data (STL files mostly), Cura gets the "Center-of-Geometry" of the part in the XY and puts that at the midpoint of the Cura build plate. When the gcode is created the origin point of the gcode is the 0,0,0 of the Cura virtual build plate.
Then the gcode shows up in the printer.
The printer will put that 0,0,0 origin of the gcode file at the printer's defined Home Offset 0,0,0. If you haven't defined a Home Offset location (M206) then it will be the Auto-Home location. That is probably what is going on with your off-center prints.
My Auto-Home location is just off the build plate. I move the nozzle to a point 2.5mm in from the left edge of the glass and 2.5mm in from the front edge of the glass (the dimensions of my "non-printable area") and at a Z=0 and select "Set Home Offsets" on the LCD followed by "Save Settings". Now the printer matches Cura.
If your firmware doesn't have a "Set Home Offsets" option on the LCD then you can do it in a gcode file that you "print". That's another lesson if the above method can't or doesn't work.
Another lesson would be for "Disallowed Areas". For those you need a printer definition file. If you are using "fdmprinter.def.json" as your base file for your custom printer - that file should not be altered.
Link to post
Share on other sites