Skip to content
Snippets Groups Projects
measureit_main.py 82.3 KiB
Newer Older
  • Learn to ignore specific revisions
  • # -------------------------------------------------------------
    def get_selected_vertex(myobject):
        mylist = []
        # if not mesh, no vertex
        if myobject.type != "MESH":
            return mylist
        # --------------------
        # meshes
        # --------------------
        oldobj = bpy.context.object
    
        bpy.context.view_layer.objects.active = myobject
    
        flag = False
        if myobject.mode != 'EDIT':
            bpy.ops.object.mode_set(mode='EDIT')
            flag = True
    
    
        bm = from_edit_mesh(myobject.data)
    
        tv = len(bm.verts)
        for v in bm.verts:
            if v.select:
    
    NBurn's avatar
    NBurn committed
                mylist.append(v.index)
    
    
        if flag is True:
            bpy.ops.object.editmode_toggle()
        # Back context object
    
        bpy.context.view_layer.objects.active = oldobj
    
    
        # if select all vertices, then use origin
        if tv == len(mylist):
            return []
    
        return mylist
    
    
    # -------------------------------------------------------------
    # Get vertex selected
    # -------------------------------------------------------------
    def get_selected_vertex_history(myobject):
        mylist = []
        # if not mesh, no vertex
        if myobject.type != "MESH":
            return mylist
        # --------------------
        # meshes
        # --------------------
        oldobj = bpy.context.object
    
        bpy.context.view_layer.objects.active = myobject
    
        flag = False
        if myobject.mode != 'EDIT':
            bpy.ops.object.mode_set(mode='EDIT')
            flag = True
    
    
        bm = from_edit_mesh(myobject.data)
    
    NBurn's avatar
    NBurn committed
            mylist.append(v.index)
    
    
        if flag is True:
            bpy.ops.object.editmode_toggle()
        # Back context object
    
        bpy.context.view_layer.objects.active = oldobj
    
    
        return mylist
    
    
    # -------------------------------------------------------------
    # Get vertex selected segments
    # -------------------------------------------------------------
    def get_smart_selected(myobject):
        mylist = []
        # if not mesh, no vertex
        if myobject.type != "MESH":
            return mylist
        # --------------------
        # meshes
        # --------------------
        oldobj = bpy.context.object
    
        bpy.context.view_layer.objects.active = myobject
    
        flag = False
        if myobject.mode != 'EDIT':
            bpy.ops.object.mode_set(mode='EDIT')
            flag = True
    
    
        bm = from_edit_mesh(myobject.data)
    
        for e in bm.edges:
            if e.select is True:
    
    NBurn's avatar
    NBurn committed
                mylist.append(e.verts[0].index)
                mylist.append(e.verts[1].index)
    
    
        if flag is True:
            bpy.ops.object.editmode_toggle()
        # Back context object
    
        bpy.context.view_layer.objects.active = oldobj
    
    
        return mylist
    
    
    # -------------------------------------------------------------
    # Get vertex selected faces
    # -------------------------------------------------------------
    def get_selected_faces(myobject):
        mylist = []
        # if not mesh, no vertex
        if myobject.type != "MESH":
            return mylist
        # --------------------
        # meshes
        # --------------------
        oldobj = bpy.context.object
    
        bpy.context.view_layer.objects.active = myobject
    
        flag = False
        if myobject.mode != 'EDIT':
            bpy.ops.object.mode_set(mode='EDIT')
            flag = True
    
    
        bm = from_edit_mesh(myobject.data)
    
    NBurn's avatar
    NBurn committed
            myfaces = []
    
    NBurn's avatar
    NBurn committed
                for i in range(len(e.verts)):
                    myfaces.append(e.verts[i].index)
    
    NBurn's avatar
    NBurn committed
                mylist.extend([myfaces])
    
    
        if flag is True:
            bpy.ops.object.editmode_toggle()
        # Back context object
    
        bpy.context.view_layer.objects.active = oldobj