bambulab / BambuStudio

PC Software for BambuLab and other 3D printers
GNU Affero General Public License v3.0
1.76k stars 244 forks source link

Solid layers not recognized as such when printing text (especially prone when printing keytags & labels) #2906

Open NVNDO opened 8 months ago

NVNDO commented 8 months ago

Bambu Studio Version

1.7.7.89

Where is the application from?

Bambu Lab Official website

OS version

Windows 10

Additional system information

CPU: Intel i7 7700K RAM: 16GB DDR4 CL14 GPU: Nvidia RTX 2060

Printer

Bambulabs P1S

How to reproduce

Slice any keytag and scroll down the layers until reaching the base surface

Keytag in Prusa Slicer (Which also has the automatic color-change function) : Screenshot (283)

Completely even surface with straight lines: Screenshot (285)

Actual results

Result in BBL-Studio (Pre-sliced text on flat surface) : Screenshot (287)

Expected results

A flat surface like here:

Screenshot (285)

As when there is no text on that layer, why should there be any trace of it? Does not make any sense.

Project file & Debug log uploads

KayTag_Test.zip debug_network_Fri_Nov_17_00_28_14.zip

Checklist of files to include

QingZhangBambu commented 8 months ago

175

QingZhangBambu commented 8 months ago

@XunZhangBambu add it later

XunZhangBambu commented 8 months ago

Do not apply "only one wall on top surface" and you can an even surface image

NVNDO commented 8 months ago

@XunZhangBambu Thank you soooo much for helping out! and please forgive me for opening a bug-report. I didn't know this option was having this effect. testet everything... except of that.

So glad this was such an easy fix.

You make my day!

GuyH77 commented 7 months ago

This 'fix' doesn't work for all instances, only where small islands are created. This is still a missing feature.

https://github.com/bambulab/BambuStudio/issues/175

NVNDO commented 7 months ago

This 'fix' doesn't work for all instances, only where small islands are created. This is still a missing feature.

175

If that's the case - I just reopened the Issue. Can you provide more info?

GuyH77 commented 7 months ago

@NVNDO Sure. I can provide some screenshots now but happy to provide a simple project example if needs be. This is a sign i'm making. The text and logo have small open regions below them despite having 'Only one wall on top surfaces' set to Not apply. You can see that the large flat surface of the sign is interrupted which causes inconsistency in the finish due to the way the surface is created. I've dried monotonic and monotonic line etc. Nothing improves it. We should be able to have a full complete top surface of a sign on which the text and anything else prints. The finish will be so much better. Prusaslicer has the function for this and is still better at this as a result.

image image Horrible open regions and I would think slower print as a result. image

NVNDO commented 7 months ago

@GuyH77 I'll Test with a simple design tomorrow and see what result I get.

NVNDO commented 7 months ago

@XunZhangBambu @QingZhangBambu Hey there, we definitely have a problem here!! i just encountered the same problem AGAIN with my newly sliced coaster.

I'm printing 4 Coaster of 95mm in diagonal and 3mm height. The first 2* layers (printing at 0.2 layer height) print in 2 colors, but from there on its only black.

Still, like you may see in the underneath screenshot we are at layer 3* and Bambu Studio is still slicing the image from layer 1 and 2 instead of making a flat surface (which would be much smoother and overall more time efficient) image

Layer 4* is printing like its supposed to: image

Layer 5* is also fine.

BUT Layer 6* is again printing the Logo of layer 1 and 2 - That does NOT MAKE ANY SENSE: image

Layer 7* is also messed up! image

From there on, all layer until 13 are like they're supposed to be "Flat"

This time I'm on Version: 1.8.0.62

NVNDO commented 7 months ago

EDIT: I Have found out what creates the issue in my case !!!

Its the X-Y hole compensation that messes up the mentioned layers.

To find out, I chose the standard @BBLX1C profile (as the problem does not appear there) and started to add my profile-changes and recheck each layer step by step. Eventually, when changing the compensation from 0 to 0.1 the problem started to occur. I hope this helps you guys the figure out whats causing this.. image

@GuyH77 from what I've seen in your screenshot, you have set the compensation to 0, so this solution might not apply to you (if using Version: 1.8.0.62) If you're using an older version - upgrade and you will probably have no issues.

** EDIT 2: The compensation does not only mess up the following layers, but does also change the print order. At 0.1 compensation the base-color (black) is printed first & than the white lettering. image

At 0 compensation the white lettering is printed first and than the black base-color. image

GuyH77 commented 7 months ago

