Macro Screen Wiki
Description |
---|
Special macro for the Wiki user. This macro allows to save the 3D view in the desired format. The 3D view or the full 3D window of FreeCAD takes the desired dimensions. A rotation of the selected object or of the 3D view is possible to give a rotation angle the number of images is calculated automatically it is possible to give a departure angle and an arrival angle. You must use another Gimp example program to assemble the images and create the animated file. Macro version: 00.06c Last modified: 2024/10/10 FreeCAD version: 0.19 and more Download: ToolBar Icon Author: Mario52 |
Author |
Mario52 |
Download |
ToolBar Icon |
Links |
Macros recipes How to install macros How to customize toolbars |
Macro Version |
00.06c |
Date last modified |
2024/10/10 |
FreeCAD Version(s) |
0.19 and more |
Default shortcut |
None |
See also |
Macro Copy3DViewToClipboard, Macro Snip |
Description
This macro allows the user save the 3D view in a desired format. The 3D view or the full 3D window of FreeCAD takes the desired dimensions. A rotation of the selected object or of the 3D view is possible to give a rotation angle the number of images is calculated automatically it is possible to give a departure angle and an arrival angle. You must use another Gimp example program to assemble the images and create the animated file.
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/61571ce0bd41af0471995df7c3ea855f/raw/14deef95d2276c1095ea7eefb75dc5b5e4be4e04/Macro_Screen_Wiki.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/61571ce0bd41af0471995df7c3ea855f/raw/14deef95d2276c1095ea7eefb75dc5b5e4be4e04/Macro_Screen_Wiki.FCMacro")
Macro Screen Wiki Image and configuration window
Macro Screen Wiki Rotation window
Usage
Image options
Definition
400x200
600x400 (Default)
1024x768
320x240 (QVGA)
320x480 (HVGA)
400x300
480x360
640x480 (VGA)
768x576 (PAL)
800x600 (SVGA)
960x720
1024x768 (XGA)
Format image
Window
BackGround Color
Command
- Set Screen: Docked window
- Tile Screen: Fly window
- Save Image: Save the image, for ex: imageBox_000.png (the _000 is incremented with each new image)
- Follow: After saving the first image, press this button to save the next image with the same name. The images saved is incremented, for ex: imageBox_001.png, imageBox_002.png, imageBox_003.png,
etc...
- New Image: Save one new image without change the counter
- Rotation: Access to the rotation menu (the title of the section "Image options" change to "Rotation options"
- Quit: ___Screen_Wiki end__________
- ToolBar: Reduce the image window in a toolBar, the Rotation option is not available in this mode
Rotation options
Rotation on
Axis
Point Rotation BoundBox
- Object: Rotation on the BoundBox center of the object selected
- Sub Object: Rotation on the BoundBox center of the sub object selected
Angles
- Angle Rotation
- Number images
- Angle Begin Rotation
- -: Decrease the value by 10 degrees
- 0 Degrees
: Value: Angle of the starting rotation
- +: Increase the value by 10 degrees
- Degrees Angle End Rotation
- -: Decrease the value by 10 degrees
- 360 Degrees
: Value: Angle of the end rotation
- +: Increase the value by 10 degrees
Command
- Delay between 2 images
- 0,00 Delay second
: If there is a problem saving images due to speed, then add a delay of X seconds.
Reverse: Checked, this option reverses the rotation 3D view or Object
- Point center: Visualize the point center of rotation, if the point is visible the point is include in the image (PS: the point can be hidden by an object)
Original position: This option restores the original position of the 3D View or the Object rotated. Instead fo the 3D view or the Object staying in the last position of the rotation.
- Test Rot.: Testing the rotation without saving images
- Save the animation: Save the animation
Examples
Captured screen with dimensions of 640px x 400px
Same dimensions as the previous image, this one is captured as 'Tile Screen'.
Animation mode: Object selected and direction BoundBox center Object.
The images must be assembled with a 3rd party application to create an animated .gif
such as GIMP or ScreenToGif
Animation mode: Object Direction SubObject selected.
The images must be assembled with a 3rd party application that creates an animated .gif
such as GIMP or ScreenToGif
The FreeCAD window resized. The dimension may be different from the definition (depending on the Widget, title bar etc... used.)
Versions
Version=00.06c: 10/10/2024 : delete "import WebGui"
Version=00.06: Version=00.06b: 2023/06/26 : adding select number image, button test rotation, button visualize the point rotation, adding code by wmayer center rotation on center screen :
#https://forum.freecadweb.org/viewtopic.php?f=22&t=10157
cam = Gui.ActiveDocument.ActiveView.getCameraNode()
position = cam.position.getValue()
orient = cam.orientation.getValue()
focalDistance = cam.focalDistance.getValue()
viewdir = coin.SbVec3f(0, 0, -1)
viewdir = orient.multVec(viewdir)
pointRotation = position + viewdir * focalDistance
pointRotation = pointRotation2 = App.Vector(pointRotation.getValue()[0], pointRotation.getValue()[1], pointRotation.getValue()[2])
Version=00.05: 2021/05/21 : adding code in Save file section for Linux Mint QFileDialog ignore the extension. Only the Path+name is displayed
global switchQFileDialogMint
#### mint
if switchQFileDialogMint == True: #
Filter = Filter[Filter.find("."):Filter.find(")")]
SaveName = SaveName + Filter
#### mint
Version=00.04: 2021/01/13 : adding mini ToolBar
Version=0.03: 2020/10/30 : create a tool bar for the image and new button for unique image
Version=0.02: 2020/05/04 : correct bug color button (self.PB_01_Color obsolete)
Version=0.01: 2020/03/21