Ultimaker / Cura

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

Option to omit brim on outside of enclosed shapes #4222

Open sslupsky opened 6 years ago

sslupsky commented 6 years ago

Application Version 3.4.1

Platform macOS

Printer Prusa i3 Mk3

Steps to Reproduce Create surface with embossed text (reasonably large text size helps see the problem) Place text surface on the build plate Add brim

Actual Results When the brim is generated, it generates a brim on the interior of the embossed text (see the "WiTAP" and "SCANIMETRICS" text in the screen shot below. The "A" and "P" characters in the "WITAP" text has brim generated around the interior of the characters. Similarly, you can see the same effect in the "A" and "R" characters of the "SCANIMETRICS" text.

I used "support blocker" to suppress the generation of support for the embossed text. However, it does not suppress the brim. I verified that the brim material is not support material by turning off the brim.

Expected results I guess in reality, brim should not create a brim on interior text like this. But, it may be hard for the slicer to determine that. So, a workaround would be to use the "support blocker" to prevent brim from putting material where you do not want it. I suppose if that is not suitable, then create a new tool called a "brim blocker?

screen shot 2018-08-10 at 12 52 31 pm

diegopradogesto commented 6 years ago

This is probably a bug, very easy to reproduce also with 3DBenchy: image

I wouldn't add another feature or extend the "support blocker". This should work fine when indicating "brim only on outside".

BagelOrb commented 6 years ago

This is intentional behaviour. The brim is on the outside of the inner part of the P.

ianpaschal commented 6 years ago

I wouldn't say it's intentional behavior. Predictable, yes, but I don't think any of our users really would consider the D shape to be the "outside".

In theory "outside" should be checking if it's fully enclosed in any other polygon. If so, it's not the outside.

sslupsky commented 6 years ago

Intentional or not, I recommend an option to disable the generation of that material because it is very difficult to remove afterward. Turning the brim off entirely to avoid it is undesirable.

BagelOrb commented 6 years ago

The reason I implemented Brim-on-outside-only this way is that there may be large parts of the bottom which enclose a part which should stick to the build plate. Cura cannot assume that at a higher layer the inside part of the D connects to the rest and is therefore less likely to come loose from the build plate. If you are printing a long extruded D shape then you really need the inside of the D to have a brim.

Whether it's clear to the user what a setting does is less important than whether the setting does the right thing.

Adding the option as a third alternative could be a good idea.

On Tue, Aug 14, 2018 at 4:13 PM, sslupsky notifications@github.com wrote:

Intentional or not, I recommend an option to disable the generation of that material because it is very difficult to remove afterward. Turning the brim off entirely to avoid it is undesirable.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Ultimaker/Cura/issues/4222#issuecomment-412886282, or mute the thread https://github.com/notifications/unsubscribe-auth/AIe9EfPrNqBO9Vf58m1Q_vm8OAfP0YFPks5uQtsLgaJpZM4V4qtu .

--

Kind regards,

Tim Kuipers

Ultimaker BV

www.ultimaker.com

Dim3nsioneer commented 6 years ago

+1 for the option as suggested by @sslupsky .

nallath commented 5 years ago

For our reference; CURA-5960

bjbeare commented 5 years ago

I'm also seeing this. It's a pain to remove the brim on internal embossed text. Another alternative is to allow a blocking object (modify settings for infil of other models) to disable brim for the covered area.

topherbuckley commented 5 years ago

I'm also seeing this. It's a pain to remove the brim on internal embossed text. Another alternative is to allow a blocking object (modify settings for infil of other models) to disable brim for the covered area.

@bjbeare , I'm not seeing this "disable brim" option within the "modify settings for infill of other models". The entire "Build Plate Adhesion" section does not appear present. Where would I find this?

Alternatively, as suggested elsewhere, I had some luck with using a skirt with distance to model set to 0. This is slightly different than a brim at sharp corners, but may be a workaround for some.

Ghostkeeper commented 5 years ago

@bjbeare , I'm not seeing this "disable brim" option within the "modify settings for infill of other models". The entire "Build Plate Adhesion" section does not appear present. Where would I find this?

This was just a suggestion from bjbeare and is not implemented (yet). I think we'd rather do this stuff automatically rather than asking the user to place blocks around certain parts of the print.

Orum commented 5 years ago

Not sure if this should be reported as a separate bug or not, but this inside brim also appears when you put an object inside one another. For example, here are two rings, one of which I put a nut inside (as a separate object). The one with the nut inside it also gets a brim on the inside, even though "Brim only on outside" is checked.

BagelOrb commented 5 years ago

Yeah that's a known limitation of the current implementation. It's not straighforward how to deal with a brim which might be cut off partly by the outside object.

skrutt commented 4 years ago

+1 Having "Brim only on outside of" "model" or "shape" option would in my eyes solve this perfectly. When printing most objects this should give the flexibility to get us printing as we'd like, either with brim on outside of model or outside of all shapes in model.

Of course, there are always edge cases, if someone has an object with a thin tower enclosed in a model with a large base and text on the bottom, tough luck. but there you would have the same options of cad for custom supports just as today.

But other cases with a thin tower with a large base + text in two different objects, you could place the tower inside the large object in there was a whole for that, but then again you could also keep it outside or just not print them both in the same print if they cant both fit beside each other.

but having the option of outside shape/outside model should work for the vast majority of users with brim + text on the bottom.

jackharvest commented 4 years ago

Still holding out and praying for this option to become available.

WimVDK commented 3 years ago

Just encountered this issue (brim on the inside of letters" myself. Is a fix available yet or perhaps a "brim blocker" feature?

Ghostkeeper commented 3 years ago

This has not yet been implemented, no. Neither is there any brim blocker (as requested in https://github.com/Ultimaker/Cura/issues/7057). Both are suffering from the same requirement that we'd need to architecturally change the brim from polygons to polylines.

A workaround with per-object settings can be devised where you add a mesh with 0 infill, 0 walls and 0 top/bottom layers which would effectively work as a brim blocker.

nathanielstenzel commented 3 years ago

If brims are assigned to the nozzle of a part then you could assign a no-print nozzle to take care of brims for areas where you do not want to have brims. Then you just need to add some lines or dots to areas where you want to block brims. Does this sound like something that could work? If you assign the no-print nozzle to print first, I think that would stop other nozzles from trying to print brim on that spot since it thinks it already did. That might mess up support too though, come to think of it. That is unless the layer height is defined to be really thin or zero thickness for the no-print nozzle.

brim_blocker

BagelOrb commented 3 years ago

Nope. The brim is always printed with one extruder only at the moment.

Kind regards, Tim Kuipers PhD researcher at Delft university of technology Software engineer at Ultimaker


From: Nathaniel Stenzel @.> Sent: Thursday, August 26, 2021 10:41:23 PM To: Ultimaker/Cura @.> Cc: Tim Kuipers @.>; Comment @.> Subject: Re: [Ultimaker/Cura] Option to omit brim on outside of enclosed shapes (#4222)

If brims are assigned to the nozzle of a part then you could assign a no-print nozzle to take care of brims for areas where you do not want to have brims. Then you just need to add some lines or dots to areas where you want to block brims. Does this sound like something that could work?

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FUltimaker%2FCura%2Fissues%2F4222%23issuecomment-906728354&data=04%7C01%7Ct.kuipers%40ultimaker.com%7Cfbf0597ddd544f2fcee108d968d1dea7%7Caecc8a99f9b24dad9cf1038b83a3ff5f%7C0%7C0%7C637656072911763325%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=3Np4l4NjZIB25rUyboXLa16QcaeGGtZBOPOy7Z%2BcvSQ%3D&reserved=0, or unsubscribehttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACD32EMZOBQQE2UOHGG2JKDT62RHHANCNFSM4FPCVNXA&data=04%7C01%7Ct.kuipers%40ultimaker.com%7Cfbf0597ddd544f2fcee108d968d1dea7%7Caecc8a99f9b24dad9cf1038b83a3ff5f%7C0%7C0%7C637656072911763325%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=6feifECsc3Rhe46dXkc%2FsxvFo8HXIyrEgnbDAhBSSjY%3D&reserved=0. Triage notifications on the go with GitHub Mobile for iOShttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04%7C01%7Ct.kuipers%40ultimaker.com%7Cfbf0597ddd544f2fcee108d968d1dea7%7Caecc8a99f9b24dad9cf1038b83a3ff5f%7C0%7C0%7C637656072911773282%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=5bpWM2YHuX3fTbEea0zgMP6gFm7dul3V40oSgeQTin8%3D&reserved=0 or Androidhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04%7C01%7Ct.kuipers%40ultimaker.com%7Cfbf0597ddd544f2fcee108d968d1dea7%7Caecc8a99f9b24dad9cf1038b83a3ff5f%7C0%7C0%7C637656072911773282%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=CnHgcJqaMKiabx42TW7j6VHk9uYLEVR6kFtn%2F%2FJRRZo%3D&reserved=0.

printingotb commented 2 years ago

Also present in 5.0 beta: brim