Macro Duplicate Selection/pl

Macro Duplicate Selection

Opis
To makro zmienia kursor myszy na "ForbiddenCursor", jeśli zaznaczenie zostanie zduplikowane.

Macro version: 00.00
Last modified: 2016-06-06
FreeCAD version: 0.16
Download: Ikonka paska narzędzi
Autor: Mario52
Autor
Mario52
Do pobrania
Ikonka paska narzędzi
Odnośniki
Wersja Makrodefinicji
00.00
Data zmian
2016-06-06
Wersja FreeCAD
0.16
Domyślny skrót
Brak
Zobacz również
-

Opis

To makro zmienia kursor myszy na "ForbiddenCursor", jeśli zaznaczenie zostanie zduplikowane.

Użycie

Uruchom makro, zostanie ono zachowane w pamięci.

Wybierz obiekty. Jeśli wybrany obiekt jest duplikatem, wyświetlany jest kursor myszy "ForbiddenCursor".

Skrypt

Ikonka dla paska narzędzi

Macro_Duplicate_Selection.FCMacro

# -*- coding: utf-8 -*-
import FreeCADGui
import PySide
from PySide import QtGui ,QtCore
from PySide.QtGui import *
from PySide.QtCore import *

__title__   = "Macro_Duplicate_Selection"
__author__  = "Mario52"
__url__     = "https://freecad.org/index-fr.html"
__version__ = "00.00"
__date__    = "06/06/2016"

__Help__    = "Start the macro select the object IN THE 3D VIEW the ForbiddenCursor stay if the selection is duplicate"

def selectionObject():
    sel = FreeCADGui.Selection.getSelection() 
    x  = []
    del x[:]
    for a in range(len(sel)):
       x.append(sel[a].Name)
    doublet = 0
    for i in range(len(sel)):
        for ii in range((i+1),len(sel)):
            if x[i] == x[ii]:
                doublet = 1
                break
    if doublet == 1:
        QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.ForbiddenCursor))
#        FreeCAD.Console.PrintError("HELP "+sel[-1].Name+" duplicate selection"+"\n")
    else:
        QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))

class SelObserver:
    def addSelection(self,doc,obj,sub,pnt):   # Selection
        selectionObject()
    def removeSelection(self,doc,obj,sub):    # Effacer l'objet salectionne
        selectionObject()
    def setPreselection(self, doc, obj, sub):
        selectionObject()
    def clearSelection(self,doc):             # Si clic sur l'ecran, effacer la selection
        selectionObject()
#    def setSelection(self,doc):               # Selection dans Combo View pour quitter la fonction
#        App.Console.PrintMessage("Fin Macro_Duplicate"+"\n")
#        QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
#        FreeCADGui.Selection.removeObserver(s)# desinstalle la fonction residente

s=SelObserver()
FreeCADGui.Selection.addObserver(s)    # installe la fonction en mode resident

Łącza

Dyskusja na forum Duplicate Objects when more than one face selected