GSoC 2021: Knife Tool Improvements: Feedback

Well done, is really good to see some new features added to the knife tool.

Personally, I don’t use snapping workflows as of now. But I have another few ideas.

One is to think of holding down the mouse and allowing you to draw free form lines.
Screenshot (70)

Another is to think of displaying a grid shape as a cutter. Currently this is done with knife project. But imagine how troublesome (create grid mesh / delete faces / select this + object / edit mode / knife project). When in knife mode, just activate the grid cutter and you are done. (I suspect that since feature relies on preview - it might need some BGL drawing first and then commit the cut).
Screenshot (71)

However these ideas are entirely different from your own project scope. Not to mess with your schedule or anything, but if some time in the future you feel like going for it, they might be really good things to try.

Thanks. :slight_smile:

3 Likes

Glad to hear you like the project!

Hey thanks so much for the feedback. For now I do think those ideas are out of scope for this project but way down the line someone may find them worthy of implementing.

1 Like

I have seen the changes that you have already implemented. This is becoming a very powerful tool for modeling!

In the other thread I had made a request for the possibility of Knife tool to work if there are only edges and no faces, creating edges between edges. Is this still in the project plans?

Try this built-in addon, it does what you describe

I think your request is not related to Knife tool, unless it becomes a switchable option.

1 Like

What about Z modal key - “cut through”? Maybe change this to T key?

1 Like

My mistake, I actually already changed this to ‘T’, just forgot to note it in the report. I willl update it there now! Thanks for reminding me.

1 Like

I’m glad you like the changes so far! For the time being I am going to focus on what is contained within my proposal and some of the smaller user requests. I believe the feature you describe would be somewhat complex to implement with the current way the knife tool is designed and does not necessarily make sense for the tool.

As @APEC said there is a great add-on which provides a tool with the exact functionality you are looking for, hopefully this helps.

I’m not sure why this shouldn’t be a Knife Tool feature, what I’m asking for is the exact same Knife Tool features but when there are only edges. When you are modeling and you have only edges and no faces many times you need Knife Tool features, it is nonsense that you have to go through extra steps creating faces just to be able to use the knife tool. Here’s a mockup of how it should work with just edges (wireframe view and disabled face view):

Nor do I think the existence of only edges combined with faces in parts of the mesh is a problem. The main problem that I can think of is in non-flat meshes as an example cube and the detection of the plane to work, but I suppose that would not be a problem to implement it either. And if the latter is not possible, simply keep not possible to create points “in the air” in empty spaces, it would still be useful Knife tool between edges (as the triangle example) .

Okay I understand. GSoC time is limited.

6 Likes

I agree with your points here. My initial reasoning for saying it does not necessarily make sense for the knife tool came from the idea that the knife tool “cuts” faces, whereas this is adding edges in empty space. However, I do agree that this would be a useful feature and would work well with the tool, the main problem is definitely the time constraint for my GSOC. This year it is only part time and so for now I will largely focus on what I have outlined in my proposal.

2 Likes

I hope that in the future (I am not talking about you or the GSoC project) the name of a tool or terminologies will not become an obstacle to improve the tool. For example not implementing what I am asking just because a “knife” is supposed to make “cuts” on things that can be seen, like faces.

I think even Knife tool should have the ability to create edges from scratch (even very useful with the Orientation Locking features that you are implementing), it would be an amazing all-in-one modeling tool. And if the name of the tool is not suitable, just change the name :slight_smile:

Again, this is generally speaking. It is not a criticism of you or the project.

1 Like

Would it be possible to add an option to make a cut with a line with infinite length?

2 Likes

Are you proposing to have a line of infinite length which passes through the mouse cursor? Something like so:

4 Likes

Would be nice to see it as modal key “i” :+1:

3 Likes

Yes, something similar I guess, a line that extends indefinitely beyond its start and end values. It is very useful and makes certain workflows quicker.

You can search for: MODO | Slice: Infinite in youtube to see what I mean.

I was expecting this kind of workflow for the bissect tool but that tool is pretty much unusable.

2 Likes

Cool! Everyone has to deal with meshes and there’s no efficient mesh editing without Knife.
Will explore and think throught the proposal, but among the things that felt like stuttering while modelling through the years are a small and a huge one.

The small one is not being able to restart the tool fast. At moment to finish the cut and start a new one you have to confirm it via enter, space etc. and then press ‘K’ again. Don’t get me wrong - it is not a hard thing to do at all :slight_smile: But if you’ve used “other software”, when doing lots of sequential cuts fast you can’t help but notice that there is a considerable penalty in terms of attention and focus drain by having to move your hand from one key to another. Ideally, pressing ‘K’ when cutting, the cut could be confirmed and a new one started. I know there is an ‘E’ key that is intended to aid this exact problem, however it is still not the same, as an additional action aside, you loose all your cuts if you cancel the action, which happens by accident when you intend to cancel the last cut, or you have to do that sometimes as due to second problem, the tool goes berserk.

The huge one is that knife tool doesn’t ignore geometry occluding the cut. Like you can see the edges you’d like to cut in wireframe, but can’t cut it as geometry in front gets random vertices too or tears the cut line. Preparations to cut in such situations sometimes take considerable effort.

1 Like

Yeah, I’ve def. fought the knife tool when trying to cut some more “hidden” faces or internal stuff, where in other software it might be fine, but blender doesn’t like it, will cut the wrong thing/can’t do it at all.

I’m guessing it’s raycasting to the exterior faces/part of the mesh and that’s why it can’t reach the interior/wireframe view of the edges/faces.

@mattli911 is exactly right. The knifetool functions by raycasting to find the nearest face of the object. This is not something that could be changed easily as it would affect large parts of the knife tool code and so is likely a project for the future.

In regards to your points on restarting the tool, the way it currently works is due to the way it is designed with blenders tool API (if one can call it that). I would ask why you feel using ‘E’ is not good enough, as in theory it works just the same albeit the cuts are not fully applied yet. However, you can still use the edges you have already drawn as edges for your next cut even when they are not applied.

1 Like

I think the complaint has to do with how the user can’t undo a single cut

1 Like

In that case, this functionality is part of my proposal and I will be working on it in a few weeks time.