Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import bpy
- import bmesh
- from mathutils import Matrix
- from math import pi
- context = bpy.context
- ob = context.edit_object
- me = ob.data
- bm = bmesh.from_edit_mesh(me)
- f = bm.select_history.active
- if isinstance(f, bmesh.types.BMFace) and len(f.verts) == 3:
- print("do it")
- # longest edge
- le = sorted(f.edges, key=lambda e: e.calc_length()).pop()
- v = (set(f.verts) - set(le.verts)).pop()
- nv = bm.verts.new(v.co)
- bmesh.ops.rotate(bm,
- cent=le.verts[0].co,
- matrix=Matrix.Rotation(pi, 3, le.verts[0].co - le.verts[1].co),
- verts = [nv],
- )
- bm.faces.new([nv] + le.verts[:]).select = True
- #bmesh.ops.dissolve_edges(bm, edges=[le])
- bm.normal_update()
- bmesh.update_edit_mesh(me)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement