the code is a little lengthy to post in its entirety, but you can download it here

def get_correct_verts(arc_centre, arc_start, arc_end, NUM_VERTS, context):Matrix.Rotate() was the most complicated part, but now i've broken through that barrier it doesn't seem such utter voodoo anymore. Warning to user: you must apply scale/location/rotation transforms to your profile/object first before running the code or the vertices will appear somewhere else. Not sure if there is a cute way around that.

obj_centre = context.object.location

axis = mathutils.geometry.normal(arc_centre, arc_end, arc_start)

point1 = arc_start - arc_centre

point2 = arc_end - arc_centre

main_angle = point1.angle(point2)

main_angle_degrees = math.degrees(main_angle)

div_angle = main_angle / (NUM_VERTS - 1)

if DEBUG == True:

print("arc_centre =", arc_centre)

print("arc_start =", arc_start)

print("arc_end =", arc_end)

print("NUM_VERTS =", NUM_VERTS)

print("NormalAxis1 =", axis)

print("Main Angle (Rad)", main_angle, " > degrees", main_angle_degrees)

print("Division Angle (Radians)", div_angle)

print("AXIS:", axis)

trig_arc_verts = []

for i in range(NUM_VERTS):

rotation_matrix = mathutils.Matrix.Rotation(i*-div_angle, 3, axis)

# trig_point = (arc_start - obj_centre - arc_centre) * rotation_matrix # old

trig_point = rotation_matrix * (arc_start - obj_centre - arc_centre) # new

trig_point += obj_centre + arc_centre

trig_arc_verts.append(trig_point)

return trig_arc_verts

small update

Hi Dealga,

ReplyDeletenice function! But the keyevent "Shift+Numpad_Plus" are in use now for zoomin/zoomout in actual blender. I change it to "Alt+Numpad_Plus" (line 605) and it works fine.

And nobody knows, how to add and sub verts to fillet. If you cast tutorial videos, you should activate the addon "Screencast Keys" (User preferences/3DView), so anyone can see, which keys you press.

I have zero sympathy for people who don't take the time to read the short documentation i've written for it on the github page. But i see what you mean about the keycombo conflicting with a preset in blender. Remember I wrote this about 2 years ago, so before bevel was implemented.

ReplyDeleteI don't really have time, or interest, to make fixes at the moment. Thanks for checking it out though, it's nice to know it is being used somewhere by someone :)