@NVNDO Thanks for the extensive testing. I will check those settings but I fear all of this is a workaround. If the setting that is already in Prusaslicer was implemented it would allow simple control and could combine well with other functions. I raised this in 2022 and it's still an issue for me.

My issue ticket: https://github.com/bambulab/BambuStudio/issues/175

edit: I'm using the latest 1.8 beta but it's been an issue through every version.

NVNDO commented 7 months ago

@GuyH77 Sad story... I mean.. it's all open source, so it shouldn't be difficult to implement.

Regarding the workaround/hint to make them solve the problem: Pls compare the Standard config and compare it to yours by adding settings, slice, and check in order to see / find out what setting is creating this issue in your case. Maybe we can apport the necessary clues to make them fix this.

I know... its a pain to invest so much time into something we payed for and expected it to just work, but unfortunately its not like that.... at least we can provide the issues we encounter and hope

XunZhangBambu commented 7 months ago

@NVNDO @GuyH77 Sorry, I have already implemented the “interface_shell” mentioned in #175 .However it doesn't improve the quality of these layers and i find these flaws are associated with the handling in perimeter generator. I will start addressing this issue and it will be resolved in version 1.9

GuyH77 commented 7 months ago

@XunZhangBambu Thank you for the update. Appreciate the promise to address the issue. If there's anything I can do to test please let me know.

NVNDO commented 7 months ago

@XunZhangBambu thx a lot for the quick response. I'm looking forward to see this resolved in V1.9 If not... I promise... I'll be back posting here XD

With best regards

XunZhangBambu commented 6 months ago

@GuyH77 Could you provide the 3mf files ?

NVNDO commented 6 months ago

Hey @XunZhangBambu

I just encountered the same problem with a different design. Here's the 3mf in case that helps :) Splitting layers.zip

PD: It doesn't matter which way the object is placed, text up or down - the issue is the same

GuyH77 commented 6 months ago

@GuyH77 Could you provide the 3mf files ?

Here is an example. The text and shape should print on a nice complete smooth layer, we want to option to avoid the holes below them. It's very easy to create examples like this. As I mention, Prusaslicer can do this well. Thanks for working on this issue.

Interface_layer_issue_example.zip

EricDimitri commented 4 months ago

@NVNDO @GuyH77 Sorry, I have already implemented the “interface_shell” mentioned in #175 .However it doesn't improve the quality of these layers and i find these flaws are associated with the handling in perimeter generator. I will start addressing this issue and it will be resolved in version 1.9

Do we have any idea when 1.9 will be released? at least beta version? Thanks!!!

GuyH77 commented 4 months ago

@XunZhangBambu This still isn't improved/fixed in 1.9 beta. I can't believe this is so complex when it works perfectly in Prusaslicer

3 colour sign. Base in pink with two colours for text and border. The pink 'part' should be solid top layers which the border, text and logo print on top. There should be no gaps in the top layers of the pink part, at least this should be an option.

image image image

Is the issue understood correctly? I'm very happy to dedicate time to this if helpful.

Thanks.

XunZhangBambu commented 4 months ago

@GuyH77 Still working in progress. We understand your issue. This is caused by the top_shell_layer. The pink part is top surface and the rest of that layer is detected as sparse infill beacuse its not visible.Use sparse infill there can save filament. In that part above, we use a internal bridge to support the solid layers.

GuyH77 commented 4 months ago

@XunZhangBambu Thanks for the update. It may save a small amount of filament but at the expense of quality. I've wasted more filament than it saves because I have to dispose of the sign. I often have to reprint on a Prusa because I know it will come out well. I want the same experience from my X1C's. Thanks again.

This is similar in PS. Interface shells options means this is treated as a uninterrupted solid layer which is preferred for this application. image image

NVNDO commented 3 months ago

@NVNDO @GuyH77 Sorry, I have already implemented the “interface_shell” mentioned in #175 .However it doesn't improve the quality of these layers and i find these flaws are associated with the handling in perimeter generator. I will start addressing this issue and it will be resolved in version 1.9

Well... Just downloaded V1.9 Beta and funny enough, need to print a Label "again", and this problem has still not been resolved.

The Label and Text are two separate objects and should be handled as such, but no,.. Half a year later, having invested in 1 P1S, 2 AMS and another 2 A1 Mini and I can still not print Labels as necessary.... My Ender 3 Pro with Cura could do that years ago. I now.. that doesn't help, but its still a fact.

Sorry... but I'm a little frustrated, sad and tired at this point.

The sign I needed to print:

Screenshot (506) Screenshot (504) Screenshot (505) Screenshot (502)

I wouldn't be so sad if this was the only label I had to print as on some I was able to mitigate this by turning on "Top surfaces" or "Topmost surface" but sometimes its still not possible to get it right.

And here is the final result:

mycreation27 04 2024_11_17_31 image

A totally messed up top surface due to inconsistent lines printed around those letters

GuyH77 commented 3 months ago

@NVNDO @GuyH77 Sorry, I have already implemented the “interface_shell” mentioned in #175 .However it doesn't improve the quality of these layers and i find these flaws are associated with the handling in perimeter generator. I will start addressing this issue and it will be resolved in version 1.9

Well... Just downloaded V1.9 Beta and funny enough, need to print a Label "again", and this problem has still not been resolved.

The Label and Text are two separate objects and should be handled as such, but no,..

Half a year later, having invested in 1 P1S, 2 AMS and another 2 A1 Mini and I can still not print Labels as necessary....

My Ender 3 Pro with Cura could do that years ago. I now.. that doesn't help, but its still a fact.

Sorry... but I'm a little frustrated, sad and tired at this point.

The sign I needed to print:

Screenshot (506)

Screenshot (504)

Screenshot (505)

Screenshot (502)

I wouldn't be so sad if this was the only label I had to print as on some I was able to mitigate this by turning on "Top surfaces" or "Topmost surface" but sometimes its still not possible to get it right.

And here is the final result:

mycreation27 04 2024_11_17_31

image

A totally messed up top surface due to inconsistent lines printed around those letters


I'm testing the latest 1.9 beta and as you have found it's a complete mess. It's actually regressed and is worse than 1.8

This issue has been present since the first version and I share your frustration. I repeat this often but it's amazing to me that Prusaslicer handles this perfectly and yet Bambu Lab can't implement the same solution when they based this slicer off of it.

Please BL find a solution to this problem. It's hugely detrimental to the quality of prints from your machines.

GuyH77 commented 3 months ago

image

This is from a clean profile, standard settings in a new file.

NVNDO commented 3 months ago

@GuyH77

I'm actually at the point to buy a different printer as I can not wait any longer. I'm about to start a business and have been focusing on different aspects on my current projects to at least get going, but I need this feature to be implemented and working, otherwise I'm out with Bambu - at least in a business-aspect.

My problems will not change a thing, but that's how it is.

XunZhangBambu commented 3 months ago

image

This is from a clean profile, standard settings in a new file.

@GuyH77 Sorry, but in beta version, we have readd the interface shell and use a new infill alogirthm. Open the interface shell option and the problem you mentioned in your previous 3mf was solved. The interface shell option can help the issue if you use multiple color.

image

a38ad679-c40c-46e2-a857-5211cb38e11f

GuyH77 commented 3 months ago

@NVNDO You'll be able to print that sign perfectly with a Prusa printer and Prusaslicer. Doesn't need to be a Prusa printer but I can recommend the XL. It's been great for me.

I'm tempted to try make a working profile for the X1C in Prusaslicer. I shouldn't have to but I think it's necessary now.

GuyH77 commented 3 months ago

image This is from a clean profile, standard settings in a new file.

@GuyH77 Sorry, but in beta version, we have readd the interface shell and use a new infill alogirthm. Open the interface shell option and the problem you mentioned in your previous 3mf was solved. The interface shell option can help the issue if you use multiple color.

image

a38ad679-c40c-46e2-a857-5211cb38e11f

That's great! Why can't I see this option in the latest beta? Is this yet to be released? Thanks.

XunZhangBambu commented 3 months ago

@NVNDO

image This is from a clean profile, standard settings in a new file.

@GuyH77 Sorry, but in beta version, we have readd the interface shell and use a new infill alogirthm. Open the interface shell option and the problem you mentioned in your previous 3mf was solved. The interface shell option can help the issue if you use multiple color. image a38ad679-c40c-46e2-a857-5211cb38e11f

That's great! Why can't I see this option in the latest beta? Is this yet to be released? Thanks.

@GuyH77 That's in develop mode and has been released. We split the layer for a better adhesion. Also in some cases, when the lower layer is dark color and the upper layer is top surface with light color, we will permeate the top surfaceshape downwards to prevent the infiltration of the color from the lower layer.

GuyH77 commented 3 months ago

@NVNDO

image This is from a clean profile, standard settings in a new file.

@GuyH77 Sorry, but in beta version, we have readd the interface shell and use a new infill alogirthm. Open the interface shell option and the problem you mentioned in your previous 3mf was solved. The interface shell option can help the issue if you use multiple color. image a38ad679-c40c-46e2-a857-5211cb38e11f

