|
|
| Beschreibung |
|---|
| Skript optimiert für alle Sprachen und für ausgewählte Objekte oder alle Objekte. Bei der Arbeit mit FreeCAD gibt es Situationen, in denen der Zeichenstil des Objekts, mit dem gearbeitet wird, schnell geändert werden soll. Dies ist über das Pulldown-Menü Zeichenstil möglich, in dem ein beliebiger Zeichenstil auswählt werden kann. Dieses Makro macht zwei der Zeichenstile als anklickbare Schaltfläche in einer Symbolleiste verfügbar, auf die der Benutzer klicken kann, um zwischen den beiden Zeichenstilen hin und her zu wechseln. |
| Autor |
| Piffpoof, triplus |
| Herunterladen |
| Werkzeugleisten-Symbol |
| Links |
| Makros Rezepte Wie man Makros installiert Symbolleisten anpassen |
| Macro-Version |
| 2.0 |
| Datum der letzten Änderung |
| 2020-29-01 |
| FreeCAD-Version(s) |
| 0.17 und höher |
| Standardverknüpfung |
| None |
| Siehe auch |
| Makro Zeichenstil umschalten |
Beschreibung
Skript optimiert für alle Sprachen und für ausgewählte Objekte oder alle Objekte.
Es stehen drei Makros zur Verfügung:
- Kombination, die den globalen Anzeigemodus umschaltet, wenn nichts ausgewählt ist, und/oder den Anzeigemodus für ausgewählte Objekte umschaltet, wenn Objekte ausgewählt sind. Wenn Objekte ausgewählt sind, wird der globale Anzeigemodus automatisch auf „Wie ist“ gesetzt:
Macro_Toggle_Drawstyle_Optimized.FCMacro - Globalen Anzeigemodus umschalten:
Macro_Toggle_Drawstyle_Optimized_2.FCMacro - Anzeigemodus für ausgewählte Objekte umschalten (Änderungen sind nur im globalen Anzeigemodus „Wie angezeigt“ (in der Symbolleiste „Ansicht“) sichtbar):
Macro_Toggle_Drawstyle_Optimized_3.FCMacro
Bei der Arbeit mit FreeCAD gibt es Situationen, in denen der Zeichenstil des Objekts, mit dem gearbeitet wird, schnell geändert werden soll. Dies ist über das Pulldown-Menü „Zeichenstil“ möglich, in dem Sie einen beliebigen Zeichenstil auswählen können. Dieses Makro macht zwei der Zeichenstile als anklickbare Schaltfläche in einer Symbolleiste verfügbar, auf die der Benutzer klicken kann, um zwischen den beiden Zeichenstilen hin und her zu wechseln.
Installation
Die Installation besteht darin, die beiden Codes in das entsprechende Makroverzeichnis zu kopieren und sie über das Makro-Menü aufzurufen. Es ist sehr empfehlenswert, sie beide zu einer Symbolleiste hinzuzufügen, damit sie leichter zugänglich sind.
- Informationen zur Installation dieses Makro-Codes finden Sie unter Wie man Makros installiert.
- Informationen zur Installation als Schaltfläche in einer Symbolleiste finden Sie unter Symbolleisten anpassen.
Anwendung
Wähle ein Objekt aus, klicke dann auf die entsprechende Schaltfläche in der Symbolleiste oder rufe die Funktion über das Menü „Makro“ auf. Der Zeichenstil des ausgewählten Objekts wechselt zwischen den beiden im Makrocode angegebenen Zeichenstilen (siehe Code-Auflistung unten).
Skript
Kombination, die den globalen Anzeigemodus umschaltet, wenn nichts ausgewählt ist, und/oder den Anzeigemodus für ausgewählte Objekte umschaltet, wenn Objekte ausgewählt sind. Wenn Objekte ausgewählt sind, wird der globale Anzeigemodus automatisch auf „Wie ist“ gesetzt:
Werkzeugleistensymbol
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()
Skript 2
Globalen Anzeigemodus umschalten:
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()
Skript 3
Anzeigemodus für ausgewählte Objekte umschalten (Änderungen sind nur im globalen Anzeigemodus „Wie angezeigt“ (in der Symbolleiste „Ansicht“) sichtbar):
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
Verweise
Diskussion im FreeCAD-Forum: (2016-11-27 ver:1.0 FC =< 0.17) : Keyboard shortcut, View toolbar - Wireframe
Diskussion im FreeCAD-Forum: (2020-29-01 ver:2.0 FC => 0.17) : Keyboard shortcut, View toolbar - Wireframe
Diese Seite wird abgerufen von https://wiki.freecad.org/Macro_Toggle_Drawstyle_Optimized