OrcaSlicer icon indicating copy to clipboard operation
OrcaSlicer copied to clipboard

Port "No Unsupported Perimeters" feature from SS

Open Ocraftyone opened this issue 1 year ago • 23 comments

  • [x] Implement Feature
  • [x] Test Feature
  • [ ] Add config manipulation

Original Feature from SS image

fixes #2402

Ocraftyone avatar Dec 19 '23 06:12 Ocraftyone

This needs testing. I wasn't able to get it going for myself in my implementation or in SuperSlicer, so I must be doing something wrong. I need someone who is familiar with the feature. This only works with classic perimeter generation

Ocraftyone avatar Dec 19 '23 06:12 Ocraftyone

This needs testing. I wasn't able to get it going for myself in my implementation or in SuperSlicer, so I must be doing something wrong. I need someone who is familiar with the feature. This only works with classic perimeter generation

Fantastic. I will help testing and troubleshooting tomorrow

SoftFever avatar Dec 19 '23 15:12 SoftFever

Btw. Here the susi wiki for this feature https://github.com/supermerill/SuperSlicer/wiki/No-perimeters-on-bridge-area

tome9111991 avatar Dec 19 '23 20:12 tome9111991

Looks like it didn't work. Screenshot 2023-12-20 at 2 39 54 PM

hole.3mf.zip

SoftFever avatar Dec 20 '23 06:12 SoftFever

Yes, it is not working. There was a special testing .stl for this feature, I need to Google it.

Eldenroot avatar Dec 20 '23 13:12 Eldenroot

The model I attached can test the case.

SoftFever avatar Dec 20 '23 13:12 SoftFever

Well, anybody any clue where the problem is?

Eldenroot avatar Dec 22 '23 09:12 Eldenroot

The issue is caused by PrintObject::detect_surfaces_type().

These lines are missing from this PR: https://github.com/supermerill/SuperSlicer/blob/9a7c22cfc00a6e2c4a3481649e5e0e8711d2dd6b/src/libslic3r/PrintObject.cpp#L1580-L1584

Update: apparently a few more places need to be updated accordingly (by replacing layerm->slices.surfaces with layerm_slices_surfaces):

image

Noisyfox avatar Dec 26 '23 13:12 Noisyfox

Good job @Noisyfox !

Eldenroot avatar Dec 26 '23 13:12 Eldenroot

Next question: do we want to add support for arachne?

Noisyfox avatar Dec 26 '23 13:12 Noisyfox

Next question: do we want to add support for arachne?

Yes 👌🏻👏🏻🎉

igiannakas avatar Dec 26 '23 15:12 igiannakas

Next question: do we want to add support for arachne?

SURE thing!

Eldenroot avatar Dec 26 '23 15:12 Eldenroot

Next question: do we want to add support for arachne?

SURE thing!

Not sure how difficult it might be then. Are you going to do that?

Noisyfox avatar Dec 27 '23 02:12 Noisyfox

I have to be honest, a lot of the backend goes over my head as I am not entirely oriented in it. How different is arachne? Is it possible it is a drop in replacement?

Ocraftyone avatar Dec 27 '23 06:12 Ocraftyone

image Seems to be working fine. Though I'm no entirely sure what other options (Bridges/Bridges and Overhangs) do.

Noisyfox avatar Dec 27 '23 07:12 Noisyfox

Btw. Here the susi wiki for this feature Wiki: No perimeters on bridge area (supermerill/SuperSlicer)

This wiki does a decent job of explaining. This whole option seems to be very experimental by the tone of the wiki.

Ocraftyone avatar Dec 27 '23 07:12 Ocraftyone

These two options (Bridges/Bridges and Overhangs) don't work in this PR at the moment. I suspect it might relate to the const coordf_t bridged_infill_margin = BRIDGE_INFILL_MARGIN; line.

Noisyfox avatar Dec 27 '23 08:12 Noisyfox

I suspect it might relate to the const coordf_t bridged_infill_margin = BRIDGE_INFILL_MARGIN; line.

That was an educated guess on my part. SS has a config field that allowed the user to set and I was attempting to fill in the blanks

IMO the only useful one is the "Fill the voids with bridges"

That was what I was going to do originally, but there was some interest in having all of the functions ported. I don't know if the limited functionality they provide is worth porting.

Ocraftyone avatar Dec 27 '23 09:12 Ocraftyone

Thank you for fixing the "core" part of this feature. Actually I am not sure what to do with other options... maybe it could be useful in some "edge" cases... there is a wiki post about it but... you have better knowledge of coding and printing, so you should make a decision if it is worth it or not

Eldenroot avatar Dec 27 '23 17:12 Eldenroot

IMO the only advantage those two options offer is that you can (sort of) turn them on for the entire model? Compare to the "fill void with bridges" option which you should only enable for certain area that has flat counter bore (because it could mess up with counter bore cones, as the wiki describes). Though I don't think that would justify the extra effort to make those options work, and the confusion they might cause.

Noisyfox avatar Dec 28 '23 01:12 Noisyfox

It now produces very similar results as SS: image image

Noisyfox avatar Dec 28 '23 13:12 Noisyfox

Great, anybody else for testing? I will try tomorrow. Thx!

Eldenroot avatar Dec 30 '23 22:12 Eldenroot

Any progress on this one?

Noisyfox avatar Jan 04 '24 02:01 Noisyfox

Any progress on this one?

Haha, ain't you the one who's making progress here?

Joking aside, I will start reviewing and testing on it. Well done, all!

SoftFever avatar Jan 28 '24 02:01 SoftFever

Made some adjustment to the names. Also added tooltip Screenshot 2024-01-28 at 6 07 57 PM Screenshot 2024-01-28 at 6 08 11 PM

SoftFever avatar Jan 28 '24 10:01 SoftFever

Thanks @Ocraftyone for the initial port work. Thanks @Noisyfox to make it work properly. Thank you to everyone who participated in the discussion and testing as well! Merged.

SoftFever avatar Jan 28 '24 10:01 SoftFever

Some testing results: Screenshot 2024-01-28 at 9 17 14 PM counterbole_hole2 counterbole_hole

SoftFever avatar Jan 29 '24 23:01 SoftFever

I really like the new names. Much more intuitive!

Ocraftyone avatar Jan 30 '24 00:01 Ocraftyone

Let me know if I shouldn't post this here, im new to github.

This setting seems to cause some issues with bridging over blind holes. I'll use the benchy as an example. Untitled With 'bridge counterbole holes' disabled the second layer looks pretty good, its bridging over the text (im not sure why its using sparse infil and bridges instead of making the whole layer infil the same direction though)

. Untitled With partial bridge or sacrificial layer the bridge looks weird, it's making the perimiters of the first layer even though there's a bridge layer in between.

Here's the bottom layer as reference for the text image Here's the 3mf file

3dbenchy.zip

WV-design avatar Mar 17 '24 15:03 WV-design