That's great! Why can't I see this option in the latest beta? Is this yet to be released? Thanks.

@GuyH77 That's in develop mode and has been released. We split the layer for a better adhesion. Also in some cases, when the lower layer is dark color and the upper layer is top surface with light color, we will permeate the top surfaceshape downwards to prevent the infiltration of the color from the lower layer.

@XunZhangBambu Thank you. I didn't realise you'd added it in developer mode. I've just tried it with that test file and it is better but you still interrupt the top layer below the text. It should be one single clean layer to get the print quality required.

EDIT: It works!! :D Need to change single wall on top layer to 'Not applied'.

Finally this will make a huge difference for me! Thank you for working on this.

image

NVNDO commented 3 months ago

I'm truly happy for you all @GuyH77 @QingZhangBambu but in my case its still not working.

I just updatet to 1.9.1 - installed it and restarted the PC

Here in Standard 0.20 settings without changing anything: Screenshot (511) At least it looks better as before (exactly like in Orca Slicer - which I tried this morning)

Switching on "Interface shells": Screenshot (512) Doesn't do a thing for me....

Then I changed Only one wall on top surface to - "Not applied" like you @GuyH77 suggested Screenshot (513) Without any change....

I tried Only one wall on first layer.. Screenshot (514)

..and changed Classic to Arachne just for the heck of maybe getting a different result... Screenshot (515) but nothing.

Maybe I'm doing something wrong here and I'm just not noticing it, At this point in time I'm starting to seriously question the reason for my exístanse as whatever I try to do or archive, it just wouldn't work. I'm giving up.

OzDruiD commented 3 months ago

@NVNDO I can try your file? Or create my own i guess. I used the example above, Ziggy... and just changed purely interface shells, resliced and instantly noticed it - screenshot here at layer 18 as example below, but does it throughout.

Before interface shells. - layer 18 image

After interface shells - layer 18 image

and without that "Only one wall on top suerffaces"...Not applied, I can confirm i get the same top layer interruption - layer 20 in his example image

"Only one wall on top surfaces" - Not applied - layer 20 again (final top layer before text) - no intteruption. image

NVNDO commented 3 months ago

I'm giving up.

EDIT: Or not!

Well... It works - but ONLY with different colors. (No idea why that is, but that's enough for me at this very moment) Seems like I previously did not color the Text and therefore it did not work.

Here an overview of how it behaves with and without colored text:

Everything in (1) color: mycreation28 04 2024_00_33_09 Does NOT work.

In (2) colors: mycreation28 04 2024_00_29_44 Works.

Pffff.... I wish I'd get payed for all these hours.. but well.. Its FINALLY DONE!! THANK YOU!!

I still can't believe it...

Thank you so much @GuyH77 for being part of this from the get go and helping throughout all this time. A huge THANK YOU @XunZhangBambu for keeping your word and implementing this just on time. Having this working means the world to me - Thank you from the bottom of my heart.

Also a big thank you @OzDruiD for helping out on the community forum and especially coming here to help - I really appreciate your time and effort.

Thank you so much everyone!

OzDruiD commented 3 months ago

I actuallyt just created mine in makerlab, and had similar issues so yeah itts kinda wierd. Layer 4 - nothing image Layer 5 - the prior layer to text and graphics.. soemthing is blending image Layer 6 - 1st of text top layers image

OzDruiD commented 3 months ago

@NVNDO Maybe one colour doesnt work because well, it doesnt really matter, your not going to notice colour bleed or issues with the same colour, I just wonder though if will still cause printing defects like OP posted.

I agree, I see in single colour the same issue as you. image Dual colour image

NVNDO commented 3 months ago

@OzDruiD

Yeah, something is off when certain colors are selected.

XunZhangBambu mentioned this: Also in some cases, when the lower layer is dark color and the upper layer is top surface with light color, we will permeate the top surfaceshape downwards to prevent the infiltration of the color from the lower layer. which to be honest I did not fully understand as colors could infiltrate whatever color is on top or bottom.

Also the scenario says: dark color on top - light color at bottom. In my case its the other way around and creating problems. Not sure... I think they might need to give this some more attention, but for me it seems good so far.

I just wonder though if will still cause printing defects like OP posted. I will let you know in two hours - just started the print (but from what the preview shows, it should be perfect)

NVNDO commented 3 months ago

I agree, I see in single colour the same issue as you.

Yep! pretty strange... but that should not be an issue, because who on earth prints labels in only one color (for sure there will be someone!) XD so yeah.. they might want to have another peak at this.

OzDruiD commented 3 months ago

So on the black top layer, same colour , defintely imprinted. You can see the "Danger" logo here in black image and .. whilst needs more flush, it just came out terrible finish as well. image

NVNDO commented 3 months ago

@OzDruiD Let's see what XunZhangBambu says about that..

PD: Could you attach your file so I can have a look at it..?

XunZhangBambu commented 3 months ago

I agree, I see in single colour the same issue as you.

Yep! pretty strange... but that should not be an issue, because who on earth prints labels in only one color (for sure there will be someone!) XD so yeah.. they might want to have another peak at this.

We will permeate the top surface shape downwards and print it as a solid fill to increase strength. Let's use a simple model to show. image

image

image

When you set "top_layer_shell" to 1 and "top_layer_shell_thickness" to one layer height , the top surface will not permeate to lower layer.

XunZhangBambu commented 3 months ago

@NVNDO Enable the"interface shell" option ,we will handle areas with different params areas separately ,e.g., areas with different color.That means the top surfaces of different colors will not permeate to the current layer.

OzDruiD commented 3 months ago

@XunZhangBambu Thanks - both your explanations above 1) top shell \ shell thicknesss and 2) the interface shell on diff colours, different parameters explains the 2 scenarios we see. and why different results. GREATLY apprecaite the effort for the screenshots and info.

It was as a I suspected for 1 scenario the, diferent parameters, eg colour - automatically gets treated differetly. with the "interface shell" option turned on.

The other scenario, same type\colour etc - still visible - makes sense now and also as suspected and as per the notes - but the screenshots of how to change top shell count and thickness to stop it happenng really helps.

XunZhangBambu commented 3 months ago

@OzDruiD You're welcome! I'm glad I could help.

cutmoney commented 2 months ago

I can confirm this finally works for me as well by enabling Develop Mode and enabling interface shells, a LONG awaited feature. It did crash a few times on the Mac version though for some reason.

NVNDO commented 2 months ago

@XunZhangBambu Hey there, is it just me... or is it again not working on the recent release? I'm starting to get a headache from this...

I have a sign (again) and again its not working. Activating "Interface shells", nor changing to any of the 3 available options on "Only one wall on top surface" works. Changing "Top shell layers" doesn't do anything either...

Standard 0.20 layer height profile: mycreation13 05 2024_20_58_33

Interface Shells ACTIVATED: mycreation13 05 2024_20_57_54

What am I doing wrong?

@GuyH77 & @OzDruiD you having any trouble?

PD: The only way I get a better result is when applying more "wall loops" but then I get gaps through several layers where no infil no nothing is applied.

EDIT: I'm back to 1.8.4.51 mycreation13 05 2024_21_23_13

Almost perfect - except this: Screenshot (604) ..but I will mitigate this with 100% Infill.

Bambulabs - I'm DONE!

XunZhangBambu commented 2 months ago

@XunZhangBambu Hey there, is it just me... or is it again not working on the recent release? I'm starting to get a headache from this...

I have a sign (again) and again its not working. Activating "Interface shells", nor changing to any of the 3 available options on "Only one wall on top surface" works. Changing "Top shell layers" doesn't do anything either...

Standard 0.20 layer height profile: mycreation13 05 2024_20_58_33

Interface Shells ACTIVATED: mycreation13 05 2024_20_57_54

  • Only one wall on top surface (NOT APPLIED): mycreation13 05 2024_20_57_00

What am I doing wrong?

@GuyH77 & @OzDruiD you having any trouble?

PD: The only way I get a better result is when applying more "wall loops" but then I get gaps through several layers where no infil no nothing is applied.

EDIT: I'm back to 1.8.4.51 mycreation13 05 2024_21_23_13

Almost perfect - except this: Screenshot (604) ..but I will mitigate this with 100% Infill.

Bambulabs - I'm DONE!

Could you please share the 3mf ?

DeanDavis commented 1 month ago

I'm getting the same issue. Mac version 1.9.1.67 Developer mode on. Interface Shells turned on Only One Wall on Top surface set to Not Applied STL and 3MF attached. Layer before color change Screenshot 2024-06-03 at 1 53 35 PM

Letter O.zip

DeanDavis commented 1 month ago

So the issue is that I'm doing a layer color change. My top object, ie. the Text isn't a separate object so the programming logic doesn't see it as a separate "material"/"volume". It should. I've put in a feature request to PrusaSlicer. Should I duplicate it on BambuSlicers GitHub?

https://github.com/prusa3d/PrusaSlicer/issues/12776

XunZhangBambu commented 1 month ago

@DeanDavis This is an intended behavior