Ultimaker / Cura

3D printer / slicing GUI built on top of the Uranium framework
GNU Lesser General Public License v3.0
6.12k stars 2.07k forks source link

Discussion and suggestions about changes for the default Creawesome Creality printer profiles. #6106

Closed JohnEdwa closed 4 years ago

JohnEdwa commented 5 years ago

The new Creawesome profiles have some odd choices, some missed Cura features and in my opinion, could be better. After a very small Reddit discussion, I compiled my proposed changes and would like to get some feedback and as a possible result, have updated and better default printer profiles included into Cura.

For reference, these are all changes for the "creality/base/base_global_standard.inst.cfg" using the printer "creality_ender3.def" that itself is based on the "creality_base.def.json" definition.

The comments are mostly mine, and might (will) have factual errors and misunderstood functionality as I'm not a Cura expert. Cura Profile: creawesome_ender3_change_suggestions_v1.zip


Suggested in the discussion but I don't know about them


creality_base.def.json

Shell

Material

Infill

Travel

Support

Build Plate Adhesion

Special Modes

* Relative Extrusion: False -> True // /u/Liger_Phoenix: "Relative extrusion can be enabled and is always recommended on Marlin." Breaks scripts. Should not be used.

Experimental


Printer definitions:


[EDIT] Removed support towers, added support XY distance and interface skip heigth [EDIT2] Support XY distances. [EDIT3] Remove "machine_head_polygon" from printer profiles. [EDIT4] Overhang wall angle, Overhang wall speed, Optimize wall printing order, Enable conical supports. [EDIT5]RElative extrusion breaks scripts and other things as they almost always assume absolute extrusion and will default to them at the end.

nallath commented 5 years ago

Coasting on a direct drive printer? Are you sure about that? I've only heard complaints about coasting being enabled by default (the main reason for it is that it does work for Ultimaker printers).

Liger0 commented 5 years ago

Creality machines are all bowden. I'd also disable "perimeter overlap", it always gave me bad results.

FITPrinting commented 5 years ago

Coasting on a direct drive printer? Are you sure about that? I've only heard complaints about coasting being enabled by default (the main reason for it is that it does work for Ultimaker printers).

Creality machines are all bowden. I'd also disable "perimeter overlap", it always gave me bad results.

Between this thread and the other where "nallath" is defending the forced adoption and overwriting of saved profiles, it seems obvious that they don't know anything about the machines that are being affected. Opt out (not that there's a way to opt in now) is never the proper procedure and I wonder how badly the code has been written if the only way to update it was to force it to overwrite where it wasn't welcomed.

nallath commented 5 years ago

Between this thread and the other where "nallath" is defending the forced adoption and overwriting of saved profiles, it seems obvious that they don't know anything about the machines that are being affected. You're right. I have absolutely no idea how ender printers work. I also never pretended to do so.

So we simply rely on what others tell us in that regard. As I've stated before, although this feedback is welcome, it's a bit on the late side to change it.

JohnEdwa commented 5 years ago

They probably don't, Cura is from Ultimaker designed for the Ultimaker printers, everything else is a bonus supported by the community. That means us.

In any case, let's concentrate on fixing and making them better than bicker about who did what wrong, it doesn't help anything.

Liger0 commented 5 years ago

Only who used the creawsome mod knew that was going to be incorporated to Cura because they followed the creator, its group, posts, etc, there is no way other people would have known it. So of course we had really no way to complain about it before it was done, since none of us was asked and no plublic announcment was ever made, and none of us ever focused on what was happening to that useless mod. That just seemed a different alternative for lazy users (read: not new entry, because new entries can just learn like everyone else), so that shouldn't have affected so much people which had everything ready and optimized profiles that may even use it for work and made a reliable profile, which become unreliable with this new mod without them being aware of it in any way.

By the way, I think who made this mod wanted to help but doesn't really have a clue on what is better for creality printers, so I hope someone will make the changes suggested here.

nallath commented 5 years ago

You could have found out by means of beta's, forums and github. The sad truth here is that we simply have to give priority to people that do involve themselves in the entire process of a Cura release.

The argument regarding that those profiles are bad is re-iterated over and over again, but I've talked to numerous people that claim that the profiles are a vast improvement over what was already there. So who are we to believe then? People who take the time to try and improve Cura or those that we only hear if their workflow is affected? I try to facilitate both, but the earlier we get feedback, the easier (or at all possible) it is.

Even if I were to agree that the change was bad now, I would still not change it back, because it would simply be doubling down on the issues in the next release. I think it's a much better idea to do what @JohnEdwa suggests; Use the profiles as they are and improve on them further.

JohnEdwa commented 5 years ago

Issue #6134 is the first proper one to come from the current stock Creawesome settings. Supports are limited to "Touching Buildplate" so they aren't being generated as people expect using recommended settings.

This should be changed immediately to "Everywhere" even if no other changes are made.

Liger0 commented 5 years ago

If that gets to everywhere, I'd disable the towers tho, because towers are bugged and are created randomly even if they don't have to support anything. This would ruin the surfaces if they are printed on the model. Also, if you enable supports everywhere, you have to use a littler x-y support to model distance, which could make normal supports harder to remove but helps with supports generated in the mid air oinly partially touching a piece.

JohnEdwa commented 5 years ago

The main reason I like using Support Towers is that without them Cura likes to generate supports like these and they have absolutely zero chance of staying attached to the build plate. Well, now that the prime tower got it after over two years of being in the "top 50 important features" list maybe they can add them for the supports as well.


The old XY distance from the fdmprinter default was 0.7mm, Creawesome has it as wall_line_width_0 * 2, meaning with the 0.4mm nozzle * 1.1 * 2 -> 0.88mm. Should it be one line width from the wall instead or would that be too close and risk fusing... Maybe 1.5?

Liger0 commented 5 years ago

If we want the supports to be created from the model overhangs, 0.8 is way too high. 0.3 to 0.5 should be for a 0.4 nozzle.

JohnEdwa commented 5 years ago

Would seem logical to then set them to be based on the nozzle size.

huginen commented 5 years ago

It should be a good idea to let the user choose either to use Creawsome or a standard profile, my cr-10s prints great with a slightly modified standard profile, and not any better prints with Creawsome

Every printer is not the same

Liger0 commented 5 years ago

The only setting that makes sense on the creawsome mod is the 0.04 layer height interval on adaptive layer.

JohnEdwa commented 5 years ago

I think it's too conservative, 0.02mm or even the old stock 0.01mm should be perfectly doable if your leadscrew and stepper are aligned. The Creality printers have 1/16th microstepping on the Z-axis with the 0.04mm lead so it can move in 0.0025mm increments (in theory, it only has 6.25% of the max torque so asking it to do just that has a very high chance of not working), and those would be 1/2 and 1/4th steps.
It's not like a printer that homes, uses babystepping or even mesh bed calibration will ever actually be doing perfectly aligned full steps when changing layers.

I think the Creawesome dev jumped on the "Magic Numbers" bandwagon slightly too hard.

Liger0 commented 5 years ago

The 0.04 increments actually help in accuracy.

JohnEdwa commented 5 years ago

If it was actually moving with full steps I would absolutely agree, going from a full step 0.04mm to a full step 0.08mm has 100% the torque and it will hit that step position exactly. But it's not. You home your printer and the stepper stops at a 6/16th microstepped position because that's where your end switch is. Now when you start printing with those 0.04mm incremental layers, you are asking it to move from 0.00mm + 6/16th microstep to 0.04mm + 6/16th. Then to 0.08mm + 6/16th. Then 0.12mm + 6/16th and so on.

It makes very little difference for it to move to that 0.04mm + 6/16th or to 0.04mm + 12/16th, it has to move to a microstepped position anyway. Only diffrence is that if you ask it to move from 6/16ths to 7/16ths, the static friction will most likely prevent it, until enough small steps have accumulated and it can "unstick" itself and move to wherever it should now be. This is why you shouldn't do too small movements.

[EDIT]


@huginen What they should have done is to leave the old printers as legacy for us with custom profiles, but made it so that all new ones are created with (fixed) Creawesome profiles, because the old defaults really weren't that good. For theEnder 3, yeah it had some tweaks, but a CR-10 S4 and S5 for example had nothing. The only difference for the Cura defaults that aren't tuned for any printer was setting the build volume, and that's it.


