Macro If Selected Stay If Not Then Delete

From FreeCAD Documentation
This page is a translated version of the page Macro If Selected Stay If Not Then Delete and the translation is 100% complete.
Other languages:

Macro If Selected Stay If Not Then Delete

Descrizione
Questa macro cancella gli obietti non selezionati.

Versione macro: 00.03b
Ultima modifica: 2023-09-24
Versione FreeCAD: All
Download: ToolBar Icon
Autore: Mario52
Autore
Mario52
Download
ToolBar Icon
Link
Versione macro
00.03b
Data ultima modifica
2023-09-24
Versioni di FreeCAD
All
Scorciatoia
Nessuna
Vedere anche
Macro Toggle Visibility2 1-2
Macro Toggle Visibility2 2-2
Macro_Toggle_Visibility
Macro HiddenAlls
Macro_VisibleAlls

Descrizione

Questa macro cancella gli obietti non selezionati.

Script

Icona barra strumenti

Macro_If_Selected_Stay_If_Not_Then_Delete.FCMacro

import FreeCAD
import Draft
# 16/06/2016, 21/02/2018, 22/09/2023, 24/09/2023
# Macro_SelectVisible series
__title__   = "Macro_If_Selected_Stay_If_Not_Then_Delete"
__author__  = "Mario52"
__url__     = "http://www.freecadweb.org/index-fr.html"
__version__ = "00.03b"
__date__    = "24/09/2023"

App = FreeCAD
try:
    for ShapeNameObj in FreeCAD.ActiveDocument.Objects:
        if str(ShapeNameObj) == "<group object>":
            if len(Draft.get_group_contents(ShapeNameObj)) == 0:
                App.ActiveDocument.removeObject(ShapeNameObj.Name)        # remove group not selecteds
        else:
            if Gui.Selection.isSelected(ShapeNameObj):
                None
            else:
                App.ActiveDocument.removeObject(ShapeNameObj.Name)        # remove objects not selecteds
    
    for ShapeNameGroup in FreeCAD.ActiveDocument.Objects:
        if (str(ShapeNameGroup) == "<group object>"):
            if len(Draft.get_group_contents(ShapeNameGroup)) == 0:
                App.ActiveDocument.removeObject(ShapeNameGroup.Name)      # remove group emptied
except Exception:
    None