keKit for Blender (2.8+)

@Kiellog
Hello,
I have played around with your Cursor align, and made a little tweak to better aligned on edges. Take a look

Summary




It’s a very simple tweak

class KEALIGNCURSOR_OT_kealign_cursor(Operator):
    bl_idname = "kealigncursor.kealign_cursor"
    bl_label = "Cursor Fit & Align v2 (keKIT)"
    bl_description = "Align Cursor by selection for exceptions that not aligned well. Don't works on single Face parallel edges and single edge (or 2 verts of this edge)"
    
    def execute(self, context):
        bm = bmesh.from_edit_mesh(bpy.context.edit_object.data)
        # checking for face selected
        selFaces = [f for f in bm.faces if f.select]
        # checking for edges selected
        #selEdges = [e for e in bm.edges if e.select]
        # checking for verts selected
        #selVerts = [v for v in bm.verts if v.select]
        if selFaces:
            bpy.ops.view3d.cursor_fit_selected_and_orient()
        else:
            bpy.ops.mesh.edge_face_add()
            bpy.ops.mesh.select_mode(type="FACE")
            bpy.ops.view3d.cursor_fit_selected_and_orient()
            bpy.ops.mesh.delete(type='FACE')
            bpy.ops.mesh.select_mode(type="EDGE")
            bpy.ops.ed.undo()
            bpy.ops.ed.redo()
        return {'FINISHED'}

But don’t works on selected parallel edges of one single face… with 2 faces and selecting parallel edges it’s ok
and with single edge selected or two verts of this edge…