I noticed the printhead size is configured wrong as it prevents you from printing one at a time to the edge of the build plate - I think it is the same as Issue #5590. I've fixed it before but I can't remember how I did it... It's not the skirt/brim thing either, as those clearly fit.

[EDIT2] Ah, it was removing "machine_head_polygon" and leaving only "machine_head_with_fans_polygon".

[/EDIT]

Pimentoso commented 5 years ago

I might suggest some too.

JohnEdwa commented 5 years ago

Oh neat, hadn't even noticed those overhang ones exist.

Another one in the experimentals is "Conical Supports". When you set it to a small negative angle they work how I want Support Towers to work like without the buggy behaviour of generating supports that don't do anything randomly. That is, it makes sure the support is a certain minimum size at the bottom. I still gotta test how it works in more situations though.

Liger0 commented 5 years ago

Also default first layer height to layer height instead of them being kept separated values.

Ghostkeeper commented 5 years ago

Another one in the experimentals is "Conical Supports". When you set it to a small negative angle they work how I want Support Towers to work like without the buggy behaviour of generating supports that don't do anything randomly. That is, it makes sure the support is a certain minimum size at the bottom. I still gotta test how it works in more situations though.

I really like conical support myself and use it quite often. We have to re-evaluate to put it outside of experimental. As far as I know the last bug that was in there recently was fixed in 4.2: That it could expand to outside of the build volume. Conical support is very effective when combined with supporting to build plate only, because the support can crawl around your object then similar to tree support.

oofiksoo commented 5 years ago

does anyone feel like this "upgrade" ruined your prints? it appears as though simply upgrading cura has caused my brim lines to be separate. It doesn't appear as though I am able to achieve the proper "squish" any more no mater how I adjust the build plate or adjust the z probe offset. This issue became prevalent after the upgrade, as I use my printer daily, I noticed the change immediately, but chalked it up to me needing to fine tune based on the new functionality. I do not see a way for me to "fine tune" this to the level I had it tuned prior to the upgrade. To put it simply, I do not see a benefit in this change, and believe this should have been optional, or should be further exposed in the configuration allowing me to adjust the "improved" values. basically, I feel like I am dead in the water right now. Nothing I do brings my quality back. I will be compiling a ver 4.1 release and not upgrading going forward.

Liger0 commented 5 years ago

Because the line width is now set to 1.1*nozzle size, so it risks to cause underextrusion, while before you risked overextrusion. Either set manually the line width each time or calibrate the flow.

Liger0 commented 5 years ago

Let's show you what the creugly mod implementation has caused to users: https://www.reddit.com/r/CR10/comments/ctlspe/left_print_is_older_cura_right_print_is_newest/

In a few words, only issues. The only way I can succeed printing now is enabling firmware retraction, but that causes a lot of stringing. Also, 30% of infill overlap causes issues with material on the corners, I lowered it to 20.

Then another stupid thing is skirt gets disabled when enabling support.

oofiksoo commented 5 years ago

I can fully confirm my issues are resolved fully by reverting to a fresh copy of cura 4.1. I lost my customizations because I wanted to ensure there was no leftovers, and did a full uninstall reinstall. Even without customized profile, my prints are of better quality than 4.2 prints. I feel confident that there are issues with this functionality that should not have made it to production, without further testing. I do not believe the issues are limited to configurable changes within cura 4.2.

Liger0 commented 5 years ago

Edit: now the skirt disabled when support enabled has been fixed by ghostkeeper. Still I have issues with retraction causing clogs with 4.2.1 unless I use firmware retraction. There are a lot of people reporting how shit the creugly implementation was, yet just another one: https://www.reddit.com/r/3Dprinting/comments/ckq73i/thanks_cuts_for_forcing_the_creawesomemod_upon_us/

oofiksoo commented 5 years ago

I feel so strongly about this issue, and the way that Ultimaker is handling the issue, that I am compelled to copy/paste my message left on a seperate thread. I challenge all readers of this post to make your voice heard as well. Although I personally will no longer have a vested interest in the ultimaker cura development process, For your own sake, Please challenge the pride and ego of the development resources responding to our posts, and request this functionality be corrected.

