Why does knife project not cut properly if target mesh is not subdivided?

I have a ring of 8 curve circles that are one object and I want to use them as a knife to cut into a target, a mesh cylinder:


However, when I knife project them onto the top of the cylinder, not all of them cut, even though they are one object:


I discovered the only way to get them all to cut was to subdivide the target surface before knife projecting – then they all cut:


Is this a bug, or do target meshes always need to be subdivided in order to be cut by a ring of circles like this? If targets do need to be subdivided, is there a logic of some kind behind it?

Thanks in advance!

The top face of that cylinder is a so-called n-gon, a polygon made of more than 4 vertices. What you’re trying to do here is cutting a series of n-gon holes into a n-gon face, which is mathematically and topology-wise highly problematic in Blender.

One of the reasons for that is that any hole in a n-gon needs at least two edges connecting the hole to the outer n-gon border - that’s what you’re seeing in your first screenshot. With many holes this gets pretty complicated pretty fast and is therefore better avoided.

But luckily there’s always more than one way to skin a cat in 3D. Could curves be a solution to this particular problem?

Hi Ikari,

The 8 circles of the knife were all curve circles and the target was a mesh cylinder. Is there some other way to use curves in this situation?

You could delete the inner triangles, convert circle to curve,
join everything into curves on the same axis, and then use the extrude
parameter under curve options.

You could also delete the inner triangles and do it in the edge mode.
Note, the small circles have to be on the same level than the large.
Join them both, in edge mode select all edges and use alt+F to fill.

Hope some of this helps!

edit: here’s a nice tut https://vimeo.com/68844586

Try this (the small settings screenshots are found under the curve settings ->
):



Nice thing about this solution is that everything stays parametric and can easily be changed later.

which build are u using
just did a test in 2.7 and it works fine


happy bl

If you’re using Blender 2.69 the Knife and so the Project Knife (that shares the same code) were buggy with missing cuts.
So make sure you’re trying in Blender 2.70 in which this knife/project knife bug was fixed

from release log 2.7
Knife

  • Now cut through (Shift-K) works better: it can create vertices in the middle of faces, the way non-cut-through already did
  • New option to Knife Project to cut through the mesh
  • happy bl

I am actually using 2.70…
? :expressionless:

Testing on my build from a few days ago, and i observe the same problem as you.
I wonder what’s different with Rickyblender.

@Ricky, can you try to load the attached blend with “Load UI” enabled, then click on the Project Knife button.
If for some reason it works for you, are you using 2.70 “stable” or a more recent version, which version then ?

Attachments

test54bsx.blend (427 KB)

I’m using 2.70.

I was asking Rickyblender :wink:

I use 2.7 installed win 64

your file does not work !

strange

try this file with my ui
don’t load ui

knif1.blend (506 KB)

salut

Actually, I’m using version 2.70, Hash: 19e627c for Mac 32bit.

I downloaded RickyBlender’s file, created a mesh circle with a fill type of Ngon, then used his 6 circles with knife project and here is what I got (but I should say I don’t know what RB meant by “don’t load UI” so that might have caused the problem):


Totally bizarre!

How about you Sanctuary?

sorry link is dead

by the way I got 2.7 RC2 !

salut

Flip big circle face normal and fill one little circle :slight_smile:
Blender v. yesterday VS2013 Win64bit.

Attachments


@Sanctuary. This is a bug or … whatever.
If you rotate 6 rings ever so slightly before, it cuts all of them. If it is constructed perfect it cuts just one. This happens on a lot of occasions if there is symmetry present and all it takes is to slightly shift things around.

Here is the picture again:


edit : didn’t noticed more replies, looks like it’s indeed very buggy when ngon are involved.

On your file it works, as you have 6 circles like on my file, the only difference is that your circles are on 2 lines , while on my file they’re on a circular pattern, that’s the only difference i see, but i can’t make any sense of why it works in a case and not on another.

So i reproduced both situations on the same 3D view (attached the blend for people wanting to test)

and project knife will indeed completely break on the circular pattern, while will cut the 6 circle on the aligned pattern

Does not make sense to me, but i guess the conclusion is as usual : do not trust ngon in Blender, better use regular quads/tris when using project knife

Attachments

knifeprojectbuggy15.blend (443 KB)