Macro If Selected Stay If Not Then Delete/en: Difference between revisions
(Updating to match new version of source page) |
(Updating to match new version of source page) |
||
Line 6: | Line 6: | ||
|Description=This macro delete all objects not selected. |
|Description=This macro delete all objects not selected. |
||
|Author=Mario52 |
|Author=Mario52 |
||
|Version=00. |
|Version=00.03b |
||
|Date=2023-09- |
|Date=2023-09-24 |
||
|FCVersion=All |
|FCVersion=All |
||
|Download=[https://www.freecadweb.org/wiki/images/6/62/Macro_If_Selected_Stay_If_Not_Then_Delete.png ToolBar Icon] |
|Download=[https://www.freecadweb.org/wiki/images/6/62/Macro_If_Selected_Stay_If_Not_Then_Delete.png ToolBar Icon] |
||
Line 27: | Line 27: | ||
import FreeCAD |
import FreeCAD |
||
import Draft |
import Draft |
||
# 16/06/2016, 21/02/2018, 22/09/2023 |
# 16/06/2016, 21/02/2018, 22/09/2023, 24/09/2023 |
||
# Macro_SelectVisible series |
# Macro_SelectVisible series |
||
__title__ = "Macro_If_Selected_Stay_If_Not_Then_Delete" |
__title__ = "Macro_If_Selected_Stay_If_Not_Then_Delete" |
||
__author__ = "Mario52" |
__author__ = "Mario52" |
||
__url__ = "http://www.freecadweb.org/index-fr.html" |
__url__ = "http://www.freecadweb.org/index-fr.html" |
||
__version__ = "00. |
__version__ = "00.03b" |
||
__date__ = " |
__date__ = "24/09/2023" |
||
App = FreeCAD |
App = FreeCAD |
||
Line 39: | Line 39: | ||
for ShapeNameObj in FreeCAD.ActiveDocument.Objects: |
for ShapeNameObj in FreeCAD.ActiveDocument.Objects: |
||
if str(ShapeNameObj) == "<group object>": |
if str(ShapeNameObj) == "<group object>": |
||
if len(Draft. |
if len(Draft.get_group_contents(ShapeNameObj)) == 0: |
||
App.ActiveDocument.removeObject(ShapeNameObj.Name) # remove group not selecteds |
App.ActiveDocument.removeObject(ShapeNameObj.Name) # remove group not selecteds |
||
else: |
else: |
||
Line 49: | Line 49: | ||
for ShapeNameGroup in FreeCAD.ActiveDocument.Objects: |
for ShapeNameGroup in FreeCAD.ActiveDocument.Objects: |
||
if (str(ShapeNameGroup) == "<group object>"): |
if (str(ShapeNameGroup) == "<group object>"): |
||
if len(Draft. |
if len(Draft.get_group_contents(ShapeNameGroup)) == 0: |
||
App.ActiveDocument.removeObject(ShapeNameGroup.Name) # remove group emptied |
App.ActiveDocument.removeObject(ShapeNameGroup.Name) # remove group emptied |
||
except Exception: |
except Exception: |
Latest revision as of 20:10, 24 September 2023
Description |
---|
This macro delete all objects not selected. Macro version: 00.03b Last modified: 2023-09-24 FreeCAD version: All Download: ToolBar Icon Author: Mario52 |
Author |
Mario52 |
Download |
ToolBar Icon |
Links |
Macros recipes How to install macros How to customize toolbars |
Macro Version |
00.03b |
Date last modified |
2023-09-24 |
FreeCAD Version(s) |
All |
Default shortcut |
None |
See also |
Macro Toggle Visibility2 1-2 Macro Toggle Visibility2 2-2 Macro_Toggle_Visibility Macro HiddenAlls Macro_VisibleAlls |
Description
This macro delete all objects not selected !!.
Script
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