Beschreibung |
---|
Makro kopiert den Inhalt der 3D-Ansicht als Bitmap-Bild (BMP) in die Zwischenablage. Das Kopieren in Gimp ist nicht möglich. Gimp verwendet für die Kopierfunktion eine eigene Methode. Versionsmakro : 00.01 Datum der letzten Änderung : 2016-09-14 FreeCAD version : <=0.17 Herunterladen : Werkzeugleisten-Symbol Autor: Mario52 |
Autor |
Mario52 |
Herunterladen |
Werkzeugleisten-Symbol |
Links |
Makros Rezepte Wie man Makros installiert Symbolleisten anpassen |
Macro-Version |
00.01 |
Datum der letzten Änderung |
2016-09-14 |
FreeCAD-Version(s) |
<=0.17 |
Standardverknüpfung |
G, Q |
Siehe auch |
Makro Snip ![]() Makro Screen Wiki ![]() |
Macro kopiert den Inhalt der 3D-Ansicht als Bitmap-Bild (BMP) in die Zwischenablage. Das Kopieren in Gimp ist nicht möglich. Gimp verwendet für die Kopierfunktion eine eigene Methode.
Temporary code for external macro link. Do not use this code. This code is used exclusively by Addon Manager. Link for optional manual installation: Macro
# This code is copied instead of the original macro code # to guide the user to the online download page. # Use it if the code of the macro is larger than 64 KB and cannot be included in the wiki # or if the RAW code URL is somewhere else in the wiki. from PySide import QtGui, QtCore diag = QtGui.QMessageBox(QtGui.QMessageBox.Information, "Information", "This macro must be downloaded from this link\n" "\n" "https://gist.githubusercontent.com/mario52a/f5c3738f858f7b058897c6c235232cbe/raw/a10bc3b8789badc1e405541d4697d7286d9f0fd3/Macro_Copy3DViewToClipboard.FCMacro" + "\n" "\n" "Quit this window to access the download page") diag.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) diag.setWindowModality(QtCore.Qt.ApplicationModal) diag.exec_() import webbrowser webbrowser.open("https://gist.githubusercontent.com/mario52a/f5c3738f858f7b058897c6c235232cbe/raw/a10bc3b8789badc1e405541d4697d7286d9f0fd3/Macro_Copy3DViewToClipboard.FCMacro")
P.S.: Wenn andere Formate gewünscht werden, ändere die Werte in Zeile 33, z. B.:
line 33 : glw.resize(640, 480) # reduce the SubWindow
zu
line 33 : glw.resize(800, 600) # reduce the SubWindow
Diskussion im FreeCAD-Forum: [1].
Macro_Copy3DViewToClipboard.FCMacro
# -*- coding: utf-8 -*- import PySide from PySide.QtGui import * from PySide import QtGui ,QtCore from PySide import QtOpenGL #from gimpfu import * __title__ = "Macro_Copy3DViewToClipboard" __author__ = "Mario52" __url__ = "https://freecad.org/index-fr.html" __version__ = "00.01" __date__ = "14/09/2016" class ViewObserver: print "run FCGrab .." def logPosition(self, info): import tempfile import os from PySide import QtGui pos = info["Key"] if pos.upper() == "G": pos = "" mw=Gui.getMainWindow() gl=mw.findChildren(QtOpenGL.QGLWidget) glw=gl[0] # just use the first element originalsize = glw.size() # originalsize SubWindow print "originalsize : ",originalsize.width(),", ", originalsize.height() glw.resize(640, 480) # reduce the SubWindow glw.show() Gui.SendMsgToActiveView("ViewFit") print "resize in : ",glw.frameGeometry().width()," ",glw.frameGeometry().height() i=glw.grabFrameBuffer() cb=QtGui.qApp.clipboard() cb.setImage(i) glw.resize(originalsize.width(), originalsize.height()) # restore originalsize SubWindow print "Grab" if (pos.upper() == "Q"): v.removeEventCallback("SoKeyboardEvent",c) print "End FCGrab" v=Gui.activeDocument().activeView() o = ViewObserver() c = v.addEventCallback("SoKeyboardEvent",o.logPosition)