How to get sharp edges on boolean intersection line procedurally without applying modifier?

Intersection line are marked red. How to get sharp edges on it without the need to apply modifier and set in manually?

No, autosmooth angle it not the way to achieve this.

You can try this geometry node hack:

  1. Use geometry nods for the Boolean operation
  2. Compute the shortest distance from every edge of the resulting mesh to both the original mesh and the cutter
  3. If the minimum of both distances is larger than zero (with tolerance), the edge belongs to neither the original mesh, nor the cutter and is therefore part of the intersection curve
  4. split those edges

I have no idea whether this works in general.

procedural_sharp_hack.blend (105.7 KB)


Thanks, that works to certain degree.
But making this by dealing with geonodes… blender is so dumb at so many points :man_facepalming:

Adding an edge split modifier afterwards might work for you in this case, depending on what you want to do with it next.

But the pedant in me can’t help but point out that the topology will not be too good this way. Booleans really are a dirty shortcut most of the times, not the proper way to do things… But I guess it depends on you ultimate goal with the scene :slight_smile: I just couldn’t help it :smiley:

Edge split will not work, unfortunately. In this case edge split are literally the same as changing auto smooth angle on object to certain degree.

Topology are indeed will be messy, but its not about topology at all, it just more clear way to visualize things on viewport during prototyping stage.