Macro Duplicate Selection/it: Difference between revisions

From FreeCAD Documentation
(Created page with "La discussione [http://forum.freecadweb.org/viewtopic.php?f=3&t=15994 Duplicate Objects when more than one face selected] nel forum di FreeCAD.")
(Updating to match new version of source page)
Line 1: Line 1:
{{Macro/it|Icon=Text-x-python|Name=Macro Duplicate Selection|Name/it=Macro Duplicate Selection|Description= Questa macro testa se una selezione è duplicabile.|Author=Mario52}}
{{Macro|Icon=Text-x-python|Name=Macro Duplicate Selection|Description= This macro testing if one selection are duplicate.|Author=Mario52|Version=00.00 (06/06/2016)}}
==Descrizione==
==Descrizione==
Questa macro testa se una selezione è duplicabile. Selezionare gli oggetti nella '''vista 3D''', se una selezione è duplicabile il mouse rimane bloccato su "ForbiddenCursor" fino a duplicazione avvenuta.
Questa macro testa se una selezione è duplicabile. Selezionare gli oggetti nella '''vista 3D''', se una selezione è duplicabile il mouse rimane bloccato su "ForbiddenCursor" fino a duplicazione avvenuta.

Revision as of 09:02, 6 September 2016

File:Text-x-python Macro Duplicate Selection

Description
This macro testing if one selection are duplicate.

Macro version: 00.00 (06/06/2016)
Author: Mario52
Author
Mario52
Download
None
Links
Macro Version
00.00 (06/06/2016)
Date last modified
None
FreeCAD Version(s)
None
Default shortcut
None
See also
None

Descrizione

Questa macro testa se una selezione è duplicabile. Selezionare gli oggetti nella vista 3D, se una selezione è duplicabile il mouse rimane bloccato su "ForbiddenCursor" fino a duplicazione avvenuta.

Uso

Avviare la macro, essa rimane residente in memoria.

Selezionare gli oggetti da duplicare. Mentre gli oggetti vengono duplicati il cursore del mouse viene bloccato su "ForbiddenCursor"

Script

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__     = "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

Link

La discussione Duplicate Objects when more than one face selected nel forum di FreeCAD.

Other languages: