Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exclude Region #359

Closed
lar3ry opened this issue Jul 12, 2021 · 19 comments · Fixed by #754
Closed

Exclude Region #359

lar3ry opened this issue Jul 12, 2021 · 19 comments · Fixed by #754
Labels
Docs - Needed Docs need to be added for tagged issue FR - Enhancement New feature or request GH - Evaluation Needed This topic needs to be discussed to evaluate it's aspects and feasability
Milestone

Comments

@lar3ry
Copy link

lar3ry commented Jul 12, 2021

Thank you for using fluidd!

Nono! Thank YOU for all your hard work!

Is your feature request related to a problem? Please describe.

The main plugin I miss from my Octoprint/Klipper days is the "exclude region" one.

Describe the solution you'd like:

I'd like to see it implemented as part of the GCode Preview box,.

Describe alternatives you've considered:

There are no alternatives that I know of.

Affected users and/or setups:

Users that have ever had a print consisting of many objects, and had one get messed up, will love you for it.

@lar3ry lar3ry added the FR - Enhancement New feature or request label Jul 12, 2021
@StuSerious
Copy link
Collaborator

hey there @lar3ry!

the option to exclude regions of gcode has been in talks since day one of the gCode preview.
with that still being in BETA, I think the focus will be on first polishing the preview to add onto it going forward!

so the cancel object / cancel area feature is in the pipeline, but we have no ETA for it yet!
thank you for your feature suggestion, have a great day!
~S

@StuSerious StuSerious added Docs - Needed Docs need to be added for tagged issue GH - Evaluation Needed This topic needs to be discussed to evaluate it's aspects and feasability labels Feb 4, 2022
@troy-jacobson
Copy link
Contributor

troy-jacobson commented Feb 20, 2022

Hi, there has been a lot of work being done for this feature outside of Fluid for a while now. Moonraker has already merged its part of the workflow. A pull requrest for Klipper is is open and near approval. As a member of a group working on this feature, I've been working out of a personal fluidd branch with a functional implementation. As soon as I get some of the Klipper changes moving along, I'll be creating a pull request with my changes.

I don't think my Fluidd changes are ready as is. I'm more of a back end developer. The UX could use some help, but the logic is solid. I've been using my changes since last fall with no issues. I would have posted them earlier, but with the unfortunate state of Fluidd dev for a while, I didn't make it a priority. But now that things are up and running again, I'll get it to you as soon as possible.

For those interested, Klipper, obviously, takes care of the low-level functionality. There is a preprocessor in Moonraker that takes uploaded gcode files and tweaks them based on the slicer dialect so there is a uniform structure for Klipper that is not slicer dependent.

For a UI like fluidd, it gets all the information needed from the Klipper status. Although I'm drawing the part outlines on the above mentioned gcode previewer, that is not necessary for this to function, nor are there any changes needed to Fluidd's gcode parser.

@matmen matmen added this to the Fluidd Next milestone Feb 25, 2022
@matmen matmen added the GH - Upstream First Temporarily impossible because of other factors label Feb 25, 2022
@matmen
Copy link
Member

matmen commented Feb 25, 2022

waiting for upstream: Klipper3d/klipper#4716

@hany
Copy link

hany commented Jun 4, 2022

Looks like the klipper functionality was merged yesterday. Looking forward to having this integrated into Fluidd.

@pedrolamas pedrolamas modified the milestones: vNext, 1.19 Jun 4, 2022
@matmen matmen removed the GH - Upstream First Temporarily impossible because of other factors label Jun 18, 2022
@matmen
Copy link
Member

matmen commented Jun 18, 2022

@troy-jacobson Hey, I just looked at your UI implementation and it looks very promising! Just wondering what the current state of it is? I'm happy to help with refactoring it a bit if that's still needed :)

@pedrolamas
Copy link
Member

I've been testing @troy-jacobson branch changes (thank you, btw!!) with the latest Klipper and Moonraker, and this seems to work very well!!

image

