Page MenuHome

bevel modifier behavior
Closed, ArchivedPublic

Description

--- Operating System, Graphics card ---
ubuntustudio 12.04
gtx580

--- Blender version with error, and version that worked ---
blender with error: fresh compiled blender 2.66.2 r55376
blender that works: 2.66a (binaries downloaded from blender.org r55057)

--- Short description of error ---
applying the bevel modifier on a mesh f*cks up the shape :-)


--- Steps for others to reproduce the error (preferably based on attached .blend file) ---
run the following script in both blender versions i mentioned above
and apply the bevel modifier on the created object
########
import bpy

letter = 'I'

verts_I = ((-0.9999996423721313,1.0000003576278687,0.0),(1.4901161193847656e-07,1.0000001192092896,0.0),(-0.4999997615814209,1.000000238418579,0.0),(-0.4999999403953552,2.0116567611694336e-07,0.0),(-0.4999998211860657,0.5000002384185791,0.0),(-0.5,-0.4999998211860657,0.0),(0.25000011920928955,1.0,0.0),(-0.24999980628490448,1.000000238418579,0.0),(-0.7499997019767761,1.000000238418579,0.0),(-0.9999997019767761,0.7500003576278687,0.0),(-0.24999995529651642,1.6763806343078613e-07,0.0),(1.1920928955078125e-07,0.7500001192092896,0.0),(-0.4999997913837433,0.7500002384185791,0.0),(-0.24999986588954926,0.5000001788139343,0.0),(-0.49999988079071045,0.2500002086162567,0.0),(-0.4999999701976776,-0.24999980628490448,0.0),(-0.25,-0.49999985098838806,0.0),(-0.5000000596046448,-0.7499998807907104,0.0),(-0.7499997615814209,0.7500002980232239,0.0),(-0.24999983608722687,0.7500001788139343,0.0),(-0.24999991059303284,0.2500001788139343,0.0),(0.2500000596046448,0.7500000596046448,0.0),(-0.2499999850988388,-0.24999985098838806,0.0),(-0.2500000596046448,-0.7499998807907104,0.0),(-0.5000009536743164,1.2499973773956299,0.0),(-0.2500035762786865,1.2499969005584717,0.0),(-0.4999997615814209,1.000000238418579,-0.25),(-0.5000009536743164,1.2499973773956299,-0.25),(-0.24999980628490448,1.000000238418579,-0.25),(-0.2500035762786865,1.2499969005584717,-0.25),(-0.25,-0.49999985098838806,-0.25),(-0.2500000596046448,-0.7499998807907104,-0.25),(-0.5000000596046448,-0.7499998807907104,-0.25),(-0.2499999850988388,-0.24999985098838806,-0.25),(-0.24999995529651642,1.6763806343078613e-07,-0.25),(0.25000011920928955,1.0,-0.25),(0.2500000596046448,0.7500000596046448,-0.25),(1.1920928955078125e-07,0.7500001192092896,-0.25),(-0.24999991059303284,0.2500001788139343,-0.25),(-0.24999986588954926,0.5000001788139343,-0.25),(-0.24999983608722687,0.7500001788139343,-0.25),(-0.4999997913837433,0.7500002384185791,-0.25),(-0.7499997615814209,0.7500002980232239,-0.25),(-0.9999997019767761,0.7500003576278687,-0.25),(-0.5,-0.4999998211860657,-0.25),(-0.4999999701976776,-0.24999980628490448,-0.25),(-0.4999999403953552,2.0116567611694336e-07,-0.25),(-0.49999988079071045,0.2500002086162567,-0.25),(-0.4999998211860657,0.5000002384185791,-0.25),(-0.9999996423721313,1.0000003576278687,-0.25),(-0.7499997019767761,1.000000238418579,-0.25),(1.4901161193847656e-07,1.0000001192092896,-0.25),)
faces_I = ((8,0,9,18,),(2,8,18,12,),(1,7,19,11,),(19,12,4,13,),(13,4,14,20,),(20,14,3,10,),(6,1,11,21,),(10,3,15,22,),(22,15,5,16,),(16,5,17,23,),(2,7,25,24,),(2,24,27,26,),(25,7,28,29,),(24,25,29,27,),(16,23,31,30,),(23,17,32,31,),(22,16,30,33,),(10,22,33,34,),(6,21,36,35,),(21,11,37,36,),(20,10,34,38,),(13,20,38,39,),(19,13,39,40,),(11,19,40,37,),(19,7,28,40,),(12,19,40,41,),(12,18,42,41,),(18,9,43,42,),(17,5,44,32,),(5,15,45,44,),(15,3,46,45,),(3,14,47,46,),(14,4,48,47,),(2,12,41,26,),(4,12,41,48,),(9,0,49,43,),(0,8,50,49,),(8,2,26,50,),(7,2,26,28,),(7,1,51,28,),(1,6,35,51,),(26,27,29,28,),(30,31,32,44,),(33,30,44,45,),(34,33,45,46,),(35,36,37,51,),(38,34,46,47,),(39,38,47,48,),(40,39,48,41,),(51,37,40,28,),(26,41,42,50,),(50,42,43,49,),)

scene = bpy.context.scene
bpy.ops.object.select_all(action='DESELECT')

mesh_data = bpy.data.meshes.new(letter + "_data")
mesh_data.from_pydata(verts_I, [], faces_I)
mesh_data.update()

letterObject = bpy.data.objects.new( letter+"_Object", mesh_data)

scene.objects.link(letterObject)
letterObject.select = True
letterObject.location = (0,0,0)
##############

Details

Type
Bug

Event Timeline

Thanks, I'll look at it.


Attaching a simpler file that illustrates the problem. This is difficult because the best way of handling this would be to treat the meeting vertex as split into two 3-edge pieces and then join them up afterwards.

Howard Trickey (howardt) closed this task as Archived.Aug 26 2014, 12:45 PM

Since this is a design limitation of the current bevel, and requires significant work to fix, closing this here and moving to the TODO wiki list.