Unequal size of bevel object along curve?

I’m modeling a railway for a staircase, so to start I’ve created a path for the rail itself, and a simple square (curve) to use as the bevel object (to be embellished later). The rail path consists of precise 90° and 45° angles. The problem is, when the rail path takes a right angle, the profile square gets smaller and tips a little, distorting the resultant object.


I’ve moved the center point of the profile object around… I’ve tried all combinations of spline type, twisting, path/deform settings, etc. on both curves… but I can’t seem to get it to give me orthogonal edges. If I make the railpath 2D, it works… but my rail needs to be a 3D spline. How can I fix this?

Edit: I just found this 4-year-old post calling out the same bug: https://blenderartists.org/forum/showthread.php?257000-3D-Bezier-Bevel

Is there any chance that someone has found a solution by now?

It only works with a 2d curve.
You can add hooks to the curve points to then move them into a 3d object

Did you try changing the radius on the corner point?

This one uses curve extrude, twisting Z up, and solidify modifier

Edit: ah crap. Old thread. I blame ldo on this one

Attachments

untitled.blend (87.2 KB)