Flexi Bezier Tool

Which things from my video do you find unnecessary?

1 Like

In modo, the user can immediately create a primitive pipe (immediately see the result). You showed a way in which you need 1) create a primitive - a circle 2) create a curve 3) assign a circle 4) … more … more …

Then the answer is no Blender doesn’t have a pipe primitive. However, it’s not difficult to create that once and then use an asset manager to bring a one in or just append it from a blend when you need one.

Just to add to what @obsurveyor said…
You need to do this 1, 2, 3, 4 more… and more… only once. After you create one pipe, then you can select it in the Copy Object Properties. All the curves that you create subsequently will have the same properties.

And my intention behind writing the add-on is not to import or replicate some specific functionality of another tool, but to make it generally easier (as far as I can do that) to use Curves in Blender.

3 Likes

Here is a feature request that I found on RightClickSelect (I think it’s related to what Dheim (and others) want):

5 Likes

An idea about snapping on top of the curves.

snapcurve

As of working with Blender’s curves. I can fake this curve snapping. I create a copy curve, with very high detail so is dense. Then I convert to mesh to get pure vertices and then enable vertex snap. Is a little annoying to manage it manually but it works.

1 Like

Amazing tool.

Super useful.

edit: NVM

I somehow messed up the shortcut keys. Everything works great.

1 Like

Is there way to snap to select object’s edge?
This is a such killer add-on! :+1: :+1: :+1:

2 Likes

Flexi Editor is still able to select curves that are marked “disable selection” in Outliner. Workaround is hide the curves via Outliner, but it’s not ideal. I hope you’ll fix it. Thanks. It would be great if Flexi Editor shows selection in Outliner too.

image

BTW, is it possible to show all control points of all curves in Object mode without selecting them with Flexi Editor?

1 Like

@Ector3, @oct
I have implemented snap to edge in the latest version (default hot key: ALT).

Please note: the snapping is designed to work with selected objects that have face count less than 1000 (this will be configurable soon). Currently it’s possible to snap to edge from within the object and not from outside.

This is fixed now.

Flexi Edit does not select the curve object by default as the tool works with splines and not curve objects. You can select the object in Flexi Edit mode by pressing A (select menu) and selecting ‘Curve Object’ option.

Could you please elaborate? Do you need a separate button on the panel, clicking which all the Bezier points and handles of all the curves within the scene will be visible?

8 Likes

First, you rock! Thanks for fixing it so quick. This addon is a game changer.

I’m using this addon along with Curves to Mesh addon (a match made in Blender heaven) to create complex surface. Be able see the control points of the curves without selecting them would help better understand where to add additional curves.

Thanks for adding snap to edge, it’s a life saver. Currently the Alt key can snap to control points of the curves. Would it be possible to snap to splines as well?

When creating a new curve that meets the ends of two other curves. Flexi Draw joins all three curves into one automatically. In addition to using Split At Selected Points, I’ve found undo once will separate the curves as well. Is there an option keep them from joining into one end of new curve creation?

3 Likes

Error message

File “C:\Users\Oct\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\blenderbezierutils.py”, line 5843, in subModal
return self.baseSubModal(context, event, snapProc)
File “C:\Users\Oct\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\blenderbezierutils.py”, line 5719, in baseSubModal
return self.drawObj.procDrawEvent(context, event, snapProc)
File “C:\Users\Oct\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\blenderbezierutils.py”, line 5589, in procDrawEvent
self.parent.redrawBezier(rmInfo, hdlPtIdxs = hdlPtIdxs)
File “C:\Users\Oct\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\blenderbezierutils.py”, line 5740, in redrawBezier
self.refreshMarkerPos(rmInfo)
File “C:\Users\Oct\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\blenderbezierutils.py”, line 5724, in refreshMarkerPos
markerLoc = self.snapper.get3dLocSnap(rmInfo)
File “C:\Users\Oct\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\blenderbezierutils.py”, line 4360, in get3dLocSnap
origType, self.freezeOrient, axisScale, refLineOrig, selCo)
File “C:\Users\Oct\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\blenderbezierutils.py”, line 4316, in getTMInfoAndOrig
orig = self.getCurrOrig(rmInfo, obj, origType, refLineOrig, selCo)
File “C:\Users\Oct\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\blenderbezierutils.py”, line 4122, in getCurrOrig
if(faceIdx >= 0):
TypeError: ‘>=’ not supported between instances of ‘NoneType’ and ‘int’

location: :-1

How this occurs

  1. first create a cube and select it
  2. Activate Flexi Draw
  3. Set Origin to draw to Selected Object Face
    image

I was trying to play with snap to edge when the error occurred.

Snap to vertex, face and edge works without needing to set origin to draw to Selected Object. Snapping works in Global Origin as well.
image

1 Like

I have added a menu option to select all splines. I guess, that’ll serve your purpose. (it keeps the existing selections intact)
allsplines

It’s possible, but it will take a little time. I will let you know when this feature is available.

Please see my earlier response.

Thanks for reporting this one. It’s fixed now.

Yes, it’s designed this way. Snap Origin is basically used as the reference point. relative to which the movements happen. (It’s also used as origin for snapping to angle increment.) So for example if you select Snap Origin as Reference Line Point in Flexi Draw and enter 2 via keyboard, then the new point will be 2 units away from the initial segment point on X-axis (the axes are decided by the selection is Snap Orientation). If you set the Origin as Selected Object Face then the new point will be at 2 horizontal units from the center of the face under the mouse pointer.
Please see this video for more details.

6 Likes

Further to the Select All Splines options mentioned above, you may also want to check out the Snap Indicator option.

2 Likes

No hurry, I’m just throwing ideas out there. Here is another one, show spline resolution in viewport like the Object properties >Viewport Display > Name. This would help building complex surface without keeping track of which splines have what resolution.

Thanks again for creating this addon. IMO, this definitely should be added to Blender Foundation for future official release.

3 Likes

@Khemadeva can you please add the option for bevel and taper in top bar. this thing gonna change how to interact with curves in blender. if we get those option on top bar its like mini polybrush(software curve http://polybrush.org/ ). and copy object properties doesn’t copy taper object.

1 Like

I started testing the tool as well and trying to figure out techniques and workflows. I hope my test cases could help to improve the tool.

As for example in this case I want to find a way to cut these curves. At the video it looks like I am suggesting a “knife tool”, though not essentially a knife tool, most importantly a tool to cut into place, a point and cut tool.

There might be a way to cut the curve as of going into “Edit Mode” but most importantly I would prefer a way to be done on the fly. If you know something let me know.

P.S. Anyone experiencing problems with the website? Content is not showing. Uploading an image just in case the video can’t play.
2020-03-12 19_14_34-ScreenToGif - Editor

3 Likes

Do you mean the bevel and taper object options available in Object Data Properties? Wouldn’t this be a duplication? I guess, it’s better to have only Flexi Tool specific options in the custom toolbar. This is especially important because there is limited space on the toolbar and the custom options are likely to increase in future (for example it would be useful to move a few of the add-on properties here).

Thanks for reporting this. The issue is fixed in the latest version.

1 Like

I am right now working on intersect curve feature and one of the options in it is going to be Split Curves at Intersection Points. I hope that will serve the requirement you have mentioned.

6 Likes

I mean like a brush. Select bevel and taper type then draw. Did you watched the ploybrush video? And thanks for fix.