Created
June 7, 2016 15:14
-
-
Save mario52a/0dba42f3f358a6b4c20db13601375139 to your computer and use it in GitHub Desktop.
Start the macro select the object IN THE 3D VIEW the "ForbiddenCursor" stay if the or one selection is duplicate the macro stay resident
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- 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__ = "http://www.freecadweb.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 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment