March 20, 2011 at 4:44 pm 34 comments

I’ve implemented bevel!

It’s not completely perfect–the rules for recursion are too simple, and vert/edge customdata interpolation (e.g. vgroups, edge creases) doesn’t work correctly (though uvs and vertex colors do).  It also doesn’t always get normals right.  Still, I had no idea bevel was such an awesome tool or I would have coded it ages ago.  I ended up not using Levi’s code (the old bevel), which was written in a prior version of bmesh.  It’s not bad code, but it since it was coded for 2.4x its a bit overcomplicated.

In addition, I rigged my Sakura character,  and fixed bunches of little issues in the modifier stack (though a problem with mirror at high merge limits remains).  Thank God for Nathan Vaghdal, Campbell Barton, and rigify.  It makes rigging easy.



Entry filed under: Uncategorized.

Status Update I’m still alive

34 Comments Add your own

  • 1. Andrea  |  March 20, 2011 at 5:18 pm

    Bevel is much welcome, really!
    Thanks Joe!

  • 2. erik90mx  |  March 20, 2011 at 6:03 pm

    when will be the bmesh integration to blender 2.5X ?

    I hope soon because I can’t wait more jejeje

    some comments to the model:

    Sakura’s face seems a bit weird (fat) maybe because the neck
    the elbow articulation has an anormal deformation
    I like the vest!
    the hands seems very worked 😉
    jejeje I want to see her toes!

    Greetings and thank you for your work

  • 3. Kemeros  |  March 20, 2011 at 7:04 pm

    You rock my friend 😀

  • 4. Kjartan Tysdal  |  March 20, 2011 at 7:05 pm

    Bevel is a very underrated tool. This is awesome Joe, I love to read these bmesh updates.

  • 5. mrhankey  |  March 20, 2011 at 9:01 pm

    awesome progress 🙂

  • 6. daniel  |  March 20, 2011 at 10:47 pm

    good work, enjoy your time.

  • 7. macromanjr  |  March 21, 2011 at 12:14 am

    Awesomeness! Keep up the good work! And thank you!

  • 8. Vykelt  |  March 21, 2011 at 3:17 am

    That’s awesome joe and it really looks like bmesh is picking up some steam, which is great. Thanks so much for all your hard work.

  • 9. Amani  |  March 21, 2011 at 4:18 am

    Good work Joe. I do have problems with bmesh especially compilation on Win XP SP2, but because of time zone differences i find it difficult to communicate with you in the blendercoders IRC. Is there any other way someone can communicate with you e.g. email if its ok with you?

    • 10. joeedh  |  March 21, 2011 at 6:31 pm

      yeah I’ll send you an email

  • 11. Gustav  |  March 21, 2011 at 5:07 am

    Awsome, amazing to see the progress you’re making!

    Does the new bevel has a recursion feature that the levi’s code had? i.e using scroll wheel to control the number of edges to create a rounded edge. (I’m not asking for features just remember it was a really nice addition to the bevel tool :

  • 12. tcharlss  |  March 21, 2011 at 10:33 am

    Thanks for your work !
    Bevel is priceless for archiviz works.

    I’m eager to test this bevel, but when I’m trying to compile the bmesh branch on linux (ubuntu 10.10), I get this error :

    blender_bmesh/build/linux2/source/blender/makesrna/intern/rna_userdef_gen.c:12646: warning: function declaration isn’t a prototype
    scons: building terminated because of errors.

  • 13. Josh Wedlake  |  March 21, 2011 at 8:57 pm

    good work joe, watching the svn commits fly by, and other devs getting on board as well is very exciting!

  • 14. Luis Lara  |  March 22, 2011 at 2:04 am

    Sakura Model is kind or weird, but love the Bmesh advance.

    Hope you release it soon.


  • 15. sarxos  |  March 22, 2011 at 9:14 am

    wow, it’s year 2011 and you didn’t know bevel is such great tool. Maybe blender devs should more look at other 3d packages to what’s happening in the world of 3d now

  • 16. Nieghel  |  March 23, 2011 at 5:00 pm

    This will be awsome! Can’t wait to testdrive bmesh!
    I have an question. Does this bevel is fot text beveling too, or only for meshes? Because Blender’s text beveling tool is a shame. And nobody plans to update it.


  • 17. wehrdo  |  March 24, 2011 at 11:13 pm

    This is great!! So glad that bevel is implemented now. Will BMesh be in Blender 2.6 final?

  • 18. Sienio  |  March 27, 2011 at 2:13 pm

    Awesome 🙂
    Will be possible to add an option to bevel tool, to have more than 2 new edges created? I mean something like that: ?

    Cheers 🙂

  • 19. freak  |  March 27, 2011 at 10:23 pm

    where can i download the build from Fliciss, can someone paste the link to the build, thanks in advance

  • 20. Sneg  |  March 29, 2011 at 12:59 pm

    @wehrdo I don’t think so. GSOC projects will be post official release targets. 🙂 Just wait. I will be totally worth it.

  • 21. KAKACHI  |  April 1, 2011 at 7:35 pm

    joe check hexagon from daz 3d for reference on how those tools behave, is one of the best for modeling.

    you cant rotate, pan or zoon while etruding or activated any other tools.

  • 22. max puliero  |  April 4, 2011 at 3:34 pm

    so when we can see this amazing improovement in the trunk ?


  • 23. Kemeros  |  April 16, 2011 at 1:48 pm

    Working hard on your branch i see. Cool fixes too 🙂

  • 24. kostis  |  April 17, 2011 at 12:13 pm

    I second that! The bmesh builds are now much, much more stable and usable.
    Lately I’ve been going over some of Grant Warwick’s examples on inorganic modeling (a great learning resource if you ask me), that were simply not possible in Blender without bmesh (or possible with some extremely painstaking workarounds-not practical). I made some observations while working with r36183 64bit for linux (from graphicall, on ubuntu 10.10). Maybe they will help.
    -W->Subdivide doesn’t work at all
    -Extrusion of faces still needs some serious work. It creates random redundant edges, not part of the new or existing quads. In addition, extrusion of faces on the border of a mesh does not create side faces (quads), or creates triangles, not full quad faces (pretty much random behavior, couldn’t find a pattern)
    -Smoothing of objects doesn’t work.
    -Loop cutting doesn’t display properly in some cases (e.g not all the pink-new-edges are displayed although they are created afterwards), or it freezes (in some cases-random again) at the second stage when you have the option to slide the new edge loops. Not crashing, just not able to slide the loop, just click to create it.
    Also after loop cuts some faces lose visibility which is restored when exiting edit mode, or otherwise updating the viewport, e.g with a new loop cut.

    Keep up the good work! You’re getting really close!

  • 25. kostis  |  April 17, 2011 at 12:31 pm

    As for the examples I’m talking about above, for anyone who’s interested, google is your friend 🙂 They’re a series of six videos, moving through increasingly more complex examples, to showcase essential modeling techniques. They’re for 3DS Max, but they’re applicable in any 3D app with the corresponding toolset (bevel anyone?). It’s the techniques that matter, and thankfully they’re replicable with bmesh builds, though I still run into crashes quite often. I have to say though, modeling these in Blender is a breeze, especially if you assign the Loop Cut tool (by default Ctrl+R) to a single key. Or maybe it’s just me…

  • 26. max puliero  |  April 17, 2011 at 1:41 pm

    agree with kostis

    also I have some problem with bevel, the radius is not constant when you have a 3 axis intersection ;

  • 27. Le@ndro  |  May 2, 2011 at 12:48 am

    Hey! Thanks for the “Grant Warwick” insight! Very interesting resource.

    I also started doing the models and found some bugs either, but I’m not sure if they are related to bmesh itself or some configurations of the build (same as Kostis). Oh! And by the way, the edge-slide not working depends on the view! If you work on perspective, edge-slide works, but in orthographic it doesn’t. Same happens with the new knife tool (which is awesome! I know, it needs to be improved -for example it does not remove doubles always-, but it’s awesome!!!).

    If’ bug reports helps you Joe, tell me and I’ll send you an e-mail with a more comprehensive and explanatory list of the bugs I found and could repeat.

    Keep up with the stunning job man!


  • 28. Cessen  |  May 7, 2011 at 7:18 pm

    Just fyi, it’s “vegdahl”, not “vaghdal”. But it’s a weird name, I know. 😉

    Anyway, great work on bmesh! I’m really looking forward to being able to use it in trunk. I’ve been messing around with it a bit in the branch, and it’s so nice to be able to dissolve edges/verts, and to subdivide without introducing a horde of triangles. Also, connect verts (currently the ‘y’ key in the bmesh branch iirc) is such a life saver. A really basic tool, but so useful.

    This will definitely make modeling a much more pleasant and efficient process. Kudos, Joe!

  • 29. kostis  |  May 13, 2011 at 8:58 pm


    You were right about the knife tool, it only seems to work on perspective view, but this only a minor nuisance, since it works like a charm otherwise.

    In general, I feel like I can throw anything at BMesh right now and it will come through. I rarely even have builds crashing unexpectedly, which undoubtedly gives a sense of maturity. However, I’ve been testing BMesh builds since my last post and I have some notes. I used the 36657 build from graphicall (the Win32 one).

    a) W->Subdivide works, but not without some sort of update first, e.g deselect and select again, or switch between element selection modes (vertex, edge or polygon), just not right away when you create an object and enter edit mode.

    b) While the above is only a small thing (I’m sure that with the extra help of Dan Walters such issues will be resolved by the end of the summer) I still find the lack of edge loop or edge ring selection (Ctrl+E menu) confusing, because they sure save a lot of time and effort.

    c) In addition to that, I certainly look forward to some smart selection tools concerning loops, the way I’ve seen them in Modo. For example, if you select an edge, skip, say, 2 edges, and select the third edge on the same loop, then by pressing a “repeat” key or a “select pattern” key, every third edge on that loop will be added to the selection with every key stroke, until you end up at the first selected edge. So what you would prevously do manually, by going over the entire loop and selecting edges that share a pattern, can now be automated, making the selection process easy as playing! If I understand correctly, the main advantage of having BMesh over the old mesh system (other than, of course, n-gons) is that every element on a mesh now “knows” what it neighbours with, and what it’s “place” on the mesh is, so the information for this kind of selection tool is already there. Dan Walters will “polish existing mesh tools”, as mentioned in the GSOC announcement, so why not add this little new one? It would make a big difference for detailed meshes.
    Oh, one more thing; when you dissolve edges the vertices are left behind and I have to dissolve them as well. Is that a bug or a feature? 🙂

    That’s all for the moment. Keep up the good work!

  • 30. Le@ndro  |  May 16, 2011 at 1:52 pm

    a) Checked here, under Ubuntu 64 (r36183… ok, I need to update this) and Win7 64 (r36676).

    The only show-stopper I found, that crashes Blender, was when I tried to do a loop-cut (Ctrl+R) on a triangle or a polygon with more than 4 sides. But it was fixed for the new release (r36676)!!! And also the multi-cut knife works great!

    It would be so good being able to help by coding new tools and not just asking for them or testing.

    Thanks Joe for the stunning work!!!

  • 31. mz18  |  May 27, 2011 at 9:19 pm

    That’s great, but bools don’t works so fine.

  • 32. kostis  |  June 21, 2011 at 4:30 pm

    You’re right about booleans. It seems that when using the modifier all face and edge information is lost, and you’re left with just the vertices (that you have to connect all over again), and not a very clean bunch of them, since more seem to be generated, somewhat randomly, along the original edges that intersect. I’ve verified that with the latest win32 build from graphicall (14 June).
    What’s more, surface projection of vertices (as in Snap->Face->Closest-Project in edit mode, what used to be retopo paint in 2.49) also doesn’t work. Since these two are the only ways I can think of for cutting holes into a meshes (e.g by projecting a 8-vertices circle on a surface), I think that at least one of them should be available.

    Any updates on the bmesh status? The last post was on March and it would be nice to know if bmesh is going to make it in blender 2.6.

  • 33. Florian Meyer  |  June 24, 2011 at 10:20 am

    tested the new bevel function. it’s a nice start but unfortunately i have some crits:

  • 34. Stefan Garcia  |  September 13, 2011 at 6:45 am

    Please please work on developing a better bevel, with a focus on generating quads when beveling instead of tri’s, and making bevels editable in terms of width/percentage/recursion throughout the development of the model. I know it’s one of those easier said than done features, but it’s something that is constantly used in things like game asset creation, and a fundamental modeling tool that Blender is hopelessly outclassed on at the moment.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed



%d bloggers like this: