Macro Toggle Drawstyle Optimized/it

Macro Toggle Drawstyle Optimized

Descrizione
Script ottimizzato per tutte le lingue e per l'oggetto selezionato o per tutti gli oggetti.

Quando si lavora con FreeCAD, a volte si desidera modificare rapidamente lo stile di disegno dell'oggetto con cui si sta lavorando. Questa funzione è disponibile tramite il menu a discesa "Stile di disegno", da cui è possibile selezionare qualsiasi stile di disegno. Questa macro rende disponibili 2 degli stili di disegno come pulsanti cliccabili su una barra degli strumenti, su cui l'utente può fare clic per alternare tra i due stili di disegno.
Vedere anche:
Attivare/disattivare la modalità di visualizzazione globale: Macro_Toggle_Drawstyle_Optimized_2.FCMacro
Attivare/disattivare la modalità di visualizzazione degli oggetti selezionati (le modifiche sono visibili solo nella modalità di visualizzazione globale "Così com'è" (situata sulla barra degli strumenti Visualizza)): Macro_Toggle_Drawstyle_Optimized_3.FCMacro

Versione macro: 2.0
Ultima modifica: 2020-29-01
Versione FreeCAD: 0.17 and above
Download: ToolBar Icon
Autore: Piffpoof, triplus

Autore
Piffpoof, triplus
Download
ToolBar Icon
Link
Versione macro
2.0
Data ultima modifica
2020-29-01
Versioni di FreeCAD
0.17 and above
Scorciatoia
Nessuna
Vedere anche
Macro Toggle Drawstyle

Descrizione

Script ottimizzato per tutte le lingue e per oggetti selezionati o tutti gli oggetti.

Sono disponibili tre macro:

Quando si lavora con FreeCAD, a volte è necessario modificare rapidamente lo stile di disegno dell'oggetto su cui si sta lavorando. Questa funzione è disponibile tramite il menu a discesa "Stile di disegno", da cui è possibile selezionare qualsiasi stile di disegno. Questa macro rende disponibili due degli stili di disegno come pulsanti cliccabili su una barra degli strumenti, su cui l'utente può cliccare per passare da uno all'altro.

Installazione

L'installazione consiste nel copiare i due codici nella directory Macro appropriata e richiamarli dal menu Macro. È decisamente preferibile aggiungerli entrambi a una barra degli strumenti per renderli più facilmente accessibili.

Utilizzo

Selezionare un oggetto, quindi fare clic sul pulsante della barra degli strumenti associato o richiamarlo dal menu Macro. Lo stile di disegno dell'oggetto selezionato alternerà uno dei due stili di disegno specificati nel codice della macro (vedere il listato del codice qui di seguito).

Script

Combinazione che attiva o disattiva la modalità di visualizzazione globale quando non è selezionato nulla e / o attiva la modalità di visualizzazione degli oggetti selezionati se gli oggetti sono selezionati. Quando gli oggetti sono selezionati, la modalità di visualizzazione globale viene automaticamente impostata su Come è:

Icona barra degli strumenti

Macro_Toggle_Drawstyle_Optimized.FCMacro

# triplus @ 2016, 2020
# Toggle object/global display mode
# ==============================

# 0 = "As is"
# 1 = "Flat lines"
# 2 = "Shaded
# 3 = "Wireframe"
# 4 = "Points"
# 5 = "Hidden line"
# 6 = "No shading"

globalA = 0
globalB = 3

a = "Flat Lines"
b = "Shaded"
c = "Wireframe"
d = "Points"

objectA = a
objectB = c

# ==============================

from PySide import QtGui
import FreeCADGui as Gui

mw = Gui.getMainWindow()
sel = Gui.Selection.getSelectionEx()


act = {
    0: mw.findChild(QtGui.QAction, "Std_DrawStyleAsIs"),
    1: mw.findChild(QtGui.QAction, "Std_DrawStyleFlatLines"),
    2: mw.findChild(QtGui.QAction, "Std_DrawStyleShaded"),
    3: mw.findChild(QtGui.QAction, "Std_DrawStyleWireframe"),
    4: mw.findChild(QtGui.QAction, "Std_DrawStylePoints"),
    5: mw.findChild(QtGui.QAction, "Std_DrawStyleHiddenLine"),
    6: mw.findChild(QtGui.QAction, "Std_DrawStyleNoShading"),
}


default = act[0]
actionA = act[globalA]
actionB = act[globalB]


if sel:
    obj = []
    default.trigger()
    for s in sel:
        if s.Object.TypeId == "App::Link":
            if s.Object.LinkedObject not in obj:
                obj.append(s.Object.LinkedObject)
        elif s.Object not in obj:
            obj.append(s.Object)
        else:
            pass

    for o in obj:
        if o.ViewObject.DisplayMode == objectA:
            o.ViewObject.DisplayMode = objectB
        else:
            o.ViewObject.DisplayMode = objectA
else:
    if actionA.isChecked():
        actionB.trigger()
    else:
        actionA.trigger()

Script 2

Attiva/disattiva modalità di visualizzazione globale:

The icon ToolBar

Macro_Toggle_Drawstyle_Optimized_2.FCMacro

# triplus @ 2016, 2020
# Toggle global display mode
# ==============================

# 0 = "As is"
# 1 = "Flat lines"
# 2 = "Shaded
# 3 = "Wireframe"
# 4 = "Points"
# 5 = "Hidden line"
# 6 = "No shading"

styleA = 0
styleB = 3

# ==============================

from PySide import QtGui
import FreeCADGui as Gui

mw = Gui.getMainWindow()


act = {
    0: mw.findChild(QtGui.QAction, "Std_DrawStyleAsIs"),
    1: mw.findChild(QtGui.QAction, "Std_DrawStyleFlatLines"),
    2: mw.findChild(QtGui.QAction, "Std_DrawStyleShaded"),
    3: mw.findChild(QtGui.QAction, "Std_DrawStyleWireframe"),
    4: mw.findChild(QtGui.QAction, "Std_DrawStylePoints"),
    5: mw.findChild(QtGui.QAction, "Std_DrawStyleHiddenLine"),
    6: mw.findChild(QtGui.QAction, "Std_DrawStyleNoShading"),
}


actionA = act[styleA]
actionB = act[styleB]


if actionA.isChecked():
    actionB.trigger()
else:
    actionA.trigger()

Script 3

Attiva/disattiva la modalità di visualizzazione degli oggetti selezionati (le modifiche sono visibili solo nella modalità di visualizzazione globale così com'è (situata sulla barra degli strumenti Visualizza)):

The icon ToolBar

Macro_Toggle_Drawstyle_Optimized_3.FCMacro

# triplus @ 2016, 2020
# Toggle selected object(s) display mode
# ==============================

a = "Flat Lines"
b = "Shaded"
c = "Wireframe"
d = "Points"

styleA = a
styleB = c

# ==============================

from PySide import QtGui
import FreeCADGui as Gui

obj = []
mw = Gui.getMainWindow()
sel = Gui.Selection.getSelectionEx()
mw.findChild(QtGui.QAction, "Std_DrawStyleAsIs").trigger()


for s in sel:
    if s.Object.TypeId == "App::Link":
        if s.Object.LinkedObject not in obj:
            obj.append(s.Object.LinkedObject)
    elif s.Object not in obj:
        obj.append(s.Object)
    else:
        pass


for o in obj:
    if o.ViewObject.DisplayMode == styleA:
        o.ViewObject.DisplayMode = styleB
    else:
        o.ViewObject.DisplayMode = styleA

Link

Link al forum (2016-11-27 ver:1.0 FC =< 0.17) : Keyboard shortcut, View toolbar - Wireframe

Link al forum (2020-29-01 ver:2.0 FC => 0.17) : Keyboard shortcut, View toolbar - Wireframe