Macro Toggle Visibility2 1-2
File:Macro SelectVisible2 Toggle Visibility |
Description |
---|
Hidden all objects not selected. Macro version: 00.02b Last modified: 2017-07-27 Author: openfablab |
Author |
openfablab |
Download |
None |
Links |
Macros recipes How to install macros How to customize toolbars |
Macro Version |
00.02b |
Date last modified |
2017-07-27 |
FreeCAD Version(s) |
None |
Default shortcut |
None |
See also |
None |
Description
This is a set of four related macros for managing the visibility of objects in the Object Model:
- objects that are selected in a document are made visible while objects that are not selected are made invisible
- if no objects are selected then all objects are hidden;
- if all objects are selected then all objects are made visible
- make all objects visible
How To Use
Copy the macros and the icons in your folder macros and run (see How to install macros)
ToggleVisibility
Using the selection of objects in the one of the FreeCAD views, this macro makes all selected objects visible and hides all objects which are not selected.
If no object(s) are selected then all objects are hidden
If all objects are hidden and there is no selection in ComboView then all object are made visible
The code Macro_ToggleSelectedObjectVisibility2.FCMacro the icon
import FreeCAD
# Macro_ToggleSelectedObjectVisibility2
__title__="Macro_ToggleSelectedObjectVisibility2"
__author__ = "openfablab"
__url__ = "http://www.freecadweb.org/index-fr.html"
__version__ = "00.02b"
__date__ = "27/07/2017"
FreeCAD.actual=[]
try:
compt = 0
for ShapeNameObj in FreeCAD.ActiveDocument.Objects: # list alls objet for test if alls hidden
if (FreeCADGui.ActiveDocument.getObject(ShapeNameObj.Name).Visibility == False) and (Gui.Selection.isSelected(ShapeNameObj) == False):
compt += 1 # if hidden : compt += 1
#print "False : ",ShapeNameObj.Name
elif Gui.Selection.isSelected(ShapeNameObj) == False:
FreeCAD.actual.append(ShapeNameObj.Name)
#print "Actual : ",ShapeNameObj.Name
if compt == len(FreeCAD.ActiveDocument.Objects): # if (compt = Alls objects hidden) then Visibility = True
for ShapeNameObj in FreeCAD.ActiveDocument.Objects:
FreeCADGui.ActiveDocument.getObject(ShapeNameObj.Name).Visibility = True # Visibility = True
#print "True : ",ShapeNameObj.Name
compt = 0
else :
for ShapeNameObj in FreeCAD.ActiveDocument.Objects: # hidde objects not selecteds
if Gui.Selection.isSelected(ShapeNameObj) == False:
FreeCADGui.ActiveDocument.getObject(ShapeNameObj.Name).Visibility = False # if objects is not selected then Visibility = False (Hidden)
#print "False : ",ShapeNameObj.Name
else:
FreeCADGui.ActiveDocument.getObject(ShapeNameObj.Name).Visibility = True # if objects are hidden and selected then Visibility = True and hidden alls objects visibles
#print "True : ",ShapeNameObj.Name
except Exception:
None
DisplayAll
This macro makes all objects visible respecting the original visible and hidden objects after use the Macro_ToggleSelectedObjectVisibility macro.
The code Macro_DisplayAllObjects2 the icon
import FreeCAD
#Macro_VisibleAlls
__title__="Macro_DisplayAllObjects2"
__author__ = "openfablab"
__url__ = "http://www.freecadweb.org/index-fr.html"
__version__ = "00.00b"
__date__ = "27/07/2017"
try:
for ShapeNameObj in FreeCAD.actual: # displyed alls objects
#print ShapeNameObj
FreeCADGui.ActiveDocument.getObject(ShapeNameObj).Visibility = True
except Exception:
None
Link
The discussion on the forum Re: Proposal: select one or more pieces, hide the others.
Original idea Macro_Toggle_Visibility