-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
[4.2.1] Creality Ender 3 Bed Size Incorrect #6267
Comments
the cr10s is 310x 310 but because of the switches and gantry you can't use 5mm on each side so only 300x300 is usable. Probably it's similar on the ender. |
No, it's as I reported. The Ender-3 absolutely can print edge to edge in both directions. By having the bed size reported as smaller (220x220) the center of the bed gets thrown off, so it is printing from front edge down to 220mm with 15mm unprintable and from the back edge to 220mm with 15mm unprintable from the right edge. |
According to the website of the manufacturer, the build volume is 220x220x250mm. I'm inclined to believe that more. Keep in mind that some variation is always introduced by the manufacturing and your assembly. So for some builds of the printer it might be bigger than for others. I'm guessing that the manufacturer took the safe side of the numbers. |
Cura has a mechanism to allow for that, by the way. With the |
I'm 100% positive this is not some variation amongst different packages. You can look at their GitHub repository and it has all of the mechanical drawings and such. I have one and I've worked on a friend's and I've worked with people in the FB forums. The physical bed is 235x235 and every single one of them can move that nozzle past all 4 edges. I explained in my first report why the manufacturer advertises 220x220: the heating element does not go to the edges. There is a 7.5mm border around the bed where there is no heating element. However, all of these home 0,0 to the very corner of that 235x235mm bed, so by configuring Cura to be 220x220, then you're printing on the front and left 7.5mm unheated border and then there is 15mm on the rear and right that is not being printed on. Plus, it is not centered. Here is a link to Creality's official glass bed sold on Amazon: https://smile.amazon.com/Official-Creality-3D-Tempered-235x235x3mm/dp/B07F16WPR5/ Here is their GitHub: https://github.com/Creality3DPrinting/Ender-3 |
Well it is a weird thing with the cr10s at least. even tho the printing area is 300x300 as specified, and the bed is 310x310, if you try to print with the 300x300 build area (correctly placed with the center on the real center), if you try to print at x=0 it will stil fail and drill into the frame,so the real bed size is even smaller than 300x300, likely 292x292, because you must have at least 3mm on each side to prevent hitting hard and drilling into the frame risking to break the steppers, pulleys etc, as with x=0,..,3 you will still have issues. Also, the reason cura doesn't account for the 310x310 bed but directly sees the 300x300 printing area, is that the firmware already defines the 300x300 plane and correctly places it considering the x=0 and y=0 is defined hitting the endstops, then the machine X and Y are defined to 300. But the fact that hitting the edges will collide the frame and try to advance more should be defined in cura instead. |
So the choice for Cura must then be whether it needs to allow the user to go beyond the claim of the manufacturer where the printer works properly, into the territory where it works with reduced feature functionality. If the Marlin coordinates don't start on 0,0 that can be implemented with disallowed areas, simply drawing two rectangles on the left and front sides. |
I don't understand this sentence. Can you reiterate please? |
I concur the bed size is 235x235, and I can print to the absolute edges. Maximum travel for me, using vanilla marlin and offsets for BLTouch bed leveling, is 247 on the X axis, and 240 on the Y axis, fully placing the nozzle in and beyond printing position for the maximum bed size. Creality was advertising this for a short period of time, but have chose to revert to 220x220. For a properly configured printer using vanilla marlin, and not stock firmware, This is an issue. For those using stock firmware, it will not affect your printer, as these are firmware limits, and extending the bed size in cura will not override these limits. In short, The bed size is absolutely 235x235, and every square mm of it is printable. This is true for printers with custom firmware, and not the "Creality" build of the Marlin Firmware. For printers with the factory firmware, it is a 220x220 printable area, and offsets are not pre defined in the firmware that "Center" this on the build plate. Ghostkeepers suggestion is the only way to properly "Center" the smaller bed region, so that you have an equal overlap around your print. If you are using marlin thd or some other flavor of firmware, the best place to address your bed size is in the firmware. Once configured correctly there, prints will center on the 235 x 235 properly. |
Not really, what will happen if you full your bed and the firmware sets it smaller? It surely won't work. |
That's what I'm saying. If you specify 235x235, and your firmware only allows 220 as max limit, it wont allow you to travel past that. There may be some gcode commands that allow you to specify bed size each time you print, but that seems like a bad thing to do on every print, every time. |
Yes but still, even tho it won't crash or anything, what will it do when it is supposed to go on that unexistant coordinate? Skip those and only build part of a model on the right? It doesn't seem really cool. I am all for not using printers without upgrading the firmware, but especially for the enders which don't even have a bootloader, it is more logic to use the stock firmware sizes to avoid troubles. If you update firmware you can easily edit the bed size. |
yup, I'm in agreement with you there. stock creality printers is what the stock setting should cover. a change to the bed size in cura will not assist stock printers. adds to a lot of confusion. I feel like a lot of people who are entry level use these printers, and this would be beyond their comprehension, and lead to a poor experience. If you know printer has been set to 235x235, you will know how, or be capable of figuring out how to specify the bed size in cura. otherwise, it would be poor to assume you would be able to update your firmware in order to match cura, as a beginner with one of these printers. |
Are we sure the behavior is that gcode made to print past the firmware limit will be cut off or ignored? If so, I agree this is a good point and I had t thought of it. However, when I was a newbie and hadn’t upgraded yet, I seem to remember printing on the whole thing but a bit off-centered.
I can test this tomorrow to be certain.
…_____
Jeff Kazules
Sent from my iPhone
On Sep 7, 2019, at 10:42 AM, oofiksoo ***@***.***> wrote:
yup, I'm in agreement with you there. stock creality printers is what the stock setting should cover. a change to the bed size in cura will not assist stock printers. adds to a lot of confusion. I feel like a lot of people who are entry level use these printers, and this would be beyond their comprehension, and lead to a poor experience. If you know printer has been set to 235x235, you will know how, or be capable of figuring out how to specify the bed size in cura. otherwise, it would be poor to assume you would be able to update your firmware in order to match cura, as a beginner with one of these printers.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
So Cura assumes that the home location is [0,0] and that the printer can reach all positions between [0,0] and [width,height]. If the [0,0] location can not be reached (for instance because the sides of the printer are in the way) then this assumption is wrong. Maybe for some printers, [10,10] is as far down as it will go, but Cura doesn't normally allow that. However what we can do is to draw areas on the build plate where the nozzle is not allowed to go. These are called the "disallowed areas". For an example, try adding an Ultimaker 2 in Cura. You'll see some grey areas around where the clips are on the build plate. I was proposing to draw a shape that blocks off two entire sides of the printer. The "[0,0]" coordinates here are the coordinates as far as the printer understands them. So if we tell Marlin "move to [0,0]" then where does it go? In my opinion, if the print head is not allowed to move below certain coordinates, those coordinates should be the [0,0] coordinates in Marlin, so it would need to be fixed in firmware. In reality though, firmware is never perfect.
Yes, we should target the default firmware in my opinion too. Changing your firmware is a very technical operation; more technical than adjusting the build plate size in Cura. So it's better to assume that people who change their firmware can change their Cura build plate rather than to assume that people who didn't change their build plate can change their firmware. On going out of bounds, some printers give an error halfway through the print when it first goes out of bounds. Some printers give an error before it starts printing (for instance by looking at the Cura headers). Some printers just keep going and crash the nozzle. I don't know of any printers though that keep going along the side of the build plate; that is more difficult because of the E dimension to prevent overextruding. |
Okay, my board is not behaving. I will have to pull out my Raspberry Pi and connect the GPIO pins again (emulating an arduino) to flash it since it won't take it over USB right now and I don't have the time to mess with it. The screen stays blank when it is connected and the board doesn't communicate at all. If I disconnect the board, then Octoprint can happily connect. However, please take a look at the lines starting at 321 on the official Creality default firmware which hasn't been updated since last year: https://github.com/Creality3DPrinting/Ender-3/blob/master/Ender-3%20Firmware%20(Marlin)/Ender-3%20(includes%20power%20failure%20resume-%20English)/Marlin/Configuration.h It is configured for 235 x 235 x 260 (there is NO way I can get to 260 though). Can someone else try and confirm this on their machine too? I'll do my best to get to it either this evening or tomorrow. |
I just finished restoring the stock firmware. I can verify it is set for 235 in X & Y and it travels from zero to 235. |
http://creality.com/download/source-code_c0001
|
Wait, so in the firmware on Github it says that the Z-max is 260, but in the firmware they provide on the website it's 250? Another question: If you place something on a specific spot on the build plate, such as the "r" of "Ender", does it actually print on that "r" as well? |
Github file has date 30 June 2018 https://all3dp.com/2/ender-3-bed-size-what-is-it-really/ As for "r" letter - sorry I'm in the middle of BLTouch installation - can't check this. |
What is the verdict on this? Based on this thread, I still think it needs to change to 235x235x250. The firmware it ships with is programmed this way and 0,0,0 is the very corner. The current 220x220 doesn't protect any users because by default, printing anything from 220,1 to 1,1 to 1,220 will print right on the edge. |
The ender 3 seems to ship with different firmwares depending on the stock date. |
@kazooless @Liger0 |
It seems you didn't follow the discussion. |
@Liger0 I was talking to @Ghostkeeper |
I'm pretty sure you use a custom mount that makes you lose 1cm on the Y. |
I'm pretty sure I'm not. That's a stock bed with stock build plate. |
@jacekk015 respectfully, you're missing the point. Setting it to 220x220 doesn't make it "safe." It will still hit the front clips if one has clips and prints to the very edge. When I was a newbie with the Ender-3, I just knew not to place anything that close. I don't know what you mean by different firmware shipping when it comes to the bed size. With the endstops where they are, 0,0 is always at the edge of the bed and that is where it will start printing. People on YouTube are usually self appointed gurus who know what they're doing so of course they're not going to slice something to print on a clip. Not only that, since Cura default is to center prints and it is unusual to completely fill the bed with what you're printing, it will be uncommon to print that far to the edge. But 220x220 will make the "center" off center unless the printer profile is programmed with 7.5mm of unprintable space all around the bed. So, my suggestion stays the same: make the Cura default mirror the default firmware as can be seen on Creality's GitHub: 235x235x250 |
If this is true, shall we choose the most recent firmware and ask the user to update the firmware for it to be correct? That seems like a reasonable request if Creality provides a workflow for updating existing printers' firmware. I think the boundary lies before requiring them to compile firmware though.
We can model disallowed areas for the clips. They show up as little shadowy areas on the build plate then. The Ultimaker 2 and 3 do this, for instance. We'd need to fill in coordinates of polygons where these clips are on the build volume. But it looks like that printer makes the user put the clips somewhere along the border so their location isn't precisely known... |
From Creality you receive Marlin source + ProgISP app. [or sometimes HEX file] Which kind of newbie with entry level Chinese 3D printer that cost about 150$ do this often? |
Where are you getting this information? I've been very deep into the Creality scene on forums, YouTube, articles, etc. and have never run into anyone reporting firmware with different bed sizes. Thermal runaway protection, yes. The last time Creality committed anything to the firmware for the Ender-3 was September 13th, 2018. The last reported issue closed was September 7th, 2018. I'm pretty sure they abandon these once Marlin picks it up officially. However, if you think it worth it, I can submit an issue asking them to update it. I submitted this issue because I remember how I had to troubleshoot and figure out why my prints were not centered when I was a newbie. I knew the advertised dimensions so when I added the Ender-3 I changed it to 220x220 and then had the bed center problem. I'm the type of person that figures these things out and learns for himself. This change I'm suggesting will have no effect on me since I know my way around. I believe having the default different than the firmware can be confusing to some. So how about this instead? From @jacekk015 's pictures we see the clip looks to be about 8cm sticking into the bed. I will measure mine to confirm if you agree to this suggestion. If indeed the clips are 8cm in, then the safe dimensions would actually be 235x218x250. The clips can not go on the Y sides as the vertical extrusions will knock them off during Y movement of the bed. Indeed, the clips position on the X sides of the bed are arbitrary thus we can not predict their location. So, we account for both of those whole edges. If you point me in the right direction as to where or how to program these safe dimensions, I will do the work so that 0,0 - 0,8 - 235,8 - 235,0 (is there an easier way to write that?) as well as 0,227 - 0,235 - 235,235 - 227,235 are in the disallowed areas. This should satisfy @jacekk015 's concern for the clips, center the prints, and give the user the most usable space without risking hitting the clips. It also accurately represents the actual CAD drawings published by Creality based on the positions of the endstops and the firmware they ship. If you agree that sounds reasonable (and point me in the right direction) I'll get those changes made and add it to my existing pull request. I am assuming you can approve certain commits and reject others within a pull request. |
If you're on Windows, find the file in your installation folder, such as: In that file you can edit the To add disallowed areas, you need to add a new override called
This defines 4 disallowed areas in a list. Each disallowed area is a list of vertex coordinates. Each vertex is again a list of 2 coordinates, X and Y. These vertex coordinates are the same as what you see in Cura when using the Move tool. They are not necessarily the same as in the g-code. In particular, for consistency and ease of use we've made Cura's front-end always hold the centre of the build plate as the zero coordinate. After editing the .def.json file, you'll need to restart Cura. I hope that would give sufficient instructions on how to create disallowed areas and correct dimensions. |
@Ghostkeeper Yes, that is more than enough information. I'm very glad you pointed out it uses Cura coordinates. I'll get to work on it right away. |
@Ghostkeeper I've easily enough added the areas and can see them in Cura. However, there seems to be a default gray area all around the bed by default on any printer I try installing, including the Ender-3. If I add a custom fff printer, the border is gray. So it looks a little weird. It also acts as a disallowed area. I looked in the extruder and definition files but don't see anything that might be creating this. I think I should get rid of that before I commit and do a pull request. |
The default grey area around the side is for structures/movements that are added around your print:
So the screenshot looks correct to me. Changing e.g. the brim width will make the grey areas wider or smaller. The user can't place objects on the grey border, but the g-code will get there. |
Thanks for the quick reply. I never knew that! And you're correct; as soon as I set it to no build plate adhesion, it went away. I've committed it to my fork. There is already a pull request because of the other issue. Do you need me to do anything else on this or can you take it from here? Also, is there any way for the user to get rid of this disallowed area from the GUI if they wanted to? |
I can take it from here. I want to use those corrections for the current Ender 3 definition in Cura. Or you can do that in a separate PR if you like to get attribution.
No. Cura considers going outside the build volume and over the disallowed areas as a potentially printer-damaging event. So it forbids it completely. Unless the user explicitly lies to Cura about the print volume size or something, and edits that in the machine settings.
There is a wiki page about the .def.json files in general. It doesn't contain explanations about the machine settings though. For that there are the setting descriptions themselves in fdmprinter.def.json. |
@jacekk015 - your custom bullseye fan mount and bl touch mount is 100% affecting your travel. I am using the stock ender 3 hotend/fan/carriage, and i can go past bed MUCH farther than you. I can actually print off the bed on the right side (if you are facing the printer) into the air by about 5-7mm. I will take pictures for you if you would like. But your response appeared to be directed towards the bed mount, which is not what liger0 was referencing above. your bullseye fan mount is SIGNIFICANTLY larger then a stock hotend carriage configuration. |
@oofiksoo bltouch and bullseye doesn’t touch x at homing or on x max. It doesn’t affect anything. |
|
You have a strange need of saying someone what should he do, and that only your settings are correct. Obviously you've forgot that debate is about cheap Chinese printer and not a spaceship.
BTW. Calling someone bro and than be surprised of the response attitude? Funny, very funny. |
@kazooless @Ghostkeeper - Is there a PR to follow? It's funny I just sliced and started a print using 4.1 then upgraded to 4.3 and was poking around and noticed that the thing I just started a print on is suddenly no longer valid. I'd much rather keep my eye on what will eventually be officially supported rather than tinker around with settings on my own. Thanks for addressing this! |
Kazooless made a pull request but it was not accepted due to other changes. So thank you for the reminder. I've made the requested changes now here, in Kazooless' name: 726561b These changes are copied from his original commit: kazooless@c0acdc3 |
Application version
4.2.1
Platform
I use MacOS, but I'm sure this applies to all OS'
Printer
Creality3D Ender 3
Reproduction steps
Add printer, go to machine settings, look at bed size definition. Print any bed center template or leveling stl, it will not be centered. Instead, it is closer to X0,Y0.
Actual results
220x220
Print any bed center template or leveling stl, it will not be centered. Instead, it is closer to X0,Y0.
Expected results
235x235
Print any bed center template or leveling stl, it will be centered.
Additional information
I've actually been seeing this since 3.6.0 but I was new to 3D printing back then.(Checking v4.0.0, the 235x235 was defined correctly. I haven't gone back to check other versions yet.)
The Ender-3 is advertised as 220x220x250 but the bed is in reality 235x235. The heating element is what is 220x220.
The text was updated successfully, but these errors were encountered: