Macro Megaminx

From FreeCAD Documentation
Revision as of 11:05, 2 January 2022 by Roy 043 (talk | contribs) (Marked this version for translation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Other languages:


This macro creates a virtual Megaminx.

Last modified: 2019-02-17
FreeCAD version: 0.18 and higher
Download: ToolBar Icon
Author: aleph0
ToolBar Icon
Macro Version
Date last modified
FreeCAD Version(s)
0.18 and higher
Default shortcut
See also
Macro Rubik Cube


This macro creates a FreeCAD document containing a virtual a virtual Megaminx and enables you to manipulate it. It displays six views of the Megaminx including each of the twelve faces at least once. There are various arrows (each with a tooltip which will be displayed as long as you hover the mouse over it). By clicking on arrows you can rotate faces of the Megaminx, rotate the whole Megaminx, or rotate or reflect the history which it maintains of the rotations that you have done so far. There is also a Megaminx menu which is shown at the right of the menu bar as long as you have at least one Megaminx document open. From the menu you can display some help text, reset the Megaminx to its initial (solved) state, undo the last rotation (and remove it from the history), copy the history to the clipboard, step through the history, randomise the Megaminx, and enable or disable the echoing of rotations to the Report View. All of these functions can also be invoked by typing suitable commands into the Python console window.

A history saved to the clipboard can be pasted into the Python console window or copied into a file which can be called as a macro into the active Megaminx document. You can have more than one Megaminx document open at a time, although only one can be active.


ToolBar icon

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,
    "This macro must be downloaded from this link\n"
    "" + "\n"
    "Quit this window to access the download page")


import webbrowser"")



Download the code from into your macro directory. Run the macro to create a Megaminx document. Then you can play with it. The history functions can be used to construct and save operators (aka algorithms) which do useful transformations on the Megaminx. A suitable set of these will give you a complete solution. The step_history function can be used to help you play back an operator onto a real Megaminx.