" Ok, I will not be purchasing an ultimaker printer, and I will no longer be using the ultimaker software. The consistent response of "we made this change, your not happy about it, you should have done something about it, we're open source" is bogus. Not everyone in the world has time to help ultimaker make money and build as a company. Even if you offer an open source product, it is possible that your small group of people made a bad decision. The Creawsome functionality should not have been introduced, and your pride will simply not allow you to admit that this was a rush job. You guys saw a few happy campers within the same cohort, and though this functionality was great. This is a direct failure by the "open source community" working on Cura, and you are being absolutely rude, condescending, and off putting. You are not special because you are offering an open source product, and the users of the product should not be made to feel like we owe you something, we should be happy with what you give us, and we should shut up if were not contributing to your growth. As I said before, I will not purchase an ultimaker printer, And I will not be using the Ultimaker Cura platform. I can deal with issues, bugs, and things that need my attention, But I will not support a company so off putting, and whom responds with the remarks such as yours. It is obvious that this is an issue, it reaches many of your users, and you refuse to take any other position than for us to contribute or shut up.

The functionality is NOT correct, It does not improve the software, and IS AN ISSUE. Try to sweep it away any way you want, but this is a MAJOR FAILURE! "

Liger0 commented 5 years ago

Since with the creugly implementation, using the creality machine definitions has become impossible, I will have to use and set from 0 a generic fdm machine from now on. Thanks for making life so hard to the community making your software unusable...

hessius commented 5 years ago

(Maybe the general complaints about how unfair, wrong or plain evil people seem to feel the well intentioned decisions of the people making free software (and mods of that software) for us can be kept to reddit / facebook etc. Or at the very least another thread as this was intended to actually try to remedy the situation. Everyone knows that you are dissatisfied, the point has been made. Several times. Maybe we in the creality community can start trying to fix things?)

For me I’ve found that the retraction set as default for this profile has been insufficient to prevent stringing, I’ve seen the suggestion of enabling coasting and have yet to try it, maybe retraction distance should be upped to 6.0 anyway?

Ghostkeeper commented 5 years ago

I feel that we have a bit more caution now for changing settings suggested by individual users, partially due to the feedback we've gotten about the recent Creality setting changes. And there are a few suggestions even in this thread that contradict each other. But to make any improvements here we need some more force of action. I understand that making pull requests is complex if you're not used to the workflow, so how about this: If two people tested an actual print with the same setting change and found it improved, we'll make the change. Does that sound okay?

Things that multiple people have confirmed and should already be applied if people agree with this workflow:

Currently open proposed changes in this topic tested by only one person afaik:

Currently open proposed changes that were just intuition, or at least worded like it, and seem to not be tested at all yet:

One proposed change here is to set the Z Seam X to 0 because of using relative mode. We're probably going to do that across default (to make it auto-adjust based on relative). We've had some feedback from other people about this as well.

There is also a proposed change to machine_head_polygon to remove it entirely, but that can cause the print head to collide with previously printed models so I wouldn't advise it. If the print head needs to be corrected though that can be done.

Could you guys test each other's proposals? And correct me where I'm wrong in this list?

tilllt commented 5 years ago

In my use case with creawsome and/or cura 4.2.1 the practical problems I came across was IMHO

  1. part fan in material settings for PETG should be off.
Liger0 commented 5 years ago

I don't advice creating a profile driven fan speed, that has to be completely used from the material. For instance, to work with petg I NEED to use fan at 30%.

For the combing, yeah, not in skin can still work, depending on material. For the infill, as I read people using octoprint may have issues with gyroid but it is not for a stock machine. Maybe the box dialogue could put the advice that it could oversaturate and cause stutter if not using an sd card?

tilllt commented 5 years ago

I did fairly intensive testing with PETG and the default fan settings will lead to bad prints. I would bet that the results with fan off are - for the majority of people - better than with fan on. Fan @ 30% depends on your fan, your duct etc so yes, defaulting to a certain intermediate setting doesn't really make sense. But fan OFF makes more sense than the default like it is now. Just try it.

Liger0 commented 5 years ago

I can't actually try it because with cura 4.2.1 all my prints fail with filament being grind unfortunately. But I agree with petg having the stock fan OFF could be better, just don't force a profile rpm. For instance I use a 5015 fan which blows pretty hard.

I also agree with this, it worked good on older cura versions: Outer Wall Wipe Distance: 0.2mm which should not be a driven value but a machine_nozzle_size/2

I also suggest keeping a skirt line count to 3, it bonds better for me than 2.

