Page MenuHome

Bmesh Operator "diameter" attribute is not diameter but radius
Closed, ResolvedPublic

Description

Blender Version
Broken: 2.79 5bd8ac9

Short description of error
Bmesh Operators (bmesh.ops.create_circle, bmesh.ops.create_uvsphere, bmesh.ops.create_icosphere, bmesh.ops.create_cone) using the attribute 'diameter' (and attributes 'diameter1' and 'diameter2' for bmesh.ops.create_cone) are creating meshes where 'diameter' is interpreted as radius of the mesh, meaning that the resulting diameter is twice as big.

Exact steps for others to reproduce the error
The script "diameter_test.py" creates a mesh with the Bmesh operators with diameter 1 but having the resulting diameter 2. In diameter_test.blend is the whole scene with the generated meshes and the previous script.

Event Timeline

Nikolai Janakiev (paramcookie) renamed this task from Bmesh Operator "diameter" attribute to Bmesh Operator "diameter" attribute is not diameter but radius.Sep 27 2017, 5:41 PM
LazyDodo (LazyDodo) lowered the priority of this task from Needs Triage by Developer to Confirmed, Medium.

I can confirm the issue, however fixing it by either renaming the parameter or changing the way the geometry gets generated in bmo_primitive.c would cause quite some breaking for everyone (which i guess we could do for 2.8). not sure what the best way forward is here, paging @Sergey Sharybin (sergey) for guidance.