Unexpected result adding the Array modifier I have created a 3d curve from a group of points. I have done this by reading point coordinates from a CSV file and created the curve within Blender using Python. The curve is available here.
I am wanting to use this curve as the target curve in the Array modifier. I am currently testing with Suzanne. But you can try almost any mesh (eg a cube).
The issue is the array result is not what I am expecting as each mesh is rotated weirdly(!) along the curve.
Everything is fine when I build up a curve in Blender. But for some reason, it's not working as expected when the curve is imported or created with python.
The following image shows Suzanne's orientation at the beginning of the curve. It is almost facing up after the first round in the helix.

and here is the end of the curve where Suzanne is almost upside down:

I have tried to tweak the Array modifier properties but that obviously is not the right solution.
I am looking for a way to have Suzanne's front normal aligned with the curve tangent vector all along the way. Pretty similar to how a vehicle sits on a road or a trolly on a roller coaster rail, always following while facing the same direction as the curve's front normal.
Go to your curve settings and change the Twist Method from Minimal to Z-Up.
To get the look in the image (one facing the back of the next) I had to rotate the Suzanne head (in edit mode) 90 degrees on the Z axis. I also added a subdivision surface modifier, simply because the smoothed models seemed easier to see in the screenshot.