FreeCAD

Форк
0
/
mainwindow3.py 
60 строк · 1.5 Кб
1
import sys
2

3
# sys.path.append("")
4

5
from PySide import QtCore, QtGui
6
import FreeCAD, FreeCADGui
7
import ctypes
8

9
from ui_mainwindow import Ui_MainWindow
10

11

12
class MainWindow(QtGui.QMainWindow):
13
    def __init__(self, parent=None):
14
        super(MainWindow, self).__init__(parent)
15
        from PySide import QtNetwork
16

17
        QtNetwork.QNetworkConfigurationManager()
18

19
    @QtCore.Slot()
20
    def on_actionEmbed_triggered(self):
21
        FreeCADGui.showMainWindow()
22
        hwnd = self.winId()
23
        PyCObject_AsVoidPtr = ctypes.PYFUNCTYPE(ctypes.c_void_p, ctypes.py_object)(
24
            ("PyCObject_AsVoidPtr", ctypes.pythonapi)
25
        )
26
        addr = PyCObject_AsVoidPtr(hwnd)
27
        FreeCADGui.embedToWindow(hex(addr))
28

29
        # Need version >= 0.16.5949
30
        class BlankWorkbench(FreeCADGui.Workbench):
31
            MenuText = "Blank"
32
            ToolTip = "Blank workbench"
33

34
            def Initialize(self):
35
                return
36

37
            def GetClassName(self):
38
                return "Gui::BlankWorkbench"
39

40
        FreeCADGui.addWorkbench(BlankWorkbench)
41
        FreeCADGui.activateWorkbench("BlankWorkbench")
42

43
    @QtCore.Slot()
44
    def on_actionDocument_triggered(self):
45
        FreeCAD.newDocument()
46

47
    @QtCore.Slot()
48
    def on_actionCube_triggered(self):
49
        FreeCAD.ActiveDocument.addObject("Part::Box")
50
        FreeCAD.ActiveDocument.recompute()
51
        FreeCADGui.ActiveDocument.ActiveView.fitAll()
52

53

54
app = QtGui.QApplication(sys.argv)
55
ui = Ui_MainWindow()
56
mw = MainWindow()
57
ui.setupUi(mw)
58
mw.resize(1200, 800)
59
mw.show()
60
app.exec_()
61

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.