Might need some minor fixes and code reformatting, but overall it should be fine to get this over the line! 😁

@matmen
Copy link
Member

matmen commented Jun 27, 2022

Hey @kageurufu, I just noticed you said (in Klipper3d/klipper#5413 (comment)) that Troy was busy and you had Fluidd code you are going to submit. Is this still the plan? Big fan of this feature and would love to have this land in 1.19. Happy to help if it still needs a bit of refactoring. Big thanks for your work!

@kageurufu
Copy link

@matmen I can take a look later this week when a little free time comes up, but if you want to take a look the code is somewhere between https://github.com/kageurufu/fluidd/tree/work-cancel-object and https://github.com/troy-jacobson/fluidd/tree/work-cancel-object. I'm not sure who's more up to date

@matmen
Copy link
Member

matmen commented Jun 27, 2022

@kageurufu Hey, thanks for the reply. I've gone ahead and made the changes compatible with current develop: develop...matmen:fluidd:feat/cancel-object
I've had to cherry-pick the commits because I couldn't figure out how to do it properly, so the commits look a bit odd, but I have tested them and they seem to work fine.
If you're fine with it I can open a PR for this, but you and @troy-jacobson will need to sign it off. Otherwise feel free to open your own PR, you can cherry pick the couple changes I've made if you'd like.
Thanks again for your work!

@matmen
Copy link
Member

matmen commented Jul 5, 2022

@kageurufu Any news yet? We would love to land this in 1.19, which is scheduled for this sunday. Just need either your approval so we can merge this, or you to create your own PR (probably easier license and sign-off wise) 😉 Let me know if you have any questions or need help with anything

@kageurufu
Copy link

Ooh my bad. I'll create a PR if it makes the licensing easier :)

@troy-jacobson
Copy link
Contributor

Hi everyone, sorry for being kind of absent on this. I forgot these changes were out there. Kageurufu's repo has a better change of being up-to-date since I've been running the same version for months now and my last attempt to merge didn't go well. I can dust things off to help if needed.

If either of you have a branch or pull request ready to go, I'd be more than happy to add whatever sign-offs are needed.

My main "concern" is with usability. I didn't come up with a good way to point a user to how to use the UI to cancel an object. I just kind of knew how to do it. Otherwise, its been working without issues for a long time now.

@kageurufu
Copy link

I'm working on a rebased branch, then i'll do another branch with it squashed for the PR

@pedrolamas
Copy link
Member

@troy-jacobson @kageurufu thank you both for your help with this! 🙂

@jlsjonas
Copy link

jlsjonas commented Jan 7, 2023

Sorry to poke in a completed issue but would anyone be up to extending the functionality to regions, not just objects? That way big prints would also be covered (for the several cases you can recover most of the single-object print & fix it later)
Willing to take the lead but fairly new to klipper's code & want to make sure it would be something that would be accepted across the different projects.

Thanks for your time!

@pedrolamas
Copy link
Member

@jlsjonas there is no work done to add Regions Exclusion, but it is something we would be interested in integrating, yes! 🙂

@jlsjonas
Copy link

jlsjonas commented Jan 7, 2023

@pedrolamas I already peeked at the klipper code for excluding objects and it seems to luckily be implemented in a way that should allow us to reuse it for regions
Will see what I can do when I got some spare time!

@troy-jacobson
Copy link
Contributor

@jlsjonas I think there is a fairly good chance that the current code could support regions in a straightforward way, but the success would be dependent on what gcode the various slicers generate on each side of the transitions. There may need to be some limitations, such as not crossing a boundary while extruding.

Also, I think there would be some interesting work needed on the various UIs to generate decent region coordinates to pass to klipper and possibly check that region is compatible with any limitations there may be.

Feel free to drop me an email or DM in discord and we can chat.

@kageurufu
Copy link

kageurufu commented Jan 7, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Docs - Needed Docs need to be added for tagged issue FR - Enhancement New feature or request GH - Evaluation Needed This topic needs to be discussed to evaluate it's aspects and feasability
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants