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

UPDATE! Much simplified with new topology nodes in version 3.4!
Curve-To-Mesh Even-Thickness(3.4)(1).blend (123.6 KB)

Old Version (3.0)

Curve-To-Mesh Even-Thickness (Blender 3.0).blend (115.1 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.

40 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.




3 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?

1 Like

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.

Hi there,

I am involved in addressing this issue in Blender for now in Geometry Nodes Curve-to-Mesh node only as of v3.5). This is still in development but closing in on a solution and thatā€™d be great if you could provide some feedback here: Blender Devtalk / Curve to Mesh - Even Thickness

Thanks in advance!

2 Likes