Curve deform on something already deformed

Hey all you wonderful helpful people out there,

I’ve got a railing on a bridge that follows the contour of the bridge. The railing was originally created with a curve deform and an array modifier. The railing has bounced around between, 3ds max, and Blender a few times and now I need to get the railing to follow a new curve. Is there a way use the curve modifier to modify an object that already has contours?

Imagine starting with a basic shape, extruding that shape along a curve, applying the curve modifier, then getting back to the state prior to applying the modifier so you could use the curve to adjust the original shape again.

Astound me with radical out-of-the-box thinking as usual.
Thanks in advance.

I’m getting two different pictures here:

  1. You originally used two curves, one as the path, one as the cross sectional bevel object.
  2. You created a 3-d railing segment (like a brick), added an array modifier and then used a curve modifier on that.

In both case you have converted it to a mesh and lost you original curves. You should always duplicate the curve before you apply.

Inside the box thinking:

For 1: I would
Select one cross sectional loop (alt right click)
shift d to duplicate
p (selection) to make it a separate object
Alt-c to convert the mesh to a curve
Do the same with an edge segment from the whole railing. (alt right click)
Use the cross sectional curve as a bevel object on the railing curve.

for 2:
select a vertex on one of the bricks
ctrl-L to select connected
shift d to dupe
p (Selection) now its a separate object
select an edge segment from the whole railing (alt right click)
shift d to dupe
p (Selection) now its a separate object
alt-c convert to curve
Add an array modifier to the brick
Add a curve modifier after the array using the curve you just made

You may need to reset the origins on the brick and the path for the array method, or you’ll get weird results.

The situation is slightly more complicated. I’ve actually got the railing fixed since I posted but this is something that keeps coming up.
There are three basic ways I’m familiar with for using curves to extrude or repeat shapes: One is using a bevel along a curve. This is great for continuous shapes. Another is using an array with a curve follow. This is what I used for the railing because it has slats that need to repeat in a distinct pattern along the curve. The last method is using a path constraint. The method is great for repeating objects along the curve without deforming the shape of the objects.

I work at a company that primarily uses 3ds max and we get a lot of models that are strictly in a mesh state with no modifiers. Often there will be a bridge or something that needs to keep it’s basic structure but the angle or curve of the road changes somewhere. If the bridge was still set to follow a curve, it would be easy to adjust the curve to match the new road or just pull a line from the new road, convert it to curve, join it to the curve that deforms the bridge and delete the old vertices in edit mode.

If I have a bridge with no modifiers and I want to make it follow a curve, basically the bridge has to be straight along the x axis when the curve modifier is added or the curve just distorts it in unpredictable ways. With a bridge that is straight along the x axis, the curve modifier will make the bridge deform nicely along the curve. If I apply the curve deform modifier, the bridge now takes this shape at the mesh level. If I added the same curve modifier again, the curve amplifies the existing deform and the bridge get’s all bent out of shape. It seems like there should be a way to add the curve modifier to the already deformed bridge without adding to the deform. Something like the “set offset” function in the “set parent” constraint.
It could be that what I’m trying to do could be done with the Mesh Deform modifier. I should look into that.

Thanks for your reply!