Curve-To-Mesh with Even-Thickness Node-Group (Geometry Nodes, Blender 3.0)

UPDATE! Curve now even evener!
Curve-To-Mesh Even-Thickness (Blender 3.0).blend (115.1 KB)

Old Version

Curve-To-Mesh Even-Thickness (Blender 3.0).blend (115.6 KB)

Use like normal Curve-To-Mesh:

Without Even-Thickness:
image

With Even-Thickness :
image

Took a lot of work, so hope someone finds it useful.

26 Likes

wonderful… thanks very much.

I did a python code for even-thickness extrude some time ago, I’lll try convert it to geo nodes too.




2 Likes

Thanks

Yeah, you’ll see that it works really well for corners over 90deg, but when they go under 90deg they tend to under-scale. Yours’s also appears to do some type of z-up correction which is something I do separately as it isn’t always desired:
no z-up correction:
image
z-up correction:
image
Using separate node-group:

Good luck.

2 Likes

yes… has z-up correction… I have a ‘bank’ option to turn on/off z-up.

I’m using a custom version of the ‘parallel transport frame’ algorithm to place correct profile position, rotation and shear/scale and using extrude (bmesh.ops.bridge_loops).

Please get them to bake your fix into the actual system. The current behaviour is useless for everything I’ve ever tried to use it for.

Thanks. I see you do lots of arch-vis so may find this node-group of use too.
Know any devs?

Hey, I’ve added an update (posted right at the top) to the scale factor and I think I’ve nailed it… would be interested to see another comparison (please use the Z-Up-Curve-Tilt group when comparing tho.).

Blender File:

C2M-ET-wilbr-compare.blend (170.7 KB)

1 Like

Oh no, that looks like something went horribly wrong.

Will investigate.

1 Like

@zeroskilz
If you want my script for try convert it in geonode, I send to you… script not finished, raw script… but works.

I dont have time to finish and try convert it in geonodes now.

1 Like

Thanks. But no need… no way I can do that in 3.0… I believe I would need the accumulator to implement the travelling-frame algorithm.

Are you using 3.1? Having weird experience were noodles are randomly disconnected in the nodegroups when I open it in 3.0. Hope others aren’t experiencing that. :cold_sweat:

Z-Up should look more like this:
Top
image
Side:
image

I expected weird twists on the z-axis:
image
… the travelling-frame algorithm tilts “minimally” so if we were to use a circularly asymmetrical profile curve, yours’s isn’t guaranteed to always point up, whereas mine, being simpler, would.

I will provide 3.1 versions of the NodeGroups also in case others are experiencing the weird noodle-disconnect issue. :face_exhaling:

Thanks for your help, much appreciated :+1:

1 Like

yes… using 3.1

:+1:

Comparison (Blender 3.0).blend (161.7 KB)

So, had to append all the objects to new file to sort out 3.1 weirdness but hopefully this serves as a good demonstrator of the various pros/cons of the various methods (And a good place to get all the node-groups):

It also shows the parity between z-up twist method and the z-up-curve-tilt node-group.

Also shows that the Z-Up-Curve-To-Mesh absolutely hates going “back and up” almost more than it hates just going up. Only the tiny flattish section at the top plays nicely, which re-enforces its limited use-case… it works better for these types of curves:
image

Opens OK for me in 3.1 - hope you don’t have any issues.

Thanks.

2 Likes

Am I doing it wrong?

image

Shall I slap myself with a fish or with a brick, my lord?

Donno, I now doubt the wisdom of making the thing that the node-group does an option… its probably a design anti-pattern on my part and I’ll try learn from your experience :man_shrugging:

If you find this nodegroup useful you may like to support my bombed curve-sweeper node-group which also does things like UVs and points as profile.

Thanks for your feedback.

1 Like

cool stuff. any plans on making a replacement for the screw modifier?

Check out Higgsas’s groups. Lots of the modifiers (and more) implemented there.

Good luck.