OrcaSlicer
OrcaSlicer copied to clipboard
Port "No Unsupported Perimeters" feature from SS
- [x] Implement Feature
- [x] Test Feature
- [ ] Add config manipulation
Original Feature from SS
fixes #2402
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
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
Btw. Here the susi wiki for this feature https://github.com/supermerill/SuperSlicer/wiki/No-perimeters-on-bridge-area
Yes, it is not working. There was a special testing .stl for this feature, I need to Google it.
The model I attached can test the case.
Well, anybody any clue where the problem is?
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
):
Good job @Noisyfox !
Next question: do we want to add support for arachne?
Next question: do we want to add support for arachne?
Yes 👌🏻👏🏻🎉
Next question: do we want to add support for arachne?
SURE thing!
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?
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?
Seems to be working fine. Though I'm no entirely sure what other options (Bridges/Bridges and Overhangs) do.
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.
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.
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.
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
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.
It now produces very similar results as SS:
Great, anybody else for testing? I will try tomorrow. Thx!
Any progress on this one?
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!
Made some adjustment to the names.
Also added tooltip
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.
Some testing results:
I really like the new names. Much more intuitive!
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.
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)
.
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
Here's the 3mf file