Page MenuHome

Bevel clamp overlap incorrect with percentage
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce GTX 1070/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 451.48

Blender Version
Broken: version: 2.91.0 Alpha, branch: master, commit date: 2020-08-05 22:29, hash: rB675700d94892
Worked: Never (2.8+)

Short description of error
edit mode bevel operation clamp overlap is basing overlap on offset rather than percentage, and therefore clamping even when there is no overlap.

Exact steps for others to reproduce the error

  1. Open file
  2. Select all edges
  3. Set bevel to percent
  4. Turn on clamp overlap
  5. Increase the width to 100%.

Even though it’s set to percent, the clamp will still stop the edges that shouldn’t be clamped from fully bevelling.

Event Timeline

Richard Antalik (ISS) changed the task status from Needs Triage to Needs Information from User.Aug 25 2020, 4:32 AM

No, your bevelling vertices.

Create an object where one edge would cause a clamp to occur before other edges were fully bevelled

Select all edges
Bevel
Set bevel to percent
Turn on clamp overlap
Now increase the width.

Even though it’s set to percent, the clamp will still stop the edges that shouldn’t be clamped from fully bevelling.

Richard Antalik (ISS) renamed this task from edit mode bevel operation clamp overlap is basing overlap on offset rather than percentage. to Bevel clamp overlap incorrect with percentage.Aug 25 2020, 6:41 AM
Richard Antalik (ISS) changed the task status from Needs Information from User to Confirmed.
Richard Antalik (ISS) updated the task description. (Show Details)
Howard Trickey (howardt) moved this task from Backlog to Bugs (Mesh) on the Modeling board.

There is indeed a bug here. The clamp code works when the offset edges move parallel to the original edges, but that is not usually the case when Percentage mode is used. (The same bug will affect the new Absolute mode.) I will have to work out the different math for this case.

In working on adding clamping for Percent (which is hard!), I have discovered that the whole method of doing Percent is wrong. It is making constant width offset lines.

Bastien Montagne (mont29) changed the subtype of this task from "Report" to "Bug".Oct 15 2020, 4:23 PM
Howard Trickey (howardt) closed this task as Resolved.Oct 18 2020, 10:33 PM

Well this was quite the rabbit-hole. The whole method of doing percent (and absolute) mode was wrong. It worked if the required offset lines were parallel to the original edge, and maybe in a few other cases accidentally, but really I needed to write whole new code to handle these modes.

After doing that, the clamping for percent was trivial to fix: you need to clamp to 50% if two beveled edges shared the same leg.
The clamping for absolute mode is significantly harder. It is improved, but I'm going to leave its still-somewhat-brokenness as a known issue.
I really hope to be able to do away with clamping all together with a major upgrade to Bevel that I hope to work on next.

Cool, perhaps bevel width could be done based on the visual representation of vertex weight falloff on the face. 0.5 would always be halfway towards the nearest vertex for example. Would probably need edge weight too though for that to work on long edges.