Macro Duplicate Selection/de

Auswahl duplizieren

Beschreibung
Dieses Makro ändert den Mauszeiger in „ForbiddenCursor”, wenn eine Auswahl dupliziert wird.

Versionsmakro : 00.00
Datum der letzten Änderung : 2016-06-06
FreeCAD version : 0.16
Herunterladen : Werkzeugleisten-Symbol
Autor: Mario52
Autor
Mario52
Herunterladen
Werkzeugleisten-Symbol
Links
Macro-Version
00.00
Datum der letzten Änderung
2016-06-06
FreeCAD-Version(s)
0.16
Standardverknüpfung
None
Siehe auch
None

Beschreibung

Dieses Makro ändert den Mauszeiger in „ForbiddenCursor”, wenn eine Auswahl dupliziert wird.

Anwendung

Das Makro ausführen, das Makro verbleibt im Speicher.

Die Objekte auswählen. Wenn ein ausgewähltes Objekt ein Duplikat ist, wird der Mauszeiger „ForbiddenCursor” angezeigt.

Skript

Werkzeugleisten-Symbol

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

Verweise

Diskussion im FreeCAD-Forum: Duplicate Objects when more than one face selected