GSoC 2018 - Bevel Improvements


Yes, suggestions like this also were made earlier in this thread. I can see it is a very popular desire, and will likely be the next thing I add to bevel (after fixing a current bug report).


Hello Howard and Rohan

Alberto already made request regarding Profiles and it has been slightly discussed already. Here’s a visual demonstration:

One of the main benefits is ability to use it on flat surfaces (not just corners). This would make it extremely efficient for creating all sorts of hard surface panel cuts as well as profiles for buildings in arch work, one could create seams for cloth/furniture stitches etc. It opens door to many new workflows!

Asymmetry should be skipped(at least for time being) due to complexities as you explained above. Ideal goal would be a Curve profile based method as in Houdini ( Y values of 0.5 keep bevel displacement in center, 0.5-1 displace upwards based on surface normal, <0.5 downwards. X value is symmercial distance from center ).
If this is too time consuming then requesting for simplest of implementation where existing superellipse method is used with ability to execute it on FLAT surface (raising or lowering it based on profile value or some slider ). Example:

Thank you for reading, considering and all the excellent work already done!


Yes, understood. Bevel profiles has also been on my todo list for a long time. It has seemed hard (especially asymmetry) when dealing with cases that go beyond simple chains of edges. As you say, ignoring asymmetry problems may make this more approachable (but less useful).


Hey @Howard_Trickey, I’m not sure if @RohanRathi is still available for making fixes to his Bevel Improvements but I’ve found a bug in Bevel Modifier.

With Segments = 1 and Profile < 1 there is always one face which is not hardened.


Steps to reproduce:

  1. Add Cube.
  2. Turn on AutoSmooth.
  3. Add Bevel modifier (segments 1, profile 0.5 or default).
  4. Set Normal Mode to Face Area or Vertex avarege. Normal Strength = 1.

Bottom face should be still smooth.

Fix shading mode seems to handle this case but it’s introducing bug with corners mentioned before.

Also there is even stranger shading with 2 Segments and Profile 0.

When you modify Cube adding some extrudes, insets, booleans etc., bad shaded face is wandering around mesh. Sometimes it’s fully visible, and sometimes it’s hidden in some small beveled profile. But it’s always there.

Weighted Normal modifier is working fine with it.


Thanks for letting me know about this. I will work on fixing it myself.



there are a few things that you can make some improvement on the feature of Beveling.

here’s a few pictures:

Left Picture:
The model is done with 2 cylinders and using the boolean modifier. It’s just a basic model.

Middle Picture:
I applied the beveling feature but you should able to see what red arrow is pointing at. You can see that there is some flawed system that Beveling feature has. Normally, it was a pain in the bum to rework the face and fix the problem… It would be great if you can improve the bevelling system to take the line “where the red arrow is pointing at” in account, so the line will be changed and applied to whatever I want. That way I don’t have to do the rest of work to fix it.

Right Picture:
one more thing to add. even I fixed the problem, but I’m not sure why it appeared like that. If you look very closely and hard, so you can see there are some shadows on the face near the hole with bevel modifier. the lines that cause the shadowing/flattening shouldn’t be existing at all.

it doesn’t look very smooth.

so I hope this would help you see the problem in beveling feature and will able to make some improvement. that would be great. If you have any questions or don’t understand. just let me know, i will try my best to explain.



Would it be possible to add a checkbox so SHARP edges are ignored by Bevel (in Angle mode). From point of view of game assets, it is an error to bevel a sharp edge resulting in 2 sharp edges (or 4 splits). It is very useful with massive objects(such as a building) where Angled bevel must be used (every bevel cannot be micromanaged with weighted mode). Alternatively asset must to be collapsed and undesired bevels manually removed which can be very time consuming.
To demonstrate, I have made a build for myself simply adding “if (BM_elem_flag_test(e, BM_ELEM_SMOOTH)” between Angled option block, resulting in right most object on the screenshot:

Thank you for consideration.


Suggestion for beveling interior verts:


The bevel requests are piling up. I do appreciate the feedback and bugs, and will get to them when I can. Currently I’m working on the UV issue from cgstrive, then I will fix the normal bug reported by cgslav, then will get to the other stuff - probably will try to add some of the different vertex mesh patterns that people have suggested in this thread. I’m sorry but my day job has made progress on this very slow lately.

Addressing the posts since my last reply:

Xelbayria: You have exposed the long-standing problem that if a bevel extends too far, it might bump into adjacent geometry. Some of these cases are detected by the ‘clamp offset’ option, but not all of them. In any case, that’s just a band-aid, I realize. The real desire is to somehow ‘push’ or ‘absorb’ the geometry that is bumped into and continue on. I’ve been thinking about how to do this for quite a while, but the general case is very hard.

cgstrive: Yes, I could add such an option. I generally try to avoid adding options, since it is more to explain and document, and goes against Ton’s desire that the software just ‘do the right thing’ without the need for options. But this looks like a case where the option may be justified.

HEAVYPOLY: I will keep that in mind as I consider which new vertex mesh options to add.


Might the technique used by this addon be of any help?


Yes, I should study that addon.


I’ve mentioned in the topic linked by @lsscpp (and by me somewhere here also) that author should get in touch with you and he replied:

At the moment I’m still experimenting.
I tried a lot of different ways, but for now the way with the ‘pipe’ works best. The only difference is that I do it manual (without self-intersections), and not through the convert of the curve.

When I achieve some results, I will write to him.
This is not exactly bevel. These are some tricks and standard bevel

Maybe if you can team-up with him and show a good way, he will be able to make much more?


Curves supports bevel modifier, but it do nothing. Is that a bug or it is supposed to do nothing?..
I believe it should bevel vertices, it is very helpful for creating pipes.
Or, if it is not possible for curves then bevel vertices of mesh made of edges only.

Thanx for improving bevel by the way!


That’s my main desire for the Bevel modifier, for it to be able to go beyond surrounding geometry in a practical way. Excited to hear you’re starting to look at this!


DotBow - the bevel modifier has no effect on Curves, sorry. You would have to convert it to mesh.
For a mesh that has no faces (just edges), use the ‘Vertex only’ flag of bevel. Ordinary bevel (without that flag set) is only intended to bevel edges that have exactly two adjacent faces.


cgslav: I have looked at Ilya’s code in the bevel-after-boolean, and indeed it has some good ideas, using some existing tools in Blender chained together. It would be nice to change bevel to be able to do this for arbitrary sets of selected edges, not just those that come from intersections during boolean operations. But that case is harder because in the general case there can be more than two edges beveled at a vertex. Eventually Ilya and I should collaborate, I agree, but as I said above there are other things in my TODO list with higher priority right now.


Could it be possible to have bevels modifiers with vertex groups visible even if there is no faces but only edges?


Thanx for answer! Maybe I’m missing something but I can’t get it work :neutral_face:


Hmm, for some reason I didn’t enable vertex-only bevel for wire edges (those without faces) in the modifier. I think because I only added it the tool later and forgot about the modifier.
For now, you can use the tool (control-shift-B).
I’ll fix the modifier for 2.8.


Thanks for the suggestions, nokipaike. I will consider them, but right now bevel has higher priority for me and there are a bunch of TODOs there.