Modelling a Pipe as Border for Minigolf Lanes

Hi,
I’ve created a bunch of lanes for a minigolf game, but I’m stuck at creating the border.

Using this picture as reference, you can see that the border should be a metal pipe right at the edge of the playable area, but it’s positioned fully on the inside and not crossing the edge of the lane.

I’ve managed to create a pipe exactly above the outer edge by duplicating the edges of the model, converting those into a curve and using a bevel depth of 1cm.

The problems I have are the following:

  1. When using beveled curves, the thickness around the corners is not constant (like described in this post: Uneven thickness when using a Bevel Object along a path). This can be solved by using a 2D curve, but I also need ramps like the one in the image above, which can not be done with a 2D curve. I don’t know how to fix this issue without merging many parts manually, which takes way too long for all of the lanes.
  2. The pipe is located directly above the edge, but it should be moved to the inside by 1cm. I could do this by creating vertical faces by extruding the edges first, using scale along normals to move it inside and then removing the extra edges. This is ok, but maybe there is a better way?

Thank you.

Try this addon: http://blenderaddonlist.blogspot.com/2015/01/addon-quick-pipe.html

Thank you, I tried it, but it does nothing special to the curve, so it has the same width problems in the corners.

You could add a circle (bezier curve) and set it as the shape/profile for the original curve. This should give you a better result. May need to tweak a couple of handles on the curve to get the bend perfect.
To move them inwards, activate the centre/ origin point option next to the usual scale mode selection, and scale the origin points together.

Using a bezier circle as Bevel Object creates the same result.
And if I understand your second suggestion correctly, this would case an uneven spacing to the edge of the lane, because of the round end and corners in some lanes. But moving inwards is luckily the smaller problem, as my current method seems to work in most cases.

I’m currently trying to extend the addon linked by @Safetyman to include an option for automatically scaling the path’s vertices according to the calculation in this post from the previously mentioned thread.

Ahh, I was just looking at the two parallel edges as separate objects.

This didn’t work. The points can only be scaled uniformly in all directions, but I need to keep the original scale on the orthogonal axis to both connected edges. It seems like using the 3D curve mode limits blender to only create circles for the mesh, but no ellipses, like it does in 2D mode. I’m going to try to convert the curve to a mesh first and scale the resulting edge loops using python, but then it’s not adjustable anymore.

I created a small addon (Match Pipe Width) to correct the result of the quick pipe addon. It converts the path to a mesh, but that’s ok for me.