JohnEdwa commented 5 years ago

If two people tested an actual print with the same setting change and found it improved, we'll make the change. Does that sound okay?

How soon is the next beta/release? My idea is to compile the changes we agree to here and then post them to Reddit for people to test and give more feedback without officiall pushing them into Cura. It would also give more accurate results as Creality printers are often heavily modified, so what works for the stock printer or my printer might not be what most people would use, nor a good default setting.

And the more we change, the more people will complain things changed again. The list I made is not an "all of these should be changed" one, but just suggestions of ones that could be. And I definitely don't try to push myself as an expert in any way - I don't want my head to be the next one on the chopping block.


There is also a proposed change to machine_head_polygon to remove it entirely, but that can cause the print head to collide with previously printed models so I wouldn't advise it. If the print head needs to be corrected though that can be done.

Because there are two polygons, machine_head_with_fans_polygon and machine_head_polygon. The one without will also collide with the outside of the build plate stopping you printing in the corners, and therefore you can hardly use the "one at a time" mode at all as you will run out of space even with tiny things. Either that is bugged in in Cura, or it isn't supposed to be used like this.
If you remove it leaving just the other polygon it will work as long as the grey area doesn't hit another part, but they can overlap as there isn't any reason it can't move in the same empty spot while printing.


I would categorize the change roughly in order of importance as follows (and I repeat, these are my opinions):

Bugfixes/rollbacks: Most are also values from the old definition.

General Improvements:

"Controversial" (for a lack of a better term, everyone has their own preferences and opinions, so testing and gathering more feedback on these would be required before implementation):

Experimental (and therefore maybe not suitable as defaults? Also mostly untested)

Things I don't know enough about:

Liger0 commented 5 years ago

But even before we do these changes (as I repeat, Outer Wall Wipe Distance should be 0.2mm only for 0.4mm nozzle size and use half the nozzle as default, just like coasting as they use the same principle pretty much), I really believe there is a serious extrusion flaw, as me and a tons of other people keep having failed prints because of grinded filaments. I am actually trying a custom FFF to see if this issue is just profile related.

About supports, Z should hide X/Y, because having a good support with the correct number of layers is more important than X/Y. Altought there are bugs related to the number of separation layers yet.

Another useful thing is to put as a Zhop default the layer height value, tho it should still be disabled by default. But this way, if someone enables it, he should be able to revert to suggested default which is layer height. This helps since nozzle won't drag and only one layer height will reduce most of the stringing.

Ghostkeeper commented 5 years ago

How soon is the next beta/release?

In about 2 weeks is the next beta, I believe.

Liger0 commented 5 years ago

I also don't suggest using the option to "enable infill before walls", because that caused underextrusion to me on the points where the infill touched the walls, so the infill was showing and even worse it was not because of material excess but material missing.

Liger0 commented 5 years ago

I also suggest to disable the externall wall overlap compensation, because that ruins all the sharp corners making them round. The internal one is fine, because it is not reall visible.

Routout commented 5 years ago

Cannot really understand why Gyroid is listed as maybe default. It shakes a shit out of the ender..

Liger0 commented 5 years ago

Then you probably still use the stock crap fire hazard firmware. My cr10s doesn't move.

JohnEdwa commented 5 years ago

