GSoC 2021: Knife Tool Improvements: Feedback

I was unable to get screencast keys working for the latest weekly report, it still does not show keys when in the knife tool modal. Hopefully this is not a problem as the report only show cases me using undo, which is the same key combination being pressed every time.

doesn’t ctrl+r already do this when the ‘confirm on release’ option is set?

nope, even with this option enabled you still have to slide new loop while in SI you can just click once whereever you want (without any confirmation or edge sliding, just one single click)

Hi, it would be useful if the knife tool allows a precise distance measurement at a precise angle in relationship to the face on which it is being used. I can see that angles and face orientations are becoming quite powerful, but would like to mention that having a way to enter specific distance would be super useful for CAD work.

3 Likes

Thank you for the suggestion. I believe such a feature is out of scope for the knife tool and also this project. It would perhaps be more suited to the loop cut tool. If you want to create a request for it consider posting it on rightclickselect.

I have actually already implemented angle snapping relative to the current face the cut segment was started on (see this weekly update). You can also control the snapping angle increment, meaning you have precise control over the angle.

I like the idea of snapping to a given distance. I will run it by my mentor. If I do add it I will let you know via the weekly updates.

1 Like

Look at keKit addon “Modeling - Direct Loop Cut”, you also can ask author to implement cut to edge centers with holding Ctrl.

1 Like

i just tested it, there is no slide with that option enabled…

Cool! I think it does fall within the scope of the knife tool, and not edge loops, since, loops are topology dependent, whereas the knife tool cuts any face into anything, so why not be able to use some precise distances when making a cut on a face?

3 Likes

This would be nice to have. I wonder what the workflow would be like for it?
It occurs to me that we would need a new keyboard shortcut that when activated we can enter the distance from the numeric keyboard. We would probably need to leave the “D” key free for this, and choose another key to display/show measurements (It could be the “S” key that is right between the “A” key and the “D” key in qwerty, and it could be labeled “[S]how Measurements”).
“D” key should allow entering distance always, without or with Angle constraint enabled? Probably yes. If Angle Constraint is activated with “A” key we can enter the angle from the numeric keyboard and/or activate “D” key that does not deactivate Angle Constraint and at the same time allows entering Distance from the numeric keyboard, then LMB to confirm and set the point. This still does not disable Angle Constraint, and the angle step remains the default or last entered. After this pressing “D” key allows to enter a new distance.

I’m just trying to imagine what that would be like, not really sure about what I’ve written.

2 Likes

Thanks for the ideas, I will make sure to consider these things when implementing it. I believe only allowing number key input when in constrained angle mode or constrain distance mode would be a necessary change to make it work smoothly. The modal key maps are also something that may need to be changed as you have mentiioned.

1 Like

Brilliant work!
Would be osom, to add Loopcut to the Knife too <3. Since commign from Maya, I really miss this behavour of the Knife tool.

2 Likes

Thank you for your efforts.

Or maybe someone can suggest a better key than “TAB”?

TAB would create an inconsistency. Normally TAB is mapped to an operator which switches between Edit mode and Object mode.
Would the ALT key work?

4 Likes
  1. midpoint snapping for Alt key is a good choose BUT
    should it be hold or like other modal keys one time click?
    I prefer hold.
    If its not possible then we need to think on other key.

  2. Should this be changed to undo an entire drag cut in one undo operation?

    I prefer undo last click. So in this case undo entire drag cut.
    Mostly I use cut as click-click-click-etc, in this case I need to undo last click, but if I want to drag cut (with pen for example) I prefer to undo entire drag cut to make new drag cut again. IMHO.

I have a question about undo and new cut (old E key). If I make cuts then modal key for new cut, do some other new cuts and decide to undo. Will undo work in this case and how it behave when undo goes to my last click until new cut? (I hope I explained it clear)

@LeonardSiebeneicher I originally chose ALT but found that when alt-tabbing on Windows and Linux, midpoint snapping can sometimes become stuck on which is not desirable.

I also found that when making a cut, TAB does not work for switching between edit and object mode with the current knife tool implementation. I therefore thought TAB was not a problem but after looking into it more I realise it breaks in the case where you have not started any cut yet and wish to switch out of edit mode. I will see if I can get either ALT or CTRL working as a keybind for midpoint snapping.

@APEC I prefer hold as well. However, this functionality is actually what introduces the problem where it gets stuck turned on when alt-tabbing as mentioned above.

I also agree with undo deleting the entire drag click and will implement that this week if possible.

As for your last question, hopefullly this clears things up:
reply4

3 Likes

Not sure if this is up your alley or should be left for the UI team.
If you use the modal operator you get preview dot before cutting but won’t show up if you use the acitve tool until the first click.
preview

8 Likes

Interesting, I will definitely try and find a fix for that.

6 Likes

Also, currently, knife can’t cut edge lines without face.
For example you made extrudes from vertex, drew flat plan, and then you decide to slice it with knife - you can’t.
It would be nice if it becomes possible.

1 Like

I believe this was suggested further above in the thread. I would like to implement such a feature but from my understanding of the knife tool a majority of the code relies on the existence of a face. I suspect it would be quite a large undertaking to introduce this functionality and as it was not originally planned in my proposal I am not sure I will ever get around to it.

3 Likes

Why does the knife tool have its own keymap for midpoint snapping instead of just using the global snapping options?