0
$\begingroup$

I have a curve that has an Object bevel applied to it. When I knife-project this curve onto a mesh, areas where the curve self-intersects--through overlap, or tight corners--faces do not end up selected in the underlying mesh. (Or, perhaps they are selected and then deselected again.)

Any way to work around this, other than manually selecting the faces after the knife?

enter image description here

$\endgroup$
2
  • $\begingroup$ Yeah, it's "working" but since you have parts of your cutter mesh overlapping it's gonna have issues selecting everything that you want. $\endgroup$
    – Jakemoyo
    Commented Aug 6 at 18:04
  • $\begingroup$ @Jakemoyo If you're confident that there is no workaround (in Blender 4.1), feel free to post that as an answer and I'll accept it. $\endgroup$
    – Phrogz
    Commented Aug 6 at 20:48

1 Answer 1

0
$\begingroup$

The closest I've come to making this automated is the following workaround. (I'll not be accepting this answer, as it requires roundtripping the curve through Adobe Illustrator.)

  1. Do not bevel the curve in Blender. Convert the curve to Grease Pencil, and then output that Grease Pencil as SVG.
  2. Open the SVG in Adobe Illustrator, stroke the path at the width you want (which is hard, because now you've switched from world units in Blender to arbitrary point units in Illustrator), and then use Object > Path > Outline Stroke to create a new vector object that has inside and outside curves.
    curve as stroked vector art
    curve as outlined vector
    • If the exact stroke width is important, the best workaround I've found is to take a close-up screenshot of the curve beveled in Blender to the exact desired width, bring that image into Illustrator, scale it so that its points match the points of the imported path, and then adjust the stroke to match the screenshot.
    • Optional: if your grease pencil has many points compared to your original curve, you may want to use Object > Path > Simplify... before outlining, to reduce the geometry.
  3. If there are multiple discrete paths that overlap each other, use the Pathfinder palette in Illustrator and use the Unite Shape Mode to remove any overlapping regions.
  4. Save this object as SVG from Illustrator, and import the SVG as Grease Pencil into Blender.
    Grease Pencil Curves in Blender
  5. Convert the Grease Pencil into a Bezier or Poly Curve. (Bezier curves have problems with inside/outside fill, but that's not relevant here.) Inside "faces" may not be filled, but that's OK.
  6. Now, you can knife project this new curve with non-overlapping polys and get the desired result!
    enter image description here
$\endgroup$
1
  • $\begingroup$ Per the answer to this question, zoom in/out of the viewport before applying Knife Project to get the desired precision. $\endgroup$
    – Phrogz
    Commented Aug 19 at 17:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .