Curve "Radius for Bevel" gives inconsistent behavior updates during scaling operations

I created a bug report about this and wanted forum feedback from those who care.
https://developer.blender.org/T85563

  1. Open blend file. Delete default cube.
  2. Add a Bezier Circle and go to Properties Panel and Object Data Properties -> Geometry carat -> Bevel sub carat: Give the curve a small bevel depth value like 0.05m
  3. Toggle Edit Mode.
  4. Select all control points (vertices) in edit mode and take note of "radius for beveling" (or Mean Radius) value on the 3D View Sidebar Panel Item tab. It should read 1.0 for each control point.
  5. Scale all control points down to 0.1 in edit mode. Take note that arrow size on the curve, "radius for beveling" value, and circle geometry bevel depth does not change. The "radius for beveling" value on all control points is still 1.0.
  6. Toggle to object mode and scale Curve object to 10. Notice the change in size of the displayed Geometry Bevel increased 10 fold while the Depth value stays at 0.05m.
  7. Toggle edit mode and select all control points (vertices). Take note of increased size of arrows on curve. Then record the "radius for beveling" value. It should still read 1.0. (this is a bug since the data is physically changing the Geometry bevel visually and the curve arrows visually)
  8. Toggle to object mode and apply scale to the curve object.
  9. Toggle edit mode and note the arrow size and the "radius for beveling" value has now changed to 10, the arrow size remains unchanged, and the Geometry bevel depth is still 0.05m but it is still visually 10 times larger.

This becomes even more confusing when using the curve object as a target for another object's curve modifier (even more fun using array and curve modifiers together).
Additional steps.

  1. Create a new bez circle.
  2. Add a cube and set the scale to 0.1 and apply cube object scale.
  3. Give cube an array modifier and set Fit Type to Fit Curve and select the bezier circle as the target curve. Set relative array offset to 3 so you can watch both the object geometry and curve geometry easily during next steps.
  4. Add curve modifier to cube object and set Curve target object to bezier circle and deform axis to x.
  5. Perform steps 1 through 9 above and watch what happens to curve bevel geometry changing versus object geometry note changing while engaging in scaling operations.
  6. Notice how object shifts in scale by 10 times only when the curve scale is applied.


    I find this interesting behavior to say the least. What do y'all think?
  • spikeyxxx replied

    I think the only strange thing is that the Object Data Properties do not update:

    After the different scaling operations you mention, you 'd expect the original Curve back:

    In stead you get this:

    The difference between the two Curves (scaled and original) is the Radius of the points. So somehow the Radius affects the Bevel and Extrude. This is probably not a bug, but the values for Extrude and Bevel should be updated, or not given as absolute measurements (meters/feet...).

    The mentioned behavior is already quite 'old', at least 2.79 also worked like this:

    All other points you mentioned seem expected behavior to me, but I might have overlooked something...

  • Shawn Blanch(blanchsb) replied

    Yeah what is really happening is that the edit mode data on the 3D view sidebar Item panel labeled ā€œradiusā€ or ā€œmean radiusā€ is not updating properly.Ā 


    TheĀ behavior about the objects and curves is not really a problem if the behavior was consistent across the board and not ā€œone way for the curve geometry and another for object geometryā€


    And yes this is truly older behavior. Itā€™s actually one of the reasons that curves scared the crap out of me as a noob to blender šŸ˜‚ back in 2017-2018. Iā€™d scale a big selection of objects and their target deformation curves and hit apply scale and then everything would freak out (and I had it just the way I wanted it before ā€œapplying scaleā€ on everything).....then naturally I would freak out. Then Iā€™d feel like I had to delete the curve and start over with a new one.........until I found the radius value.


    i just could not figure out was was going on until I took time to open a simple instance of blender and ā€œfigure out the behaviorā€

    But the behavior is really quite inconsistent on that radius value updating because the curve arrows and bevel geometry (visually, not numerically anywhere) adjust in size based on that value being manually updated without scaling. Whatā€™s more when you scale in object mode the arrows get bigger along with the bevel geometry (visually)Ā but the radius value stays the same (which affects objectā€™s geometry who are relying on that curve for deformation). That value should be updating during the scaling modal operation in my opinion because it is doing it to the curve bevel geometry and the radius arrows.

  • Shawn Blanch(blanchsb) replied

    I really thinkĀ that radius value should probably just stay the same. The curve is used for soo much these days. User should just manually be updating it in my opinion.

    Iā€™m just glad I can document the behavior.

    Understanding helps me during modeling operations. There is a radius checkbox on the object data propties panel that actually solves the object scaling issue but the radius not updating until after scale being applied is a šŸ‘¾ bug in my opinion.

  • spikeyxxx replied

    Actually I do not really know what the Radius means/does.

    I aggree that the changing of the numbers (values) of the Radius is not consistent with with the changing of for instance the size of a Mesh.

    To be honest, I think the Radius staying the same when scaling in Object Mode, until you Apply the Scale seems natural to me, but this isn't consistent with the rest of Blender...

    And the Object Properties of Curves not updating at all is just crazy.

    There is definitely a bug, the question is only what is wrong and what is correct...