z-Curve-Sweeper for Blender 3.0+ (Curve-to-Mesh with superpowers)

Hi,

I have one problem for a project I am working on.
I have some vector traced drawings as SVG/DXF files which I want to use in Blender as curves.
They mostly look fine but most sharp corners are kind of rounded.

Is there a way to make the corners really sharp? Like 90° angles?

I have tried the Disconnect Cyclic Curves node which kind of helps but it’s still not perfect.
(I can of course adjust the points manually but I need to do it for a few hundred drawings)

Any ideas?

Below are some images for reference.

Original

After using Disconnect Cyclic Curves

Sharp corner that I need

Thanks!

Hi.

I’m not sure if there is a simple solution… You may need to play with the export settings that produce the SVG/DXF files in the first place.

Can I see what these curves look like in Edit Mode? It may give me some ideas…

It may be possible that if they all have the same corner radius then you may be able to disconnect the curves, trim them and then extend the curves with this kind of method by some constant amount which matches the corner radius, convert to mesh, merge, and convert back to curves. :man_shrugging:

Thanks for the reply!

I already tried to play around with the export settings but this seems to be the “best” result I could get to have mostly straight lines. Otherwise I would get some weird bumps on the straight lines.

Regarding the other method you mentioned.
How can I detect the corner radius?

Here are the curves in edit mode for bezier and poly.

This may or may not work for you:

unFillet.blend (89.6 KB)

I call it Un-Fillet.

It deletes non-end-point line segments that are less than double some radius, then extends the lines to that radius value and does a merge… The assumption is that the smoothing radius is constant so you’ll have to try various radius and merge-distance values until you find something that works for you.

Can be used as an asset node-group.

Hopefully it helps.

2 Likes

Thanks! Seems to work in most cases.

One small issue though is that when it does the “merge” the points sometimes end up at a slight angle.

Is there a way to straighten them further?

Try to add a Delete Points just before the first curve-to-mesh…

image

I was testing with Bezier Fillet node but based on your screen-shots this may help clear out the mid-points and make the joins cleaner - you may have to up the radius setting.

Good luck.

Thanks again! Seems to work.

I have one additional question.

I noticed when it does the “extension” of the endpoints it sometimes does not extrude far enough ( or too far)

Is there a way to extrude “until” it meets another line and creates an intersection? Or is that too advanced for geonodes?