Well, if that happens with the stock firmware then gyroid shouldn't be the default for the profiles. It's not really needed most of the time anyway, grid or even lines works perfectly well enough as tested by Stefan from CNC kitchen. (in Simplify3D, Rectilinear is the same as Curas' Lines).
And the problem with Cubic is that it has a chance of leaving very large gaps that result in bad top layers.

Liger0 commented 5 years ago

Stock firmware will randomly freeze and make the printer catch fire anyway. It also will give bad result even without gyroid because of the absurd jerk and acceleration. Creality printers should not be even powered on before upgrading firmware.

Liger0 commented 5 years ago

Btw, grid is still a good pattern, so having it as default is still fine to me. @Ghostkeeper would it be possible to add in the floating box of the infill that the gyroid could oversaturate the serial connection, from what I hear? I use sd card so I can't confirm

Ghostkeeper commented 5 years ago

@Ghostkeeper would it be possible to add in the floating box of the infill that the gyroid could oversaturate the serial connection, from what I hear?

It's possible but I don't think it's a good idea to add too much details about each individual pattern in that text. I've written about the problem in my article about Cura's infill patterns in the Settings Guide though.

Liger0 commented 5 years ago

@Ghostkeeper would it be possible to add in the floating box of the infill that the gyroid could oversaturate the serial connection, from what I hear?

It's possible but I don't think it's a good idea to add too much details about each individual pattern in that text. I've written about the problem in my article about Cura's infill patterns in the Settings Guide though.

Is that guide actually directly accessible from within Cura?

Ghostkeeper commented 5 years ago

Yeah it's in the Marketplace. You need to install the plug-in first. That article there is not on the Marketplace yet though. My updated plug-in is still under review for the past 2 weeks because the guy that reviews these is on vacation right now. The version on the Marketplace has an older article.

kazooless commented 5 years ago

Hi guys. @JohnEdwa, thanks for starting this thread and the Reddit thread as well. @Ghostkeeper, thanks for your efforts and active input.

I thought I'd add my 2 cents here as well, especially since feedback has been requested by Ultimaker. I don't have an opinion on a lot of the settings mentioned since they really are just preferences. But I do have a suggestion for legacy settings. I also have a question and the answer to it may bring about other ideas.

The question first. When CreawesomMod first came out the information about it said it was more than just a custom profile; we were told there were "under the hood" changes made. Looking at one of the original documents it says part of the changes made were " Deeply defined machine & Fixed default feedrate, accel and jerk hidden settings." So the question is, if all the visible settings were made to be identical to the earlier versions settings, would the resulting gcode be the same as the earlier version?

I ask this because I have not found doing just that produces the same quality print; v4.2.0 produces a lower quality print. I have yet to try a plain out-of-the-box profile from 4.2.0 but I will soon.

My suggestion regarding profiles is to add the profiles from the earlier versions back in so that imported profiles from earlier versions do not change. The definitions could be added back but they wouldn't have to be made available in the GUI. That way, there is no appearance of backtracking or changing your mind, but any imported profile will give the user all of the expected settings. And if it turns out the current defaults do produce nice prints and the old profiles don't, then people would be able to figure that out on their own or through others sharing in forums.

For a few of the settings, here are my votes:

Support Type: Everywhere (by JohnEdwa and Liger0) YES Build Plate Adhesion Type: Skirt (by JohnEdwa and Liger0) YES Skirt Line Count: 2 (by JohnEdwa) 3 or 4, not 2.

Optimise Wall Printing Order: enable (by Pimentoso) YES Z Seam Relative: enable NO I would prefer Z Seam: Sharpest Corner Seam Corner Preference: Smart Hiding YES (This has already proven to be awesome)

Z Hop: disable YES Infill Pattern: Gyroid (by Liger0) NO, grid is fine for default

Combing: Only in Skin (by JohnEdwa) vs. None (by Liger0) Only in Skin - YES, in my experience stringing WILL occur if you don't use combing

Relative Extrusion: enable (by Liger0) NO I'm still testing this and suspect it will be better based on reading, but I think more of us should actually test it out first and then report back

Enable Coasting NO!!! A lot of us update our firmware and turn on Linear Advance. Coasting is recommended to be turned off for that.

Liger0 commented 5 years ago

A big still not considered by the most people reason the new profile gives way worse print quality than the old one is, other than the stupid retraction and all other settings that the Outer Wall Wipe Distance is off instead of half the nozzle size. Also the stupid line width causing under extrusion, which should be equal instead to nozzle size and then calibrate flow to fix overextrusion. Relative extrusion works fine, it just doesn't work in Cura reader (but works in other slicers readers). Disabling the wall overlap compensation for the external wall is also a very important thing as I said. For the combing "not in skin" I found 15mm to work better than 30mm too. 30mm causes underextrusion.

kazooless commented 5 years ago

Also the stupid line width causing under extrusion, which should be equal instead to nozzle size and then calibrate flow to fix overextrusion.

@Liger0, regarding the default line width, I'm fine either way. I have some profiles using the nozzle size and some using 120%. I tend to use the 120% for parts & 100% for artistic stuff. I have my e-steps and flow dialed in really well and find I can get great walls (close to perfect measurements) with either setting.

For your combing comment, I don't follow what you mean by the mm's.