I believe the problem is in bmesh_bevel.cc the "adjust_miter_inner_coords" function adds a sideways bevel offset, "spread," that is not checked regarding clamp overlap. Without accounting for…
@HooglyBoogly - This patch failed the "TestCubeRandom" test because the modified shape doesn't match the expected shape. The images below show the expected shape for the test and the modified…
The edge shift seems to have something to do with width type offsets when the 2 faces forming the bevel are within a few degrees of 180. (Maybe BEVEL_EPSILON_ANG ? can check by changing it to 0.2…
Lot of normals flipping. Some are artifacts (along the front) but the side flipped faces are present. While even numbered segments bridge horizontally, odd numbered segments cause the front…
This is a similar problem with this issue blender/blender#125024
the quick fix is to turn off "clamp overlap" the proposed offset patch (in the above…
I believe this is a similar problem to this issue - blender/blender#125024
Using Blender with the offset patch I can get the weight to function (see pic). …
As shown in the pic, this flat bevel is done with an extra loop of zero area faces (duplicate edges and vertices). Without the extra loop, the edge bevels as expected.
Without the blend file…
Before the patch (current method) and after this patch pictures and some sketches showing the geometry. Would like to attempt an "offset clamp" method that iterates through faces in lieu of…
OK think I've found the source of some undefined behavior. geometry_collide_offset in bmesh_bevel. Starting at line 7584: float tan1 = tanf(th1); float tan2 = tanf(th2); with 90 deg…
Couple more puzzle pieces
- was able to duplicate the effect on a new shape
- was able to duplicate this effect with the Bevel Operator as well.
- artifacts are selectable unlike the…
Bevel Modifier set to 0.003 has no discernable bevel. Whereas same object with Bevel edit tool set to 0.003 has a visible bevel. Bevel Modifier with limit angle set to about 44 deg - artifacts…
A robust "Make Manifold" would have value even outside of boolean. Maybe something like this
[robust inside outside segmentation](https://igl.ethz.ch/projects/winding-number/robust-inside-outs…