Macro Copy3DViewToClipboard/fr: Difference between revisions
(Created page with "par") |
(Updating to match new version of source page) |
||
Line 28: | Line 28: | ||
L'icône pour votre barre d'outil [[File:Macro_Copy3DViewToClipboard.png]] |
L'icône pour votre barre d'outil [[File:Macro_Copy3DViewToClipboard.png]] |
||
'''Macro_Copy3DViewToClipboard.FCMacro''' |
'''Macro_Copy3DViewToClipboard.FCMacro''' |
||
{{Code|code= |
|||
# -*- coding: utf-8 -*- |
|||
import PySide |
|||
from PySide.QtGui import * |
|||
from PySide import QtGui ,QtCore |
|||
from PySide import QtOpenGL |
|||
#from gimpfu import * |
|||
<!--T:12--> |
|||
__title__ = "Macro_Copy3DViewToClipboard" |
|||
__author__ = "Mario52" |
|||
__url__ = "http://www.freecadweb.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)}} |
|||
Revision as of 20:20, 20 September 2016
File:Macro Copy3DViewToClipboard Macro Copy3DViewToClipboard |
Description |
---|
Copie le contenu de la vue 3DView dans la mémoire Macro version: 00.01 Author: Mario52 |
Author |
Mario52 |
Download |
None |
Links |
Macros recipes How to install macros How to customize toolbars |
Macro Version |
00.01 |
Date last modified |
None |
FreeCAD Version(s) |
None |
Default shortcut |
None |
See also |
None |
Description
Cette macro copie le contenu de la vue 3D redimensionnée en 640 x 480 pixels dans la mémoire.
Utilisation
- Lancez la macro.
- Pressez la touche G pour copier le contenu de la vue 3D.
- Pressez la touche Q pour quitter la macro.
PS: Si vous voulez définir une autre résolution d'image, modifiez les valeurs de la ligne numéro 33 ex:
glw.resize(640, 480) # reduce the SubWindow
par
glw.resize(800, 600) # reduce the SubWindow
Discussion
La discussion sur le forum Copy contents of 3D view to clipboard.
Script
L'icône pour votre barre d'outil
Macro_Copy3DViewToClipboard.FCMacro