Flexi Bezier Tool

Hi Khemadeva.

I have another feature request (hehe, I hope you don’t mind, sorry for adding more tasks on your todo list): Curve Groups.
Of course there are collections, but some users might find convenient to group curves the same way it’s possible to group vertices.

Similar requests:


You can find the “Vertex Group” code in this addon: https://github.com/xdanielc/select_panel/blob/master/select_panel.py

1 Like

Hi @xan2622

As you have already mentioned, grouping of curves can be done with the built-in collections.
And (please correct me if I’m mistaken) by following some naming convention for the group (like starting it with curve_), the feature you are looking for, can be achieved without having to add any new functionality.

I am not sure what ‘Weight’ would signify in an object group.

(The filter box in outliner is persistent, which means the filter strings get saved along with the blend file.)

Please keep the cool suggestions coming. Never mind adding tasks to my list :slight_smile:

1 Like

You got a point. :+1:


I don’t know if this is a normal behaviour but take a look at what happens when I changed the view to Ortho:
You can notice that the curve is created far away from the cursor…


And after creating several curves, I got this error :

Traceback (most recent call last):
File “C:\Users\Sebastien\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\blenderbezierutils.py”, line 4587, in modal
return self.subModal(context, event, evtCons)
File “C:\Users\Sebastien\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\blenderbezierutils.py”, line 5424, in subModal
return self.baseSubModal(context, event, snapProc)
File “C:\Users\Sebastien\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\blenderbezierutils.py”, line 5311, in baseSubModal
return self.drawObj.procDrawEvent(context, event, snapProc)
File “C:\Users\Sebastien\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\blenderbezierutils.py”, line 5081, in procDrawEvent
self.parent.confirm(context, event)
File “C:\Users\Sebastien\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\blenderbezierutils.py”, line 5294, in confirm
self.save(context, event, autoclose)
File “C:\Users\Sebastien\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\blenderbezierutils.py”, line 5618, in save
File “C:\Users\Sebastien\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\blenderbezierutils.py”, line 306, in alignToNormal
normals.append(geometry.normal(mw @ bpts[i].co for i in range(len(bpts))))
ValueError: Expected 3 or more vectors

location: :-1

addon version: 0.9.87
Blender: 2.81a

This error used to occur when user tried to create a curve with just two points (like a single line). This is fixed in the script commited day before yesterday. So, if you can, please try this condition, both with the current script you have got and the updated version to confirm if the fix works.

Could you let me know: how big the blend file was in terms of the number of objects & curves. Were you able to reproduce this 1) after deselecting and reselecting the draw tool and 2) after restarting Blender? And if you could, please also let me know the option selection in the toolbar.

PS: Did you change the default key map configuration?

I do confirm that it happens with the current script that I had yesterday.
Today, I downloaded the latest version of the script and I haven’t been able to reproduce the error. Seems fixed. :+1:

Is this normal that, Flexi Draw Tool doesn’t snap to the grid, in Ortho view ?
Well it does snap to the grid, but you can only know that after enabling a Top view.


It could be convenient to be able to snap to the grid intersections shown in ortho view.

The blend file contained only the default camera and default light, and a UVsphere.
The “far away snapping dot bug” is persistent when you close and restart Blender.
It disappears if you change the view (from Ortho to Top view, for example).
I didn’t change the Bezier Utilities default keymap.
The snapping dot randomly change its position on the viewport if you rotate the Ortho view.

Follow these steps:

On a default Blender scene (a camera, a default light).

  1. Create a simple curve with Flexi Draw Bezier in Ortho view (or with Top/Left/Right view, it doesn’t matter).
  2. Go to Flexi Edit Bezier
  3. Select the curve
  4. Rotate the Ortho view

At this point, you should notice that the Snapping dot is away from the cursor and randomly changes its position if you rotate the Ortho view.

With grid snap enabled, the drawing pointer does snap to the nearest grid intersection. However, the grid that’s displayed has z coordinate 0. So with a view other than the single plane orthographic views, the cursor may seem to snap to some poin other than grid, even though the point is at the intersection.

Here’s an example:

In this video, I have set the Origin to 3d cursor, and snap plane to xy. So the cursor always remains in the XY plane of the 3d cursor. First, I have set the cursor at z coordinate value of around 1, so the grid snapping in perspective view appears not to snap to the intersection. But if you look at the curve drawn from top and front views, you will see, all the points are on grid intersection of an xy plane that’s exactly at the height of the 3d cursor .

In the second case, I have set the 3d cursor to origin, so the z value is zero. Now, even in the perspective view, the pointer always snaps to the grid, because the grid z location and 3d cursor z location, both coincide in this case.

You might want to watch the snapping framework video to get to know all the snapping options.


Hi @Jakroval, @polynut, @wilBr and others

I have implemented a version of fillet in Bezier Toolkit (0.9.90). You may want to have a look.


Phenomenal addition, congrats!

1 Like

Fantastic @Khemadeva… you are bringing blender curves to other level.
thank you.


Fantastic work you did it again, this is a very very nice addition to an already amazing addon.

The blender community is blessed to have you!

WIll test this as soon as my arms get better but for the moment it’s not possible.

1 Like

That is really cool. Thanks

Can we specify the radius after the bevel.


The curve are with a bevel profile.

  1. I use your “Close Spline”

  2. Use the Close Spline with Straight Segment

  3. I was trying before I found out about your ‘Other Tools’ section. In edit Mode select both end points of
    the curve and set it to vector ‘V’ shortcut, and ‘F’ to close => the corner is straight. But I can’t do that in
    object mode, because first I have to select both end points.


I am not sure if I get the question, but if you use the Close Spline with Straight Segment tool, the tool makes the joining segment with vector handles. So you won’t need to change the handle type again.

Also, for the bevel tool to work, it is not necessary to have vector handles only. The beveling works so long as the handles are not aligned, since beveling a point that already has aligned handles does not make sense.

Get well soon :slight_smile:


Yes, I know it will close with a straight line; but when you have add a bevel to the curve, you will get the weird corner like curve no. 2

I have implemented keyboard entry for bevel radius in the latest version.

PS: If any of you encounter problems with this or any other functionality, do report them here or on Github.