![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQhKNpvD6qGR-mcl9IuBzp4As4rWlOu_uBv9bH15bkXv4d6NHW0i_35dUR52Wta3h46HMXXz59-DRy2PuzRXBO0GbQyc0YPvul3FpXdWXcbZ2u0raPwtdEo3RaH4gIfl2yU1F5A4j_1y8/s400/trig_edge_fillet_001.png)
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
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhToWytdBuE8tKscztd9i2h-x-XORBp_nBicF8S8gUfE7cEUU663OKZAWQOrgu66paZlvSLmISYNRxc6pr-jlflmFxxl2KgEslK49Ubq9dwX4W8EXjq58bYL2lfH21tvY4N2ao427_fJMY/s400/latest_example.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigaY0jlu3zqBvnR-H3ajXek-_sH6asrHekHy4TFbl4QmP_bR9l-TMCi4wF7v5Na3DRjFJgeGrpcujahPtYg-AIw4SiPSLadmXUEQ6dB88Q7pudTTv30v3Vvl3V6OHSvOHhrN1hupDG8oU/s400/GL-fillet_GUI3.png)