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!
Here comes Cura 5.9 and in this stable release we have lots of material and printer profiles for UltiMaker printers, including the newly released Sketch Sprint. Additionally, scarf seams have been introduced alongside even more print settings and improvements. Check out the rest of this article to find out the details on all of that and more
We are happy to announce the next evolution in the UltiMaker 3D printer lineup: the UltiMaker Factor 4 industrial-grade 3D printer, designed to take manufacturing to new levels of efficiency and reliability. Factor 4 is an end-to-end 3D printing solution for light industrial applications
Recommended Posts
GregValiant 1,412
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