Curve Modifier

I’m trying to make some blockwork wrap around a curve to make a blocked archway, but when I assing the curve my blocking rotates 90 degrees. Can someone please take a look at the attached blend file and let me know where I’m going wrong, or another method to achieve what I’m after?



opening.blend (481 KB)

First of all I would suggest rotating the object around the Y axis 90 degrees to correct rotation. I would also set the origins of both the curve and the object to reside in the same place, and finally I would use an array modifier along with a curve modifier to eliminate scaling problems, and that’s what I did in the following file.

  1. I rotated the object 90 degrees on the Y
  2. Reset the object origin to the curve origin at the world origin. This helps when trying to get things close to the curve.
  3. Deleted all but one section of the blocks and then applied and array modifier and a curve modifier to the blocks

There is a little tweaking needed, and this is just one way to do it, so play around with it a bit to see what you come up with.

arch sample.blend (472 KB)

Thanks for the info! I originally used an array modifier but applied it to see if there was any change in the final result. I understand that I need to rotate the block geometry 90deg around the Y axis to get the effect I’m looking for, but I’m still trying to figure out why Blender behaves this way. In my head, the way you have the blocks rotated, once you add the curve modifier you would end up with the orientation that I originally posted. It’s no big deal, I’m just curious.

After applying the curve deform modifier, I moved the location of your geometry (the bricks) to 0,0,0. You have it aligned with the curve itself, which seems intuitive but isn’t how the curve deformer works. Secondly, I rotated the bricks -90 degrees on the z axis. I think that’s what you were looking for – resulting blend attached.


opening_fix1.blend (521 KB)

Do you mind elaborating a little more on how the curve deformer works? My background is Inventor/Solidworks and it looks like in some cases I need to get out of that mindset when modeling in Blender.

The rotation issue is sometimes a mystery to many, but the origin issue for both objects should occupy the same space so that possible offset doesn’t happen. The curve is calculated from its original position and the object you need to modify should be calculated from the same position to conform to the shape so that you don’t get an offset. That’s the best I have.

Solidworks and the like, are NURBS modelers using IGES and can make some pretty good geometry on the surface, but the mesh underneath is a mess. You can see this by converting meshes and bringing them into a polygonal modeler like Blender and other 3D apps, where you’ll find the creation of your meshes requires a bit more precision. IGES models usually have quite a bit of holes since individual components are subdivided based on the requirements of the shape and are rarely joined, and it one of the reasons why you can select individual parts of that model (curves, surfaces, etc.) You select individual parts in a polygonal modeler in may ways from vertex, line, poly, groups and so on, some are joined and others are not, but all of this is academic and I’m rambling now.

In short modeling in Blender will be much different and you will need to change your mindset when approaching you projects.

Here’s your file with some changes that I believe will make this somewhat more intuitive.

As mentioned above the origins needed to be correctly placed. Also the arch object itself needed to be located at Z “0” like the circle object. Beyond that you have everything correct as to applied scale and rotation.

The final piece of the puzzle is the “twist” value. Blender allows you to twist the curve itself using control “t” try selecting all the points of the curve in edit mode and trying it.


opening_twist.blend (483 KB)

Thank you very much for the info everyone, this helps a ton!