Bézier Mesh Shaper v0.9.0

@bassig @Kouza_Nagi Hi, I have tested it with the March 13th build and now with the March 21st build, and I couldn’t find any errors.


Could you guys please state what OS and build versions you’re using? (you can see that in the splash screen, it’s on the top menu -> Help -> Splash Screen).

I’m now seeing that it’ll be safer, the next time a build changes in a way that breaks addons, to code the script in a flexible way that works with both the old and new ways, at least while 2.80 is in Beta.

Hi @IPv6, what do you mean by imaginary face?

I mean something like this. Green is the curve. Red - imaginary face. center is on curve, normal depends on curve tangent. Yellow - vertexes in falloff range. When snapping occur - they should move into direction of snapping (proportionally) - projecting position on corresponding imaginary face. dotted yellow - vertex from other side of mesh

may be this is not good suggestion. But snapping still need an option (not always!) to smooth surrounding mesh according to snapping. to avoid such distorted (after snapping) edges. sometimes such edges is exactly what is needed… sometimes not

I’m on Win10.
Just tried the March 21 build. It seems that this issue has nothing to do with the Blender version but with the keymap. It works just fine with Blender’s default keymap but as soon as I switch to my own and try to use the addon I get this error. Both use Left Click select so I have no idea why there’s a problem…

humm… same here when I chose the blender defaut keymap it work…
I worked very hard on it,
change my custom keymap is not an option …
regarding error message where I need investigate ?

I restored some keymap (by mistake) 3D View–>3D View (Global). and it work.
I not lose all my Keymap…

@Kouza_Nagi @bassig the image and details about how you’re using the keymap were very useful, thank you. Fix submitted.

Thank you for the image and description, I’ll see if it can be done (as well as @JLBohm’s proportional distribution idea).

@wilBr getting back to your suggestion: after some study I thought of this, see if this wouldn’t be a better workflow:

  • Create a corner with a Bézier curve in Edit mode, then use the Fillet action of the Bezier CAD tools add-on to create an arc.
  • Set a preview resolution on the resulting curve.
  • In Object mode, choose Object -> Convert To -> Mesh from Curve, to convert that curve to a mesh. From then on you can extrude it etc.

This should give you more freedom than deforming a preexisting mesh.


Nice, it works with my custom keymap now. I’ve come across another issue though: when trying to remap Increase/Decrease Falloff Size in the addon settings to Shift-Mousewheel, this happened:


The warning appeared and Decrease Falloff Size was suddenly gone from the list once I remapped Increase.

1 Like

Oh… Nice one!

Reminds me of a tool I used in Softimage|3D long time ago. Almost the same setup and workflow. :slight_smile:

1 Like

@bassig Thanks for the report. I’m on a different computer right now with only 2.79, but it seems to work in here. I can look at 2.80 tomorrow.
- Can you map the wheel-up/wheel-down to any of the other tools (like Mesh Extrude, Bevel etc.), does it give any warnings?
- Is there anything useful in the system console (top menu -> Window -> System Console)? Just remember to use that same menu to hide the console, 'cause if you try to close the window it will close Blender.

Thanks. I can’t say I know that one (I never used Softimage, but I heard great things about it).
A foreign tool that did inspire me was the Adjust Weights from Modo, it became my Adjust Vertex Weights, it’s just genious.

Thanks! I’ll try changing the key myself. I can’t replicate the error on the current file, so I’ll try what you said if it happens again.

1 Like

Wheel up/down works fine with everything else.
Whenever I hover over any menu item in the Bezier Mesh Shaper addon settings, the console keeps spamming this:

1 Like

Looks like that wm.keyitem_restore operator changed namespace to preferences.keyitem_restore. Thanks for looking the information.

Besides that fix, I also added a couple of new actions to the Snap To Curve menu: instead of distributing things evenly, they use the original distance from one vertex to the next (AKA “chordal length”):


Nice, that works like a charm. :slight_smile:
Another thing that comes to mind: could we be allowed to remap the cancel button too? ESC instead of RMB (or simply RMB-click instead of RMB-press) would be nice for me since I’ve set RMB-Tweak to rotate viewport.

1 Like

You are the BE(A)ST!

1 Like

I noticed a bug - if I click snap smooth(proportional) it works.
But if I first unbound a curve, modify it, rebound it and than click snap smooth (proportional), is says “force primary vertices must be on” even though it is already on.


1 Like

Hi @bassig, you can do a text replacement to change that, if that’s okay.
Open the script file in a text editor like Notepad, press Ctrl + H to bring the text replacement dialog, then copy these lines as they are.
The search text:
self.rightMouseCancel = 'RIGHTMOUSE'
The replacement is:
self.rightMouseCancel = ''
After you save the script and install it, this will ignore the cancelling from the right-button presses. If you want, I can send you a copy with this change.
If you find that this change works well then we can put it as a new setting =D

Hi @JLBohm, thanks bringing this up. It’s kind of a paradox, I’ll explain.
After you unbind the curve --so you’re able to move it by itself, without affecting the mesh-- the primary vertices are forgotten, like they don’t exist anymore. This is on purpose.

So you have a mesh:

You select a sequence of vertices:
(Or you select separate vertices and the shortest path between them is selected for you automatically at startup, giving the same result as above).

A curve is created and fit to that selection, like this:

These selected vertices are what’s being called “primary vertices”, their relation to the curve is stronger than that of any other vertices. If anything has to be deformed by the curve, it’s those.

You unbind the curve and move it to some other place:

When you rebind the curve at that new place the old primary vertices won’t have that importance, so they’re forgotten.

Right now, snapping works on primary vertices only. Since they don’t exist anymore, finding new ones would be difficult because we’d have to do it based on proximity to the curve rather than you selecting exactly what you want, it wouldn’t have clean results (especially in high-poly meshes, lots of vertices would have similar proximities, instead of a clean sequence).

So, to be able to unbind and move the curve around and then snap other vertices to it, I think the workflow needed for that would be something like this:

  1. Start the tool as usual, a curve gets generated and fit to selection.
  2. You use the “Extract Curve” operation to get a copy of it.
  3. Cancel the tool.
  4. Modify the curve copy as you like, move it around etc.
  5. Enter the mesh edit mode, select some new vertices.
  6. With the mesh selected and the curve copy selected, start the tool. This would bind the selected vertices to this preexisting curve instead of creating a new curve (this would be a new feature, a new initialization way).

At least that’s what I can think of.

Edit: how are you usually using the snapping? Maybe there’s some other way to approach this.

Hi, thanks for this amazing support. What you are suggesting sounds good, I usually use span smooth proportional.

1 Like

@RNavega: Super addon, but i have noticed one thing, when it’s got an error you have to restart addon in preferences and it adds itself into menu again. It would be nice to have a way for avoid this. Many thanks!


Hi @TitusLVR, I’ll add a cleanup step when reticking the add-on checkbox.
But I’m curious about the error you mentioned? It’s supposed to be error-free.

Hi @TitusLVR, I’ll add a cleanup step when reticking the add-on checkbox.
But I’m curious about the error you mentioned? It’s supposed to be error-free.

I think it is outliner/viewlayer/collection things, so when you have several collections and some of them are hidden but still count as active in outliner but mesh is in “visible” collection and when i start BMS it creates curve inside hidden collection not inside objects collection and it’s give an error.
PS: IMO you have to create curve inside collection where is an active object.
Many thanks! Cool Addon!

1 Like