Tools for curves

Hi.
Yes, 2 curves, of course.
Lofting Beziers just gives no result other than transforming the second curve into verts, and by trying to loft NURBS curves I get this error right after pressing the button:

I’m on Windows XP SP3 x86

OK, I understand now. I have to use Bezier curves, but I guess I’m not doing it right. Hmm

You’re probably doing it right, but you’re using the wrong code.
Please download and install the addon attached to my first post today.
(curveTools2-20131211.zip; see a few posts above).

NURBS curves are still not supported, unfortunately…

I am using the last one.
The one you mentioned.

And you’re still getting the aforementioned error in curve_tools.py?
Then you will probably need to uninstall/remove the old curveTools addon, first.
The latest version doesn’t contain a file named curve_tools.py.

Wow lofting! Very nice!
I think it is a general limitation that it is difficult to make “driven” objects or save object states.
It is possible. Some addons do it but it is not easy and I believe it involves saving json objects as custom attributes to the object.
A dedicated approach to making custom object types could be awesome…

Interesting update!

Oops, my bad.
It turns out I had the old file still there.
Thank you.

Could you tell me where the Birail button is in the latest version?

curveTools2-20131212.zip (15.1 KB)

Update: added the ‘sweep’ surface generating operator. This lets you sweep the active curve along the other curve (rail). Here’s an example curve set:


Resulting SweptSurface:


Well, while I was at it… :slight_smile:

@vika: birail is not supported yet.
it’s on the todo-list, somewhere, though…

beautiful… I use 3dsmax “Sweep modifier” all the day… this is really good!!! :slight_smile:

curveTools2-20131216.zip (17.7 KB)

Minor maintenance update: the IntProperty that displays the number of selected objects now updates properly.

@guy lateur: thanks for bringing some long lost love to the curves in blender!
These tools are just essential for working with freeform curved surfaces.
Have you worked on similar tools/curves elsewhere or are you just getting into it now?

My pleasure! Well, sometimes… :slight_smile:

I’ve always enjoyed playing with curves. Maybe that’s just because I can’t really model properly. I remember having a go at some curve plugins back in the old Maya 4 days. That doesn’t feel like an advantage, though, because it’s simply ages ago (10+ years, I guess). So let’s just say I’m getting back into it now…

hi guy lateur,

thanks for working on this script.for birail sweep if selection order is an issue,we can select the rail curves and type in the name of profile(section) curve.about usage, first time birail worked well,next time i had crash,i am attaching crash text.

# Blender 2.68 (sub 0), Revision: 58537
bpy.ops.view3d.layers(nr=2, extend=False, toggle=True)  # Operator
bpy.ops.curve.primitive_bezier_curve_add(view_align=False, enter_editmode=True, location=(0, 0, 0), rotation=(0, 0, 0), layers=(False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.duplicate_move(OBJECT_OT_duplicate={"linked":False, "mode":'TRANSLATION'}, TRANSFORM_OT_translate={"value":(0, 0, 0), "constraint_axis":(False, False, False), "constraint_orientation":'GLOBAL', "mirror":False, "proportional":'DISABLED', "proportional_edit_falloff":'SMOOTH', "proportional_size":1, "snap":False, "snap_target":'CLOSEST', "snap_point":(0, 0, 0), "snap_align":False, "snap_normal":(0, 0, 0), "texture_space":False, "release_confirm":False})  # Operator
bpy.ops.object.duplicate_move(OBJECT_OT_duplicate={"linked":False, "mode":'TRANSLATION'}, TRANSFORM_OT_translate={"value":(0, 0, 0), "constraint_axis":(False, False, False), "constraint_orientation":'GLOBAL', "mirror":False, "proportional":'DISABLED', "proportional_edit_falloff":'SMOOTH', "proportional_size":1, "snap":False, "snap_target":'CLOSEST', "snap_point":(0, 0, 0), "snap_align":False, "snap_normal":(0, 0, 0), "texture_space":False, "release_confirm":False})  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.context.object.data.show_handles = False  # Property
 bpy.context.object.data.show_normal_face = False  # Property

Hi rusted,

I think the selection order should be working by now.

I don’t see any error messages in your text. Does it say anything in the system console? Maybe you could upload a .blend file that exhibits this behaviour?

i tried again.i didn’t have any crash.might be something to do with my system.(dragging mouse causes this?)thanks.

Ok exatly how to you install this zip. Do you just unzip the files into the blender installation addon folder? Or do you open up the user preferences panel and put use the install from file button. It makes a difference.

Hi SHABA1,

I’m not sure if the ‘install-from-file’ approach works; I’ve never tried it.

This should work:

  1. Unzip the file into your local/user blender addon folder.
    In my case this is: C:\Users\Guy Lateur\AppData\Roaming\Blender Foundation\Blender\2.68\scripts\addons.
    You should then have a folder …\Roaming\Blender Foundation\Blender\2.68\scripts\addons\curveTools2.
  2. Start blender, go to user preferences, addons, add curve, and activate the curve tools 2 addon.

Good luck!

Hi Guy,

Thanks for your work on these scripts! Though I get some console messages:
“fake_module: addon missing ‘bl_info’ gives bad performance!”

Thanks,
John

Hi vapsman88,

I’m not sure where that message comes from. What version of blender are you using? I’m using 2.68a on win7pro, and I don’t get this message. Also, there definitely is a ‘bl_info’ defined in the plugin, as you can see when you check init.py. Does the console mention any filenames?

Also, I wonder, would that really impact performance badly? Except, perhaps, when loading the plugin? Then again, maybe it would…

g