[Add-On] Arrange objects along a curve.

It is just an idea, come to my mind every time when someone code almost align+distribute addon :slight_smile:

Hey, looks great!
I am on Linux and the script seems to be using windows libraries/modules which I do not have. Am I missing something? I am a noob to scripts and blender so I apologize if I downloaded the wrong version. Is there a Linux version to the script?

@krakra, I just made a version for windows :(. But I believe that the basic functions of this script work on Linux. Does some bug appears in the Blender console?

Hullo mano, is it hard to implement start offset option, so object do not appear at the beginning of the curve ? Or center objects to curve.

Usually object start at the beginning of the curve and at the end of the curve is a lot of empty space.

@JuhaW, This is because the script rather leave leftover space than decrease the value of the minimum distance between the first and the last object.
If the curve is a closed loop, and the object is copied to the first point, the distance between it and the previous object would be less than the minimum distance.
However this should not occur for open-loop curves. But unfortunately the code still does not differentiate cycle curve closed of the open loop.
This then is something that should be corrected.
As soon as I finish the current work I will implement these changes. If you are in need of this change now, I can post a provisional version of the script. :wink:

Oh, hidden treasure. Lovely gem. Thank you.

I found this script today, and It was very usefull. I just tweaked it to my needs. I someone want it grab modified version from here
https://dl.dropboxusercontent.com/u/26878362/CurveArray/CurveArrange.gif

wow Thanks

does not work in version 2.75 ¬¬

vc poderia atualizar o codigo para o blender 2.75 e adcionar esses controles que o JoseConseco colocou?

Ok sorry, I renamed file and it seems dots are not allowed. Just rename script to:
arrange_on_curve_v6_1.py

DOne.
ten letters

I like your version @JoseConseco :slight_smile:
I made a few more changes (removed unnecessary lines and added units)
d=1442165762

I think it is possible to greatly increase the performance.

Performance is good imo. I wanted to improve usability a bit more, mainly I wanted change object selection from search box to operator/button that picks currently selected obj. The way it is now it is hard find object for duplication when I have 50 or more objects on scene. But I had not time for his yet, so for now I just copy name to search box input… but it is inconvenience

Thanks for the addon.

My suggestions for improving:

  • Make it as a modifier (then both curves/objects could be edited later)
  • usage is not intuitive: it should work like selecting the curve, then the object/group with the mouse.
    Or it could work like in 3ds Max: 2 buttons, one for the curve (Select curve), one for the item (Select Object/Group).

Thanks and all the best

Implemented new option “Use selected”

Indeed this way is much more intuitive
arrange_on_curve.zip

Helo mano-wii, that was fast!:)) I will try it tomorrow. Is it possible to make a Modifier from it (keeping stuff parametric?)

Is unfortunately not possible do it in the conventional way.

The Blender Python api allows integration for:

- [bpy.types.Panel](http://www.blender.org/api/blender_python_api_2_75_3/bpy.types.Panel.html#bpy.types.Panel)
- [bpy.types.Menu](http://www.blender.org/api/blender_python_api_2_75_3/bpy.types.Menu.html#bpy.types.Menu)
- [bpy.types.Operator](http://www.blender.org/api/blender_python_api_2_75_3/bpy.types.Operator.html#bpy.types.Operator)
- [bpy.types.PropertyGroup](http://www.blender.org/api/blender_python_api_2_75_3/bpy.types.PropertyGroup.html#bpy.types.PropertyGroup)
- [bpy.types.KeyingSet](http://www.blender.org/api/blender_python_api_2_75_3/bpy.types.KeyingSet.html#bpy.types.KeyingSet)
- [bpy.types.RenderEngine](http://www.blender.org/api/blender_python_api_2_75_3/bpy.types.RenderEngine.html#bpy.types.RenderEngine)

This is intentionally limited. Currently, for more advanced features such as mesh modifiers, object types, or shader nodes, C/C++ must be used.

Integration through Classes

Hello, thanks for the answer.

I tried the new version and it is just great, congrats! Thanks for making this!
May I ask do you plan to make new addons? I have some ideas for simple ones what could boost workflow.

Yes :), I have plans to make an addon that allows automatic walk cycle. It is in development.
But you can share your ideas. No problem