コード例 #1
0
    def __init__(self):
        super().__init__("Calibration Controller")

        # Create a spot for the canvas to show the points and location
        self._canvas = ControlEmptyWidget()
        self._canvas.form.setSizePolicy(QSizePolicy(
            QSizePolicy.MinimumExpanding, QSizePolicy.MinimumExpanding))
        self._canvas.form.setMinimumWidth(500)
        self._canvas.form.setMinimumHeight(500)
        self._canvas.value = Canvas()

        # Create a spot for the tabs with configuration
        self._tabs = ControlEmptyWidget()
        self._tabs.form.setSizePolicy(QSizePolicy(
            QSizePolicy.Fixed, QSizePolicy.MinimumExpanding))
        self._tabs.form.setMinimumWidth(400)
        self._tabs.form.setMinimumHeight(500)
        # Create a tabs widget and give it the _update_events(event) function to call whenever there is an event
        self._tabs.value = TabWidget(self._update_events)

        # Create a progress bar
        self._progress = ControlProgress(
            label='%v/%m Steps | %p%',
            default=0,
            min=0,
            max=1
        )

        self.formset = [
            ('_tabs', '_canvas'),
            '_progress'
        ]
コード例 #2
0
ファイル: app.py プロジェクト: rteshnizi/tethered-pair-v2
 def __init__(self):
     self._presetsDir = os.path.join(os.path.dirname(__file__), "..",
                                     "presets")
     self.master = tk.Tk()
     self.master.title("Tethered Pair Simulation")
     self.master.geometry("1100x850")
     super().__init__(self.master)
     self.pack()
     self.chosenPreset = tk.StringVar(master=self.master)
     self.chosenHeuristic = tk.StringVar(master=self.master)
     self._dbg = {
         # 'Print Mouse': tk.IntVar(master=self.master, value=0),
         'Test Vis Graph': tk.IntVar(master=self.master, value=0),
         'Test Triangulation': tk.IntVar(master=self.master, value=0),
         'Test Tighten Alg': tk.IntVar(master=self.master, value=0),
         'Debug Flag': tk.IntVar(master=self.master, value=0)
     }
     self.createDropdown()
     self.createButtons()
     self.createDebugOptions()
     self.canvas = Canvas(self.master, self)
コード例 #3
0
ファイル: main_window.py プロジェクト: Ksenox/ANN-2021
    def __init__(self):
        super().__init__()
        self._model_handler = ModelHandler("model_1.h5")
        self.setWindowTitle("ANN #4")
        self.setFixedSize(*WIN_SIZE)
        self._canvas = Canvas(self)
        self._menubar = MenuBar(self)

        self._labels = [QtWidgets.QLabel(f'{x}: 0.0') for x in range(10)]
        self._result_label = QtWidgets.QLabel(f'It`s ..?')
        self._result_label.setFont(QtGui.QFont('Arial', 16))

        self._right_layout = QtWidgets.QVBoxLayout()
        for label in self._labels:
            self._right_layout.addWidget(label)
        self._right_layout.addWidget(self._result_label)

        self._main_layout = QtWidgets.QHBoxLayout()
        self._main_layout.addWidget(self._canvas)
        self._main_layout.addLayout(self._right_layout)
        self.setLayout(self._main_layout)
コード例 #4
0
ファイル: app.py プロジェクト: rteshnizi/tethered-pair-v2
class TetheredPairApp(tk.Frame):
    def __init__(self):
        self._presetsDir = os.path.join(os.path.dirname(__file__), "..",
                                        "presets")
        self.master = tk.Tk()
        self.master.title("Tethered Pair Simulation")
        self.master.geometry("1100x850")
        super().__init__(self.master)
        self.pack()
        self.chosenPreset = tk.StringVar(master=self.master)
        self.chosenHeuristic = tk.StringVar(master=self.master)
        self._dbg = {
            # 'Print Mouse': tk.IntVar(master=self.master, value=0),
            'Test Vis Graph': tk.IntVar(master=self.master, value=0),
            'Test Triangulation': tk.IntVar(master=self.master, value=0),
            'Test Tighten Alg': tk.IntVar(master=self.master, value=0),
            'Debug Flag': tk.IntVar(master=self.master, value=0)
        }
        self.createDropdown()
        self.createButtons()
        self.createDebugOptions()
        self.canvas = Canvas(self.master, self)

    @property
    def debugFlag(self) -> bool:
        return self._dbg['Debug Flag'].get() == 1

    @property
    def shouldPrintMouse(self) -> bool:
        return False
        # return self._dbg['Print Mouse'].get() == 1

    @property
    def shouldDebugTriangulation(self) -> bool:
        return self._dbg['Test Triangulation'].get() == 1

    @property
    def shouldDebugTighten(self) -> bool:
        return self._dbg['Test Tighten Alg'].get() == 1

    @property
    def shouldDebugVisGraph(self) -> bool:
        return self._dbg['Test Vis Graph'].get() == 1

    def _getJsonPresets(self):
        isJson = lambda f: f.lower().endswith(".json")
        isNumbered = lambda f: f[:-5].isdigit()
        isStr = lambda f: not f[:-5].isdigit()
        # Get JSON files
        files = os.listdir(self._presetsDir)
        files = filter(isJson, files)
        # Separate numbered file names from string files names. They should be sorted separately
        numberedFiles = []
        stringFiles = []
        for fName in files:
            withoutExt = fName[:-5]  # Remove json from the end
            # I know this is not PyThOnIc. I don't need all these stupid exception b/c I actually have useful exceptions in my algorithm
            if withoutExt.isdigit():
                withoutExt = int(
                    withoutExt
                )  # convert to int or raise exception (meaning it's a string)
                numberedFiles.append(withoutExt)
            else:
                stringFiles.append(fName)
        # Sort files: string files names first, numbered test cases second
        numberedFiles = ["%d.json" % fName for fName in sorted(numberedFiles)]
        stringFiles = sorted(stringFiles)
        return stringFiles + numberedFiles

    def createDropdown(self):
        options = self._getJsonPresets()
        self.chosenPreset.set(options[0])
        self.presets = tk.OptionMenu(self.master, self.chosenPreset, *options)
        self.presets.pack(side=tk.TOP)

        self.loadPresetBtn = tk.Button(self)
        self.loadPresetBtn["text"] = "Load Preset"
        self.loadPresetBtn["command"] = self.loadPreset
        self.loadPresetBtn.pack(side=tk.TOP)

    def loadPreset(self):
        mapPath = self.chosenPreset.get()
        mapPath = os.path.join(self._presetsDir, mapPath)
        mapPath = os.path.abspath(mapPath)
        self.readMapJson(mapPath)

    def createButtons(self):
        self.browseBtn = tk.Button(self)
        self.browseBtn["text"] = "Select Map Json"
        self.browseBtn["command"] = self.selectMapFile
        self.browseBtn.pack(side=tk.TOP)

        heuristics = [
            "_heuristicNone", "_heuristicLineDist", "_heuristicShortestPath",
            "_heuristicTrmpp"
        ]
        self.chosenHeuristic.set(heuristics[2])
        self.heuristics = tk.OptionMenu(self.master, self.chosenHeuristic,
                                        *heuristics)
        self.heuristics.pack(side=tk.TOP)

        self.runBtn = tk.Button(self)
        self.runBtn["state"] = tk.DISABLED
        self.runBtn["text"] = "A*"
        self.runBtn["command"] = self.run
        self.runBtn.pack(side=tk.TOP)

        self.runDpBtn = tk.Button(self)
        self.runDpBtn["state"] = tk.DISABLED
        self.runDpBtn["text"] = "DP"
        self.runDpBtn["command"] = self.runDp
        self.runDpBtn.pack(side=tk.TOP)

    def selectMapFile(self):
        mapPath = filedialog.askopenfilename(
            initialdir=self._presetsDir,
            title="Select Map",
            filetypes=(
                ("JSON Files",
                 "*.json"), ))  # The trailing comma in filetypes is needed
        if (not mapPath):
            return
        mapPath = os.path.abspath(mapPath)
        self.readMapJson(mapPath)

    def readMapJson(self, absolutePath):
        if (not os.path.isfile(absolutePath)):
            return
        self.canvas.buildPreset(absolutePath)
        print("Max L = %.2f" % self.canvas.model.MAX_CABLE)
        self.runBtn["state"] = tk.NORMAL
        self.runDpBtn["state"] = tk.NORMAL

    def createDebugOptions(self):
        for (text, variable) in self._dbg.items():
            checkbox = tk.Checkbutton(master=self.master,
                                      text=text,
                                      variable=variable)
            checkbox.pack(side=tk.TOP)

    def run(self):
        if self.shouldDebugVisGraph:
            processReducedVisibilityGraph(True)
        elif not self.shouldDebugTighten and self.shouldDebugTriangulation:
            (cable, dest1, dest2) = (self.canvas.model.cable,
                                     self.canvas.model.robots[0].destination,
                                     self.canvas.model.robots[1].destination)
            (cable, dest1, dest2) = preprocessTheCable(cable, dest1, dest2)
            (cable, dest1,
             dest2) = pushCableAwayFromObstacles(cable, dest1, dest2)
            tri = testTriangulation(cable, dest1, dest2)
            print("triangles:", tri.triangleCount)
        elif self.shouldDebugTighten:
            cable = testTightenCable(self.shouldDebugTriangulation)
            self.canvas._renderCable(cable)
        else:
            solution = aStar(self.chosenHeuristic.get(), self.debugFlag)
            self.canvas.renderSolution(solution, True)
        # Disable the button to force a reset
        self.runBtn["state"] = tk.DISABLED
        self.runDpBtn["state"] = tk.DISABLED

    def runDp(self):
        solution = dynamicProg(self.chosenHeuristic.get(), self.debugFlag)
        self.canvas.renderSolution(solution, True)
        # Disable the button to force a reset
        self.runBtn["state"] = tk.DISABLED
        self.runDpBtn["state"] = tk.DISABLED
コード例 #5
0
ファイル: dxf2gcode_ui4.py プロジェクト: atmelino/CNCMaker
    def setupUi(self, MainWindow):
        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.setWindowModality(QtCore.Qt.NonModal)
        MainWindow.resize(800, 600)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/images/DXF2GCODE-001.ico")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget)
        self.verticalLayout.setSpacing(6)
        self.verticalLayout.setContentsMargins(-1, -1, -1, 2)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.splitter = QtGui.QSplitter(self.centralwidget)
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setChildrenCollapsible(False)
        self.splitter.setObjectName(_fromUtf8("splitter"))
        self.mytabWidget = QtGui.QTabWidget(self.splitter)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(2)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.mytabWidget.sizePolicy().hasHeightForWidth())
        self.mytabWidget.setSizePolicy(sizePolicy)
        self.mytabWidget.setMinimumSize(QtCore.QSize(200, 0))
        self.mytabWidget.setAutoFillBackground(False)
        self.mytabWidget.setObjectName(_fromUtf8("mytabWidget"))
        self.tab = QtGui.QWidget()
        self.tab.setObjectName(_fromUtf8("tab"))
        self.verticalLayout_3 = QtGui.QVBoxLayout(self.tab)
        self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
        self.horizontalLayout_5 = QtGui.QHBoxLayout()
        self.horizontalLayout_5.setSpacing(1)
        self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
        self.blocksCollapsePushButton = QtGui.QPushButton(self.tab)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.blocksCollapsePushButton.sizePolicy().hasHeightForWidth())
        self.blocksCollapsePushButton.setSizePolicy(sizePolicy)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/images/collapse-all.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.blocksCollapsePushButton.setIcon(icon1)
        self.blocksCollapsePushButton.setIconSize(QtCore.QSize(24, 24))
        self.blocksCollapsePushButton.setObjectName(_fromUtf8("blocksCollapsePushButton"))
        self.horizontalLayout_5.addWidget(self.blocksCollapsePushButton)
        self.blocksExpandPushButton = QtGui.QPushButton(self.tab)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.blocksExpandPushButton.sizePolicy().hasHeightForWidth())
        self.blocksExpandPushButton.setSizePolicy(sizePolicy)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/images/expand-all.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.blocksExpandPushButton.setIcon(icon2)
        self.blocksExpandPushButton.setIconSize(QtCore.QSize(24, 24))
        self.blocksExpandPushButton.setObjectName(_fromUtf8("blocksExpandPushButton"))
        self.horizontalLayout_5.addWidget(self.blocksExpandPushButton)
        spacerItem = QtGui.QSpacerItem(13, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_5.addItem(spacerItem)
        self.verticalLayout_3.addLayout(self.horizontalLayout_5)
        self.entitiesTreeView = TreeView(self.tab)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.entitiesTreeView.sizePolicy().hasHeightForWidth())
        self.entitiesTreeView.setSizePolicy(sizePolicy)
        self.entitiesTreeView.setObjectName(_fromUtf8("entitiesTreeView"))
        self.verticalLayout_3.addWidget(self.entitiesTreeView)
        self.mytabWidget.addTab(self.tab, _fromUtf8(""))
        self.tab_2 = QtGui.QWidget()
        self.tab_2.setObjectName(_fromUtf8("tab_2"))
        self.verticalLayout_5 = QtGui.QVBoxLayout(self.tab_2)
        self.verticalLayout_5.setSpacing(1)
        self.verticalLayout_5.setMargin(5)
        self.verticalLayout_5.setObjectName(_fromUtf8("verticalLayout_5"))
        self.horizontalLayout_4 = QtGui.QHBoxLayout()
        self.horizontalLayout_4.setSpacing(1)
        self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
        self.layersCollapsePushButton = QtGui.QPushButton(self.tab_2)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.layersCollapsePushButton.sizePolicy().hasHeightForWidth())
        self.layersCollapsePushButton.setSizePolicy(sizePolicy)
        self.layersCollapsePushButton.setIcon(icon1)
        self.layersCollapsePushButton.setIconSize(QtCore.QSize(24, 24))
        self.layersCollapsePushButton.setObjectName(_fromUtf8("layersCollapsePushButton"))
        self.horizontalLayout_4.addWidget(self.layersCollapsePushButton)
        self.layersExpandPushButton = QtGui.QPushButton(self.tab_2)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.layersExpandPushButton.sizePolicy().hasHeightForWidth())
        self.layersExpandPushButton.setSizePolicy(sizePolicy)
        self.layersExpandPushButton.setIcon(icon2)
        self.layersExpandPushButton.setIconSize(QtCore.QSize(24, 24))
        self.layersExpandPushButton.setObjectName(_fromUtf8("layersExpandPushButton"))
        self.horizontalLayout_4.addWidget(self.layersExpandPushButton)
        spacerItem1 = QtGui.QSpacerItem(13, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem1)
        self.layersGoUpPushButton = QtGui.QPushButton(self.tab_2)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.layersGoUpPushButton.sizePolicy().hasHeightForWidth())
        self.layersGoUpPushButton.setSizePolicy(sizePolicy)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/images/go-up.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.layersGoUpPushButton.setIcon(icon3)
        self.layersGoUpPushButton.setIconSize(QtCore.QSize(24, 24))
        self.layersGoUpPushButton.setObjectName(_fromUtf8("layersGoUpPushButton"))
        self.horizontalLayout_4.addWidget(self.layersGoUpPushButton)
        self.layersGoDownPushButton = QtGui.QPushButton(self.tab_2)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.layersGoDownPushButton.sizePolicy().hasHeightForWidth())
        self.layersGoDownPushButton.setSizePolicy(sizePolicy)
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/images/go-down.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.layersGoDownPushButton.setIcon(icon4)
        self.layersGoDownPushButton.setIconSize(QtCore.QSize(24, 24))
        self.layersGoDownPushButton.setObjectName(_fromUtf8("layersGoDownPushButton"))
        self.horizontalLayout_4.addWidget(self.layersGoDownPushButton)
        self.verticalLayout_5.addLayout(self.horizontalLayout_4)
        self.layersShapesTreeView = TreeView(self.tab_2)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.layersShapesTreeView.sizePolicy().hasHeightForWidth())
        self.layersShapesTreeView.setSizePolicy(sizePolicy)
        self.layersShapesTreeView.setObjectName(_fromUtf8("layersShapesTreeView"))
        self.verticalLayout_5.addWidget(self.layersShapesTreeView)
        self.millSettingsFrame = QtGui.QFrame(self.tab_2)
        self.millSettingsFrame.setFrameShape(QtGui.QFrame.StyledPanel)
        self.millSettingsFrame.setFrameShadow(QtGui.QFrame.Raised)
        self.millSettingsFrame.setLineWidth(0)
        self.millSettingsFrame.setObjectName(_fromUtf8("millSettingsFrame"))
        self.verticalLayout_4 = QtGui.QVBoxLayout(self.millSettingsFrame)
        self.verticalLayout_4.setSpacing(0)
        self.verticalLayout_4.setMargin(2)
        self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
        self.horizontalLayout_3 = QtGui.QHBoxLayout()
        self.horizontalLayout_3.setSpacing(2)
        self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
        self.toolDiameterComboBox = QtGui.QComboBox(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.toolDiameterComboBox.sizePolicy().hasHeightForWidth())
        self.toolDiameterComboBox.setSizePolicy(sizePolicy)
        self.toolDiameterComboBox.setMaxVisibleItems(20)
        self.toolDiameterComboBox.setObjectName(_fromUtf8("toolDiameterComboBox"))
        self.horizontalLayout_3.addWidget(self.toolDiameterComboBox)
        self.verticalLayout_2 = QtGui.QVBoxLayout()
        self.verticalLayout_2.setSpacing(0)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.label_11 = QtGui.QLabel(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_11.sizePolicy().hasHeightForWidth())
        self.label_11.setSizePolicy(sizePolicy)
        self.label_11.setObjectName(_fromUtf8("label_11"))
        self.horizontalLayout.addWidget(self.label_11)
        self.toolDiameterLabel = QtGui.QLabel(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.toolDiameterLabel.sizePolicy().hasHeightForWidth())
        self.toolDiameterLabel.setSizePolicy(sizePolicy)
        self.toolDiameterLabel.setText(_fromUtf8("[mm]"))
        self.toolDiameterLabel.setObjectName(_fromUtf8("toolDiameterLabel"))
        self.horizontalLayout.addWidget(self.toolDiameterLabel)
        self.label_12 = QtGui.QLabel(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_12.sizePolicy().hasHeightForWidth())
        self.label_12.setSizePolicy(sizePolicy)
        self.label_12.setObjectName(_fromUtf8("label_12"))
        self.horizontalLayout.addWidget(self.label_12)
        self.toolSpeedLabel = QtGui.QLabel(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.toolSpeedLabel.sizePolicy().hasHeightForWidth())
        self.toolSpeedLabel.setSizePolicy(sizePolicy)
        self.toolSpeedLabel.setText(_fromUtf8("[rpm]"))
        self.toolSpeedLabel.setObjectName(_fromUtf8("toolSpeedLabel"))
        self.horizontalLayout.addWidget(self.toolSpeedLabel)
        self.verticalLayout_2.addLayout(self.horizontalLayout)
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
        self.label_13 = QtGui.QLabel(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_13.sizePolicy().hasHeightForWidth())
        self.label_13.setSizePolicy(sizePolicy)
        self.label_13.setObjectName(_fromUtf8("label_13"))
        self.horizontalLayout_2.addWidget(self.label_13)
        self.startRadiusLabel = QtGui.QLabel(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.startRadiusLabel.sizePolicy().hasHeightForWidth())
        self.startRadiusLabel.setSizePolicy(sizePolicy)
        self.startRadiusLabel.setText(_fromUtf8("[mm]"))
        self.startRadiusLabel.setObjectName(_fromUtf8("startRadiusLabel"))
        self.horizontalLayout_2.addWidget(self.startRadiusLabel)
        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
        self.horizontalLayout_3.addLayout(self.verticalLayout_2)
        self.verticalLayout_4.addLayout(self.horizontalLayout_3)
        self.gridLayout = QtGui.QGridLayout()
        self.gridLayout.setHorizontalSpacing(2)
        self.gridLayout.setVerticalSpacing(0)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.zInitialMillDepthLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.zInitialMillDepthLineEdit.sizePolicy().hasHeightForWidth())
        self.zInitialMillDepthLineEdit.setSizePolicy(sizePolicy)
        self.zInitialMillDepthLineEdit.setObjectName(_fromUtf8("zInitialMillDepthLineEdit"))
        self.gridLayout.addWidget(self.zInitialMillDepthLineEdit, 4, 1, 1, 1)
        self.horizontalLayout_13 = QtGui.QHBoxLayout()
        self.horizontalLayout_13.setSpacing(2)
        self.horizontalLayout_13.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_13.setObjectName(_fromUtf8("horizontalLayout_13"))
        self.label_7 = QtGui.QLabel(self.millSettingsFrame)
        self.label_7.setWordWrap(True)
        self.label_7.setObjectName(_fromUtf8("label_7"))
        self.horizontalLayout_13.addWidget(self.label_7)
        self.unitLabel_8 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_8.setText(_fromUtf8("[mm/min]"))
        self.unitLabel_8.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_8.setObjectName(_fromUtf8("unitLabel_8"))
        self.horizontalLayout_13.addWidget(self.unitLabel_8)
        self.gridLayout.addLayout(self.horizontalLayout_13, 7, 0, 1, 1)
        self.horizontalLayout_12 = QtGui.QHBoxLayout()
        self.horizontalLayout_12.setSpacing(2)
        self.horizontalLayout_12.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_12.setObjectName(_fromUtf8("horizontalLayout_12"))
        self.label_8 = QtGui.QLabel(self.millSettingsFrame)
        self.label_8.setObjectName(_fromUtf8("label_8"))
        self.horizontalLayout_12.addWidget(self.label_8)
        self.unitLabel_7 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_7.setText(_fromUtf8("[mm]"))
        self.unitLabel_7.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_7.setObjectName(_fromUtf8("unitLabel_7"))
        self.horizontalLayout_12.addWidget(self.unitLabel_7)
        self.gridLayout.addLayout(self.horizontalLayout_12, 6, 0, 1, 1)
        self.zInfeedDepthLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.zInfeedDepthLineEdit.sizePolicy().hasHeightForWidth())
        self.zInfeedDepthLineEdit.setSizePolicy(sizePolicy)
        self.zInfeedDepthLineEdit.setObjectName(_fromUtf8("zInfeedDepthLineEdit"))
        self.gridLayout.addWidget(self.zInfeedDepthLineEdit, 5, 1, 1, 1)
        self.horizontalLayout_11 = QtGui.QHBoxLayout()
        self.horizontalLayout_11.setSpacing(2)
        self.horizontalLayout_11.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_11.setObjectName(_fromUtf8("horizontalLayout_11"))
        self.label_9 = QtGui.QLabel(self.millSettingsFrame)
        self.label_9.setObjectName(_fromUtf8("label_9"))
        self.horizontalLayout_11.addWidget(self.label_9)
        self.unitLabel_6 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_6.setText(_fromUtf8("[mm]"))
        self.unitLabel_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_6.setObjectName(_fromUtf8("unitLabel_6"))
        self.horizontalLayout_11.addWidget(self.unitLabel_6)
        self.gridLayout.addLayout(self.horizontalLayout_11, 5, 0, 1, 1)
        self.zSafetyMarginLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.zSafetyMarginLineEdit.sizePolicy().hasHeightForWidth())
        self.zSafetyMarginLineEdit.setSizePolicy(sizePolicy)
        self.zSafetyMarginLineEdit.setObjectName(_fromUtf8("zSafetyMarginLineEdit"))
        self.gridLayout.addWidget(self.zSafetyMarginLineEdit, 3, 1, 1, 1)
        self.zFinalMillDepthLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.zFinalMillDepthLineEdit.sizePolicy().hasHeightForWidth())
        self.zFinalMillDepthLineEdit.setSizePolicy(sizePolicy)
        self.zFinalMillDepthLineEdit.setObjectName(_fromUtf8("zFinalMillDepthLineEdit"))
        self.gridLayout.addWidget(self.zFinalMillDepthLineEdit, 6, 1, 1, 1)
        self.horizontalLayout_9 = QtGui.QHBoxLayout()
        self.horizontalLayout_9.setSpacing(2)
        self.horizontalLayout_9.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_9.setObjectName(_fromUtf8("horizontalLayout_9"))
        self.label_5 = QtGui.QLabel(self.millSettingsFrame)
        self.label_5.setObjectName(_fromUtf8("label_5"))
        self.horizontalLayout_9.addWidget(self.label_5)
        self.unitLabel_4 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_4.setText(_fromUtf8("[mm]"))
        self.unitLabel_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_4.setObjectName(_fromUtf8("unitLabel_4"))
        self.horizontalLayout_9.addWidget(self.unitLabel_4)
        self.gridLayout.addLayout(self.horizontalLayout_9, 3, 0, 1, 1)
        self.zRetractionArealLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.zRetractionArealLineEdit.sizePolicy().hasHeightForWidth())
        self.zRetractionArealLineEdit.setSizePolicy(sizePolicy)
        self.zRetractionArealLineEdit.setObjectName(_fromUtf8("zRetractionArealLineEdit"))
        self.gridLayout.addWidget(self.zRetractionArealLineEdit, 2, 1, 1, 1)
        self.horizontalLayout_8 = QtGui.QHBoxLayout()
        self.horizontalLayout_8.setSpacing(2)
        self.horizontalLayout_8.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_8.setObjectName(_fromUtf8("horizontalLayout_8"))
        self.label_6 = QtGui.QLabel(self.millSettingsFrame)
        self.label_6.setObjectName(_fromUtf8("label_6"))
        self.horizontalLayout_8.addWidget(self.label_6)
        self.unitLabel_3 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_3.setText(_fromUtf8("[mm]"))
        self.unitLabel_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_3.setObjectName(_fromUtf8("unitLabel_3"))
        self.horizontalLayout_8.addWidget(self.unitLabel_3)
        self.gridLayout.addLayout(self.horizontalLayout_8, 2, 0, 1, 1)
        self.horizontalLayout_10 = QtGui.QHBoxLayout()
        self.horizontalLayout_10.setSpacing(2)
        self.horizontalLayout_10.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_10.setObjectName(_fromUtf8("horizontalLayout_10"))
        self.label_14 = QtGui.QLabel(self.millSettingsFrame)
        self.label_14.setObjectName(_fromUtf8("label_14"))
        self.horizontalLayout_10.addWidget(self.label_14)
        self.unitLabel_5 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_5.setText(_fromUtf8("[mm]"))
        self.unitLabel_5.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_5.setObjectName(_fromUtf8("unitLabel_5"))
        self.horizontalLayout_10.addWidget(self.unitLabel_5)
        self.gridLayout.addLayout(self.horizontalLayout_10, 4, 0, 1, 1)
        self.g1FeedZLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.g1FeedZLineEdit.sizePolicy().hasHeightForWidth())
        self.g1FeedZLineEdit.setSizePolicy(sizePolicy)
        self.g1FeedZLineEdit.setObjectName(_fromUtf8("g1FeedZLineEdit"))
        self.gridLayout.addWidget(self.g1FeedZLineEdit, 8, 1, 1, 1)
        self.horizontalLayout_6 = QtGui.QHBoxLayout()
        self.horizontalLayout_6.setSpacing(2)
        self.horizontalLayout_6.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
        self.startAtXLabel = QtGui.QLabel(self.millSettingsFrame)
        self.startAtXLabel.setObjectName(_fromUtf8("startAtXLabel"))
        self.horizontalLayout_6.addWidget(self.startAtXLabel)
        self.unitLabel_1 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_1.setText(_fromUtf8("[mm]"))
        self.unitLabel_1.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_1.setObjectName(_fromUtf8("unitLabel_1"))
        self.horizontalLayout_6.addWidget(self.unitLabel_1)
        self.gridLayout.addLayout(self.horizontalLayout_6, 0, 0, 1, 1)
        self.startAtYLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.startAtYLineEdit.sizePolicy().hasHeightForWidth())
        self.startAtYLineEdit.setSizePolicy(sizePolicy)
        self.startAtYLineEdit.setObjectName(_fromUtf8("startAtYLineEdit"))
        self.gridLayout.addWidget(self.startAtYLineEdit, 1, 1, 1, 1)
        self.g1FeedXYLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.g1FeedXYLineEdit.sizePolicy().hasHeightForWidth())
        self.g1FeedXYLineEdit.setSizePolicy(sizePolicy)
        self.g1FeedXYLineEdit.setObjectName(_fromUtf8("g1FeedXYLineEdit"))
        self.gridLayout.addWidget(self.g1FeedXYLineEdit, 7, 1, 1, 1)
        self.horizontalLayout_14 = QtGui.QHBoxLayout()
        self.horizontalLayout_14.setSpacing(2)
        self.horizontalLayout_14.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_14.setObjectName(_fromUtf8("horizontalLayout_14"))
        self.label_10 = QtGui.QLabel(self.millSettingsFrame)
        self.label_10.setWordWrap(True)
        self.label_10.setObjectName(_fromUtf8("label_10"))
        self.horizontalLayout_14.addWidget(self.label_10)
        self.unitLabel_9 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_9.setText(_fromUtf8("[mm/min]"))
        self.unitLabel_9.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_9.setObjectName(_fromUtf8("unitLabel_9"))
        self.horizontalLayout_14.addWidget(self.unitLabel_9)
        self.gridLayout.addLayout(self.horizontalLayout_14, 8, 0, 1, 1)
        self.horizontalLayout_7 = QtGui.QHBoxLayout()
        self.horizontalLayout_7.setSpacing(2)
        self.horizontalLayout_7.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7"))
        self.startAtYLabel = QtGui.QLabel(self.millSettingsFrame)
        self.startAtYLabel.setObjectName(_fromUtf8("startAtYLabel"))
        self.horizontalLayout_7.addWidget(self.startAtYLabel)
        self.unitLabel_2 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_2.setText(_fromUtf8("[mm]"))
        self.unitLabel_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_2.setObjectName(_fromUtf8("unitLabel_2"))
        self.horizontalLayout_7.addWidget(self.unitLabel_2)
        self.gridLayout.addLayout(self.horizontalLayout_7, 1, 0, 1, 1)
        self.startAtXLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.startAtXLineEdit.sizePolicy().hasHeightForWidth())
        self.startAtXLineEdit.setSizePolicy(sizePolicy)
        self.startAtXLineEdit.setObjectName(_fromUtf8("startAtXLineEdit"))
        self.gridLayout.addWidget(self.startAtXLineEdit, 0, 1, 1, 1)
        self.verticalLayout_4.addLayout(self.gridLayout)
        self.verticalLayout_5.addWidget(self.millSettingsFrame)
        self.mytabWidget.addTab(self.tab_2, _fromUtf8(""))
        self.canvas = Canvas(self.splitter)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(7)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.canvas.sizePolicy().hasHeightForWidth())
        self.canvas.setSizePolicy(sizePolicy)
        self.canvas.setMinimumSize(QtCore.QSize(200, 200))
        self.canvas.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
        self.canvas.setObjectName(_fromUtf8("canvas"))
        self.verticalLayout.addWidget(self.splitter)
        self.messageBox = MessageBox(self.centralwidget)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.messageBox.sizePolicy().hasHeightForWidth())
        self.messageBox.setSizePolicy(sizePolicy)
        self.messageBox.setMaximumSize(QtCore.QSize(16777215, 100))
        self.messageBox.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
        self.messageBox.setObjectName(_fromUtf8("messageBox"))
        self.verticalLayout.addWidget(self.messageBox)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtGui.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))
        self.menubar.setObjectName(_fromUtf8("menubar"))
        self.menuFile = QtGui.QMenu(self.menubar)
        self.menuFile.setObjectName(_fromUtf8("menuFile"))
        self.menuExport = QtGui.QMenu(self.menubar)
        self.menuExport.setEnabled(True)
        self.menuExport.setObjectName(_fromUtf8("menuExport"))
        self.menuView = QtGui.QMenu(self.menubar)
        self.menuView.setObjectName(_fromUtf8("menuView"))
        self.menuTolerances = QtGui.QMenu(self.menubar)
        self.menuTolerances.setObjectName(_fromUtf8("menuTolerances"))
        self.menuMachine_Type = QtGui.QMenu(self.menuTolerances)
        self.menuMachine_Type.setObjectName(_fromUtf8("menuMachine_Type"))
        self.menuHelp = QtGui.QMenu(self.menubar)
        self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtGui.QStatusBar(MainWindow)
        self.statusbar.setObjectName(_fromUtf8("statusbar"))
        MainWindow.setStatusBar(self.statusbar)
        self.actionOpen = QtGui.QAction(MainWindow)
        self.actionOpen.setObjectName(_fromUtf8("actionOpen"))
        self.actionClose = QtGui.QAction(MainWindow)
        icon5 = QtGui.QIcon()
        icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/images/delete.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionClose.setIcon(icon5)
        self.actionClose.setObjectName(_fromUtf8("actionClose"))
        self.actionShowPathDirections = QtGui.QAction(MainWindow)
        self.actionShowPathDirections.setCheckable(True)
        self.actionShowPathDirections.setChecked(False)
        self.actionShowPathDirections.setEnabled(False)
        self.actionShowPathDirections.setObjectName(_fromUtf8("actionShowPathDirections"))
        self.actionShowDisabledPaths = QtGui.QAction(MainWindow)
        self.actionShowDisabledPaths.setCheckable(True)
        self.actionShowDisabledPaths.setChecked(False)
        self.actionShowDisabledPaths.setEnabled(False)
        self.actionShowDisabledPaths.setObjectName(_fromUtf8("actionShowDisabledPaths"))
        self.actionAutoscale = QtGui.QAction(MainWindow)
        self.actionAutoscale.setEnabled(False)
        self.actionAutoscale.setObjectName(_fromUtf8("actionAutoscale"))
        self.actionDeleteG0Paths = QtGui.QAction(MainWindow)
        self.actionDeleteG0Paths.setEnabled(False)
        self.actionDeleteG0Paths.setObjectName(_fromUtf8("actionDeleteG0Paths"))
        self.actionTolerances = QtGui.QAction(MainWindow)
        self.actionTolerances.setObjectName(_fromUtf8("actionTolerances"))
        self.actionScaleAll = QtGui.QAction(MainWindow)
        self.actionScaleAll.setEnabled(False)
        self.actionScaleAll.setObjectName(_fromUtf8("actionScaleAll"))
        self.actionRotateAll = QtGui.QAction(MainWindow)
        self.actionRotateAll.setEnabled(False)
        self.actionRotateAll.setObjectName(_fromUtf8("actionRotateAll"))
        self.actionMoveWorkpieceZero = QtGui.QAction(MainWindow)
        self.actionMoveWorkpieceZero.setEnabled(False)
        self.actionMoveWorkpieceZero.setObjectName(_fromUtf8("actionMoveWorkpieceZero"))
        self.actionAbout = QtGui.QAction(MainWindow)
        self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
        self.actionOptimizePaths = QtGui.QAction(MainWindow)
        self.actionOptimizePaths.setEnabled(False)
        self.actionOptimizePaths.setObjectName(_fromUtf8("actionOptimizePaths"))
        self.actionExportShapes = QtGui.QAction(MainWindow)
        self.actionExportShapes.setEnabled(False)
        self.actionExportShapes.setObjectName(_fromUtf8("actionExportShapes"))
        self.actionOptimizeAndExportShapes = QtGui.QAction(MainWindow)
        self.actionOptimizeAndExportShapes.setEnabled(False)
        self.actionOptimizeAndExportShapes.setObjectName(_fromUtf8("actionOptimizeAndExportShapes"))
        self.actionLiveUpdateExportRoute = QtGui.QAction(MainWindow)
        self.actionLiveUpdateExportRoute.setCheckable(True)
        self.actionLiveUpdateExportRoute.setEnabled(False)
        self.actionLiveUpdateExportRoute.setObjectName(_fromUtf8("actionLiveUpdateExportRoute"))
        self.actionReload = QtGui.QAction(MainWindow)
        self.actionReload.setEnabled(False)
        self.actionReload.setObjectName(_fromUtf8("actionReload"))
        self.actionSplitLineSegments = QtGui.QAction(MainWindow)
        self.actionSplitLineSegments.setCheckable(True)
        self.actionSplitLineSegments.setObjectName(_fromUtf8("actionSplitLineSegments"))
        self.actionAutomaticCutterCompensation = QtGui.QAction(MainWindow)
        self.actionAutomaticCutterCompensation.setCheckable(True)
        self.actionAutomaticCutterCompensation.setEnabled(False)
        self.actionAutomaticCutterCompensation.setObjectName(_fromUtf8("actionAutomaticCutterCompensation"))
        self.actionMilling = QtGui.QAction(MainWindow)
        self.actionMilling.setCheckable(True)
        self.actionMilling.setObjectName(_fromUtf8("actionMilling"))
        self.actionDragKnife = QtGui.QAction(MainWindow)
        self.actionDragKnife.setCheckable(True)
        self.actionDragKnife.setObjectName(_fromUtf8("actionDragKnife"))
        self.actionLathe = QtGui.QAction(MainWindow)
        self.actionLathe.setCheckable(True)
        self.actionLathe.setObjectName(_fromUtf8("actionLathe"))
        self.actionTopView = QtGui.QAction(MainWindow)
        self.actionTopView.setEnabled(False)
        self.actionTopView.setObjectName(_fromUtf8("actionTopView"))
        self.actionIsometricView = QtGui.QAction(MainWindow)
        self.actionIsometricView.setEnabled(False)
        self.actionIsometricView.setObjectName(_fromUtf8("actionIsometricView"))
        self.actionSaveProjectAs = QtGui.QAction(MainWindow)
        self.actionSaveProjectAs.setEnabled(False)
        self.actionSaveProjectAs.setObjectName(_fromUtf8("actionSaveProjectAs"))
        self.menuFile.addAction(self.actionOpen)
        self.menuFile.addAction(self.actionReload)
        self.menuFile.addSeparator()
        self.menuFile.addAction(self.actionSaveProjectAs)
        self.menuFile.addSeparator()
        self.menuFile.addAction(self.actionClose)
        self.menuExport.addAction(self.actionOptimizePaths)
        self.menuExport.addAction(self.actionExportShapes)
        self.menuExport.addAction(self.actionOptimizeAndExportShapes)
        self.menuView.addAction(self.actionShowPathDirections)
        self.menuView.addAction(self.actionShowDisabledPaths)
        self.menuView.addSeparator()
        self.menuView.addAction(self.actionLiveUpdateExportRoute)
        self.menuView.addAction(self.actionDeleteG0Paths)
        self.menuView.addSeparator()
        self.menuView.addAction(self.actionAutoscale)
        self.menuView.addAction(self.actionTopView)
        self.menuView.addAction(self.actionIsometricView)
        self.menuMachine_Type.addAction(self.actionMilling)
        self.menuMachine_Type.addAction(self.actionLathe)
        self.menuMachine_Type.addAction(self.actionDragKnife)
        self.menuTolerances.addAction(self.actionTolerances)
        self.menuTolerances.addSeparator()
        self.menuTolerances.addAction(self.actionScaleAll)
        self.menuTolerances.addAction(self.actionRotateAll)
        self.menuTolerances.addSeparator()
        self.menuTolerances.addAction(self.actionMoveWorkpieceZero)
        self.menuTolerances.addSeparator()
        self.menuTolerances.addAction(self.actionSplitLineSegments)
        self.menuTolerances.addAction(self.actionAutomaticCutterCompensation)
        self.menuTolerances.addAction(self.menuMachine_Type.menuAction())
        self.menuHelp.addAction(self.actionAbout)
        self.menubar.addAction(self.menuFile.menuAction())
        self.menubar.addAction(self.menuExport.menuAction())
        self.menubar.addAction(self.menuView.menuAction())
        self.menubar.addAction(self.menuTolerances.menuAction())
        self.menubar.addAction(self.menuHelp.menuAction())

        self.retranslateUi(MainWindow)
        self.mytabWidget.setCurrentIndex(0)
        QtCore.QObject.connect(self.layersCollapsePushButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.layersShapesTreeView.collapseAll)
        QtCore.QObject.connect(self.layersExpandPushButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.layersShapesTreeView.expandAll)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
        MainWindow.setTabOrder(self.mytabWidget, self.entitiesTreeView)
        MainWindow.setTabOrder(self.entitiesTreeView, self.blocksCollapsePushButton)
        MainWindow.setTabOrder(self.blocksCollapsePushButton, self.blocksExpandPushButton)
        MainWindow.setTabOrder(self.blocksExpandPushButton, self.canvas)
        MainWindow.setTabOrder(self.canvas, self.messageBox)
        MainWindow.setTabOrder(self.messageBox, self.layersShapesTreeView)
        MainWindow.setTabOrder(self.layersShapesTreeView, self.layersCollapsePushButton)
        MainWindow.setTabOrder(self.layersCollapsePushButton, self.layersExpandPushButton)
        MainWindow.setTabOrder(self.layersExpandPushButton, self.layersGoUpPushButton)
        MainWindow.setTabOrder(self.layersGoUpPushButton, self.layersGoDownPushButton)
        MainWindow.setTabOrder(self.layersGoDownPushButton, self.toolDiameterComboBox)
        MainWindow.setTabOrder(self.toolDiameterComboBox, self.startAtXLineEdit)
        MainWindow.setTabOrder(self.startAtXLineEdit, self.startAtYLineEdit)
        MainWindow.setTabOrder(self.startAtYLineEdit, self.zRetractionArealLineEdit)
        MainWindow.setTabOrder(self.zRetractionArealLineEdit, self.zSafetyMarginLineEdit)
        MainWindow.setTabOrder(self.zSafetyMarginLineEdit, self.zInitialMillDepthLineEdit)
        MainWindow.setTabOrder(self.zInitialMillDepthLineEdit, self.zInfeedDepthLineEdit)
        MainWindow.setTabOrder(self.zInfeedDepthLineEdit, self.zFinalMillDepthLineEdit)
        MainWindow.setTabOrder(self.zFinalMillDepthLineEdit, self.g1FeedXYLineEdit)
        MainWindow.setTabOrder(self.g1FeedXYLineEdit, self.g1FeedZLineEdit)
コード例 #6
0
ファイル: dxf2gcode_ui5.py プロジェクト: cnc-club/dxf2gcode
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.setWindowModality(QtCore.Qt.NonModal)
        MainWindow.resize(800, 600)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/images/DXF2GCODE-001.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
        self.verticalLayout.setContentsMargins(-1, -1, -1, 2)
        self.verticalLayout.setSpacing(6)
        self.verticalLayout.setObjectName("verticalLayout")
        self.splitter = QtWidgets.QSplitter(self.centralwidget)
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setChildrenCollapsible(False)
        self.splitter.setObjectName("splitter")
        self.mytabWidget = QtWidgets.QTabWidget(self.splitter)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(2)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.mytabWidget.sizePolicy().hasHeightForWidth())
        self.mytabWidget.setSizePolicy(sizePolicy)
        self.mytabWidget.setMinimumSize(QtCore.QSize(200, 0))
        self.mytabWidget.setAutoFillBackground(False)
        self.mytabWidget.setObjectName("mytabWidget")
        self.tab = QtWidgets.QWidget()
        self.tab.setObjectName("tab")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.tab)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_5.setSpacing(1)
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.blocksCollapsePushButton = QtWidgets.QPushButton(self.tab)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.blocksCollapsePushButton.sizePolicy().hasHeightForWidth())
        self.blocksCollapsePushButton.setSizePolicy(sizePolicy)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/images/collapse-all.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.blocksCollapsePushButton.setIcon(icon1)
        self.blocksCollapsePushButton.setIconSize(QtCore.QSize(24, 24))
        self.blocksCollapsePushButton.setObjectName("blocksCollapsePushButton")
        self.horizontalLayout_5.addWidget(self.blocksCollapsePushButton)
        self.blocksExpandPushButton = QtWidgets.QPushButton(self.tab)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.blocksExpandPushButton.sizePolicy().hasHeightForWidth())
        self.blocksExpandPushButton.setSizePolicy(sizePolicy)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(":/images/expand-all.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.blocksExpandPushButton.setIcon(icon2)
        self.blocksExpandPushButton.setIconSize(QtCore.QSize(24, 24))
        self.blocksExpandPushButton.setObjectName("blocksExpandPushButton")
        self.horizontalLayout_5.addWidget(self.blocksExpandPushButton)
        spacerItem = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_5.addItem(spacerItem)
        self.verticalLayout_3.addLayout(self.horizontalLayout_5)
        self.entitiesTreeView = TreeView(self.tab)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.entitiesTreeView.sizePolicy().hasHeightForWidth())
        self.entitiesTreeView.setSizePolicy(sizePolicy)
        self.entitiesTreeView.setObjectName("entitiesTreeView")
        self.verticalLayout_3.addWidget(self.entitiesTreeView)
        self.mytabWidget.addTab(self.tab, "")
        self.tab_2 = QtWidgets.QWidget()
        self.tab_2.setObjectName("tab_2")
        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.tab_2)
        self.verticalLayout_5.setContentsMargins(5, 5, 5, 5)
        self.verticalLayout_5.setSpacing(1)
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_4.setSpacing(1)
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.layersCollapsePushButton = QtWidgets.QPushButton(self.tab_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.layersCollapsePushButton.sizePolicy().hasHeightForWidth())
        self.layersCollapsePushButton.setSizePolicy(sizePolicy)
        self.layersCollapsePushButton.setIcon(icon1)
        self.layersCollapsePushButton.setIconSize(QtCore.QSize(24, 24))
        self.layersCollapsePushButton.setObjectName("layersCollapsePushButton")
        self.horizontalLayout_4.addWidget(self.layersCollapsePushButton)
        self.layersExpandPushButton = QtWidgets.QPushButton(self.tab_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.layersExpandPushButton.sizePolicy().hasHeightForWidth())
        self.layersExpandPushButton.setSizePolicy(sizePolicy)
        self.layersExpandPushButton.setIcon(icon2)
        self.layersExpandPushButton.setIconSize(QtCore.QSize(24, 24))
        self.layersExpandPushButton.setObjectName("layersExpandPushButton")
        self.horizontalLayout_4.addWidget(self.layersExpandPushButton)
        spacerItem1 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem1)
        self.layersGoUpPushButton = QtWidgets.QPushButton(self.tab_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.layersGoUpPushButton.sizePolicy().hasHeightForWidth())
        self.layersGoUpPushButton.setSizePolicy(sizePolicy)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(":/images/go-up.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.layersGoUpPushButton.setIcon(icon3)
        self.layersGoUpPushButton.setIconSize(QtCore.QSize(24, 24))
        self.layersGoUpPushButton.setObjectName("layersGoUpPushButton")
        self.horizontalLayout_4.addWidget(self.layersGoUpPushButton)
        self.layersGoDownPushButton = QtWidgets.QPushButton(self.tab_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.layersGoDownPushButton.sizePolicy().hasHeightForWidth())
        self.layersGoDownPushButton.setSizePolicy(sizePolicy)
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap(":/images/go-down.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.layersGoDownPushButton.setIcon(icon4)
        self.layersGoDownPushButton.setIconSize(QtCore.QSize(24, 24))
        self.layersGoDownPushButton.setObjectName("layersGoDownPushButton")
        self.horizontalLayout_4.addWidget(self.layersGoDownPushButton)
        self.verticalLayout_5.addLayout(self.horizontalLayout_4)
        self.layersShapesTreeView = TreeView(self.tab_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.layersShapesTreeView.sizePolicy().hasHeightForWidth())
        self.layersShapesTreeView.setSizePolicy(sizePolicy)
        self.layersShapesTreeView.setObjectName("layersShapesTreeView")
        self.verticalLayout_5.addWidget(self.layersShapesTreeView)
        self.millSettingsFrame = QtWidgets.QFrame(self.tab_2)
        self.millSettingsFrame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.millSettingsFrame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.millSettingsFrame.setLineWidth(0)
        self.millSettingsFrame.setObjectName("millSettingsFrame")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.millSettingsFrame)
        self.verticalLayout_4.setContentsMargins(2, 2, 2, 2)
        self.verticalLayout_4.setSpacing(0)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setSpacing(2)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.toolDiameterComboBox = QtWidgets.QComboBox(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.toolDiameterComboBox.sizePolicy().hasHeightForWidth())
        self.toolDiameterComboBox.setSizePolicy(sizePolicy)
        self.toolDiameterComboBox.setMaxVisibleItems(20)
        self.toolDiameterComboBox.setObjectName("toolDiameterComboBox")
        self.horizontalLayout_3.addWidget(self.toolDiameterComboBox)
        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
        self.verticalLayout_2.setSpacing(0)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.label_11 = QtWidgets.QLabel(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_11.sizePolicy().hasHeightForWidth())
        self.label_11.setSizePolicy(sizePolicy)
        self.label_11.setObjectName("label_11")
        self.horizontalLayout.addWidget(self.label_11)
        self.toolDiameterLabel = QtWidgets.QLabel(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.toolDiameterLabel.sizePolicy().hasHeightForWidth())
        self.toolDiameterLabel.setSizePolicy(sizePolicy)
        self.toolDiameterLabel.setText("[mm]")
        self.toolDiameterLabel.setObjectName("toolDiameterLabel")
        self.horizontalLayout.addWidget(self.toolDiameterLabel)
        self.label_12 = QtWidgets.QLabel(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_12.sizePolicy().hasHeightForWidth())
        self.label_12.setSizePolicy(sizePolicy)
        self.label_12.setObjectName("label_12")
        self.horizontalLayout.addWidget(self.label_12)
        self.toolSpeedLabel = QtWidgets.QLabel(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.toolSpeedLabel.sizePolicy().hasHeightForWidth())
        self.toolSpeedLabel.setSizePolicy(sizePolicy)
        self.toolSpeedLabel.setText("[rpm]")
        self.toolSpeedLabel.setObjectName("toolSpeedLabel")
        self.horizontalLayout.addWidget(self.toolSpeedLabel)
        self.verticalLayout_2.addLayout(self.horizontalLayout)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.label_13 = QtWidgets.QLabel(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_13.sizePolicy().hasHeightForWidth())
        self.label_13.setSizePolicy(sizePolicy)
        self.label_13.setObjectName("label_13")
        self.horizontalLayout_2.addWidget(self.label_13)
        self.startRadiusLabel = QtWidgets.QLabel(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.startRadiusLabel.sizePolicy().hasHeightForWidth())
        self.startRadiusLabel.setSizePolicy(sizePolicy)
        self.startRadiusLabel.setText("[mm]")
        self.startRadiusLabel.setObjectName("startRadiusLabel")
        self.horizontalLayout_2.addWidget(self.startRadiusLabel)
        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
        self.horizontalLayout_3.addLayout(self.verticalLayout_2)
        self.verticalLayout_4.addLayout(self.horizontalLayout_3)
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setHorizontalSpacing(2)
        self.gridLayout.setVerticalSpacing(0)
        self.gridLayout.setObjectName("gridLayout")
        self.zInitialMillDepthLineEdit = QtWidgets.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.zInitialMillDepthLineEdit.sizePolicy().hasHeightForWidth())
        self.zInitialMillDepthLineEdit.setSizePolicy(sizePolicy)
        self.zInitialMillDepthLineEdit.setObjectName("zInitialMillDepthLineEdit")
        self.gridLayout.addWidget(self.zInitialMillDepthLineEdit, 4, 1, 1, 1)
        self.horizontalLayout_13 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_13.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_13.setSpacing(2)
        self.horizontalLayout_13.setObjectName("horizontalLayout_13")
        self.label_7 = QtWidgets.QLabel(self.millSettingsFrame)
        self.label_7.setWordWrap(True)
        self.label_7.setObjectName("label_7")
        self.horizontalLayout_13.addWidget(self.label_7)
        self.unitLabel_8 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_8.setText("[mm/min]")
        self.unitLabel_8.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_8.setObjectName("unitLabel_8")
        self.horizontalLayout_13.addWidget(self.unitLabel_8)
        self.gridLayout.addLayout(self.horizontalLayout_13, 7, 0, 1, 1)
        self.horizontalLayout_12 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_12.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_12.setSpacing(2)
        self.horizontalLayout_12.setObjectName("horizontalLayout_12")
        self.label_8 = QtWidgets.QLabel(self.millSettingsFrame)
        self.label_8.setObjectName("label_8")
        self.horizontalLayout_12.addWidget(self.label_8)
        self.unitLabel_7 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_7.setText("[mm]")
        self.unitLabel_7.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_7.setObjectName("unitLabel_7")
        self.horizontalLayout_12.addWidget(self.unitLabel_7)
        self.gridLayout.addLayout(self.horizontalLayout_12, 6, 0, 1, 1)
        self.zInfeedDepthLineEdit = QtWidgets.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.zInfeedDepthLineEdit.sizePolicy().hasHeightForWidth())
        self.zInfeedDepthLineEdit.setSizePolicy(sizePolicy)
        self.zInfeedDepthLineEdit.setObjectName("zInfeedDepthLineEdit")
        self.gridLayout.addWidget(self.zInfeedDepthLineEdit, 5, 1, 1, 1)
        self.horizontalLayout_11 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_11.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_11.setSpacing(2)
        self.horizontalLayout_11.setObjectName("horizontalLayout_11")
        self.label_9 = QtWidgets.QLabel(self.millSettingsFrame)
        self.label_9.setObjectName("label_9")
        self.horizontalLayout_11.addWidget(self.label_9)
        self.unitLabel_6 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_6.setText("[mm]")
        self.unitLabel_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_6.setObjectName("unitLabel_6")
        self.horizontalLayout_11.addWidget(self.unitLabel_6)
        self.gridLayout.addLayout(self.horizontalLayout_11, 5, 0, 1, 1)
        self.zSafetyMarginLineEdit = QtWidgets.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.zSafetyMarginLineEdit.sizePolicy().hasHeightForWidth())
        self.zSafetyMarginLineEdit.setSizePolicy(sizePolicy)
        self.zSafetyMarginLineEdit.setObjectName("zSafetyMarginLineEdit")
        self.gridLayout.addWidget(self.zSafetyMarginLineEdit, 3, 1, 1, 1)
        self.zFinalMillDepthLineEdit = QtWidgets.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.zFinalMillDepthLineEdit.sizePolicy().hasHeightForWidth())
        self.zFinalMillDepthLineEdit.setSizePolicy(sizePolicy)
        self.zFinalMillDepthLineEdit.setObjectName("zFinalMillDepthLineEdit")
        self.gridLayout.addWidget(self.zFinalMillDepthLineEdit, 6, 1, 1, 1)
        self.horizontalLayout_9 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_9.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_9.setSpacing(2)
        self.horizontalLayout_9.setObjectName("horizontalLayout_9")
        self.label_5 = QtWidgets.QLabel(self.millSettingsFrame)
        self.label_5.setObjectName("label_5")
        self.horizontalLayout_9.addWidget(self.label_5)
        self.unitLabel_4 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_4.setText("[mm]")
        self.unitLabel_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_4.setObjectName("unitLabel_4")
        self.horizontalLayout_9.addWidget(self.unitLabel_4)
        self.gridLayout.addLayout(self.horizontalLayout_9, 3, 0, 1, 1)
        self.zRetractionArealLineEdit = QtWidgets.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.zRetractionArealLineEdit.sizePolicy().hasHeightForWidth())
        self.zRetractionArealLineEdit.setSizePolicy(sizePolicy)
        self.zRetractionArealLineEdit.setObjectName("zRetractionArealLineEdit")
        self.gridLayout.addWidget(self.zRetractionArealLineEdit, 2, 1, 1, 1)
        self.horizontalLayout_8 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_8.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_8.setSpacing(2)
        self.horizontalLayout_8.setObjectName("horizontalLayout_8")
        self.label_6 = QtWidgets.QLabel(self.millSettingsFrame)
        self.label_6.setObjectName("label_6")
        self.horizontalLayout_8.addWidget(self.label_6)
        self.unitLabel_3 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_3.setText("[mm]")
        self.unitLabel_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_3.setObjectName("unitLabel_3")
        self.horizontalLayout_8.addWidget(self.unitLabel_3)
        self.gridLayout.addLayout(self.horizontalLayout_8, 2, 0, 1, 1)
        self.horizontalLayout_10 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_10.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_10.setSpacing(2)
        self.horizontalLayout_10.setObjectName("horizontalLayout_10")
        self.label_14 = QtWidgets.QLabel(self.millSettingsFrame)
        self.label_14.setObjectName("label_14")
        self.horizontalLayout_10.addWidget(self.label_14)
        self.unitLabel_5 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_5.setText("[mm]")
        self.unitLabel_5.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_5.setObjectName("unitLabel_5")
        self.horizontalLayout_10.addWidget(self.unitLabel_5)
        self.gridLayout.addLayout(self.horizontalLayout_10, 4, 0, 1, 1)
        self.g1FeedZLineEdit = QtWidgets.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.g1FeedZLineEdit.sizePolicy().hasHeightForWidth())
        self.g1FeedZLineEdit.setSizePolicy(sizePolicy)
        self.g1FeedZLineEdit.setObjectName("g1FeedZLineEdit")
        self.gridLayout.addWidget(self.g1FeedZLineEdit, 8, 1, 1, 1)
        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_6.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_6.setSpacing(2)
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
        self.startAtXLabel = QtWidgets.QLabel(self.millSettingsFrame)
        self.startAtXLabel.setObjectName("startAtXLabel")
        self.horizontalLayout_6.addWidget(self.startAtXLabel)
        self.unitLabel_1 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_1.setText("[mm]")
        self.unitLabel_1.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_1.setObjectName("unitLabel_1")
        self.horizontalLayout_6.addWidget(self.unitLabel_1)
        self.gridLayout.addLayout(self.horizontalLayout_6, 0, 0, 1, 1)
        self.startAtYLineEdit = QtWidgets.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.startAtYLineEdit.sizePolicy().hasHeightForWidth())
        self.startAtYLineEdit.setSizePolicy(sizePolicy)
        self.startAtYLineEdit.setObjectName("startAtYLineEdit")
        self.gridLayout.addWidget(self.startAtYLineEdit, 1, 1, 1, 1)
        self.g1FeedXYLineEdit = QtWidgets.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.g1FeedXYLineEdit.sizePolicy().hasHeightForWidth())
        self.g1FeedXYLineEdit.setSizePolicy(sizePolicy)
        self.g1FeedXYLineEdit.setObjectName("g1FeedXYLineEdit")
        self.gridLayout.addWidget(self.g1FeedXYLineEdit, 7, 1, 1, 1)
        self.horizontalLayout_14 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_14.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_14.setSpacing(2)
        self.horizontalLayout_14.setObjectName("horizontalLayout_14")
        self.label_10 = QtWidgets.QLabel(self.millSettingsFrame)
        self.label_10.setWordWrap(True)
        self.label_10.setObjectName("label_10")
        self.horizontalLayout_14.addWidget(self.label_10)
        self.unitLabel_9 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_9.setText("[mm/min]")
        self.unitLabel_9.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_9.setObjectName("unitLabel_9")
        self.horizontalLayout_14.addWidget(self.unitLabel_9)
        self.gridLayout.addLayout(self.horizontalLayout_14, 8, 0, 1, 1)
        self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_7.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_7.setSpacing(2)
        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
        self.startAtYLabel = QtWidgets.QLabel(self.millSettingsFrame)
        self.startAtYLabel.setObjectName("startAtYLabel")
        self.horizontalLayout_7.addWidget(self.startAtYLabel)
        self.unitLabel_2 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_2.setText("[mm]")
        self.unitLabel_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_2.setObjectName("unitLabel_2")
        self.horizontalLayout_7.addWidget(self.unitLabel_2)
        self.gridLayout.addLayout(self.horizontalLayout_7, 1, 0, 1, 1)
        self.startAtXLineEdit = QtWidgets.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.startAtXLineEdit.sizePolicy().hasHeightForWidth())
        self.startAtXLineEdit.setSizePolicy(sizePolicy)
        self.startAtXLineEdit.setObjectName("startAtXLineEdit")
        self.gridLayout.addWidget(self.startAtXLineEdit, 0, 1, 1, 1)
        self.verticalLayout_4.addLayout(self.gridLayout)
        self.verticalLayout_5.addWidget(self.millSettingsFrame)
        self.mytabWidget.addTab(self.tab_2, "")
        self.canvas = Canvas(self.splitter)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(7)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.canvas.sizePolicy().hasHeightForWidth())
        self.canvas.setSizePolicy(sizePolicy)
        self.canvas.setMinimumSize(QtCore.QSize(200, 200))
        self.canvas.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
        self.canvas.setObjectName("canvas")
        self.verticalLayout.addWidget(self.splitter)
        self.messageBox = MessageBox(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.messageBox.sizePolicy().hasHeightForWidth())
        self.messageBox.setSizePolicy(sizePolicy)
        self.messageBox.setMaximumSize(QtCore.QSize(16777215, 100))
        self.messageBox.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
        self.messageBox.setObjectName("messageBox")
        self.verticalLayout.addWidget(self.messageBox)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))
        self.menubar.setObjectName("menubar")
        self.menuFile = QtWidgets.QMenu(self.menubar)
        self.menuFile.setObjectName("menuFile")
        self.menuExport = QtWidgets.QMenu(self.menubar)
        self.menuExport.setEnabled(True)
        self.menuExport.setObjectName("menuExport")
        self.menuView = QtWidgets.QMenu(self.menubar)
        self.menuView.setObjectName("menuView")
        self.menuTolerances = QtWidgets.QMenu(self.menubar)
        self.menuTolerances.setObjectName("menuTolerances")
        self.menuMachine_Type = QtWidgets.QMenu(self.menuTolerances)
        self.menuMachine_Type.setObjectName("menuMachine_Type")
        self.menuHelp = QtWidgets.QMenu(self.menubar)
        self.menuHelp.setObjectName("menuHelp")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.actionOpen = QtWidgets.QAction(MainWindow)
        self.actionOpen.setObjectName("actionOpen")
        self.actionClose = QtWidgets.QAction(MainWindow)
        icon5 = QtGui.QIcon()
        icon5.addPixmap(QtGui.QPixmap(":/images/delete.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionClose.setIcon(icon5)
        self.actionClose.setObjectName("actionClose")
        self.actionShowPathDirections = QtWidgets.QAction(MainWindow)
        self.actionShowPathDirections.setCheckable(True)
        self.actionShowPathDirections.setChecked(False)
        self.actionShowPathDirections.setEnabled(False)
        self.actionShowPathDirections.setObjectName("actionShowPathDirections")
        self.actionShowDisabledPaths = QtWidgets.QAction(MainWindow)
        self.actionShowDisabledPaths.setCheckable(True)
        self.actionShowDisabledPaths.setChecked(False)
        self.actionShowDisabledPaths.setEnabled(False)
        self.actionShowDisabledPaths.setObjectName("actionShowDisabledPaths")
        self.actionAutoscale = QtWidgets.QAction(MainWindow)
        self.actionAutoscale.setEnabled(False)
        self.actionAutoscale.setObjectName("actionAutoscale")
        self.actionDeleteG0Paths = QtWidgets.QAction(MainWindow)
        self.actionDeleteG0Paths.setEnabled(False)
        self.actionDeleteG0Paths.setObjectName("actionDeleteG0Paths")
        self.actionConfiguration = QtWidgets.QAction(MainWindow)
        self.actionConfiguration.setObjectName("actionConfiguration")
        self.actionTolerances = QtWidgets.QAction(MainWindow)
        self.actionTolerances.setObjectName("actionTolerances")
        self.actionScaleAll = QtWidgets.QAction(MainWindow)
        self.actionScaleAll.setEnabled(False)
        self.actionScaleAll.setObjectName("actionScaleAll")
        self.actionRotateAll = QtWidgets.QAction(MainWindow)
        self.actionRotateAll.setEnabled(False)
        self.actionRotateAll.setObjectName("actionRotateAll")
        self.actionMoveWorkpieceZero = QtWidgets.QAction(MainWindow)
        self.actionMoveWorkpieceZero.setEnabled(False)
        self.actionMoveWorkpieceZero.setObjectName("actionMoveWorkpieceZero")
        self.actionAbout = QtWidgets.QAction(MainWindow)
        self.actionAbout.setObjectName("actionAbout")
        self.actionOptimizePaths = QtWidgets.QAction(MainWindow)
        self.actionOptimizePaths.setEnabled(False)
        self.actionOptimizePaths.setObjectName("actionOptimizePaths")
        self.actionExportShapes = QtWidgets.QAction(MainWindow)
        self.actionExportShapes.setEnabled(False)
        self.actionExportShapes.setObjectName("actionExportShapes")
        self.actionOptimizeAndExportShapes = QtWidgets.QAction(MainWindow)
        self.actionOptimizeAndExportShapes.setEnabled(False)
        self.actionOptimizeAndExportShapes.setObjectName("actionOptimizeAndExportShapes")
        self.actionLiveUpdateExportRoute = QtWidgets.QAction(MainWindow)
        self.actionLiveUpdateExportRoute.setCheckable(True)
        self.actionLiveUpdateExportRoute.setEnabled(False)
        self.actionLiveUpdateExportRoute.setObjectName("actionLiveUpdateExportRoute")
        self.actionReload = QtWidgets.QAction(MainWindow)
        self.actionReload.setEnabled(False)
        self.actionReload.setObjectName("actionReload")
        self.actionSplitLineSegments = QtWidgets.QAction(MainWindow)
        self.actionSplitLineSegments.setCheckable(True)
        self.actionSplitLineSegments.setObjectName("actionSplitLineSegments")
        self.actionAutomaticCutterCompensation = QtWidgets.QAction(MainWindow)
        self.actionAutomaticCutterCompensation.setCheckable(True)
        self.actionAutomaticCutterCompensation.setEnabled(False)
        self.actionAutomaticCutterCompensation.setObjectName("actionAutomaticCutterCompensation")
        self.actionMilling = QtWidgets.QAction(MainWindow)
        self.actionMilling.setCheckable(True)
        self.actionMilling.setObjectName("actionMilling")
        self.actionDragKnife = QtWidgets.QAction(MainWindow)
        self.actionDragKnife.setCheckable(True)
        self.actionDragKnife.setObjectName("actionDragKnife")
        self.actionLathe = QtWidgets.QAction(MainWindow)
        self.actionLathe.setCheckable(True)
        self.actionLathe.setObjectName("actionLathe")
        self.actionTopView = QtWidgets.QAction(MainWindow)
        self.actionTopView.setEnabled(False)
        self.actionTopView.setObjectName("actionTopView")
        self.actionIsometricView = QtWidgets.QAction(MainWindow)
        self.actionIsometricView.setEnabled(False)
        self.actionIsometricView.setObjectName("actionIsometricView")
        self.actionSaveProjectAs = QtWidgets.QAction(MainWindow)
        self.actionSaveProjectAs.setEnabled(False)
        self.actionSaveProjectAs.setObjectName("actionSaveProjectAs")
        self.menuFile.addAction(self.actionOpen)
        self.menuFile.addAction(self.actionReload)
        self.menuFile.addSeparator()
        self.menuFile.addAction(self.actionSaveProjectAs)
        self.menuFile.addSeparator()
        self.menuFile.addAction(self.actionClose)
        self.menuExport.addAction(self.actionOptimizePaths)
        self.menuExport.addAction(self.actionExportShapes)
        self.menuExport.addAction(self.actionOptimizeAndExportShapes)
        self.menuView.addAction(self.actionShowPathDirections)
        self.menuView.addAction(self.actionShowDisabledPaths)
        self.menuView.addSeparator()
        self.menuView.addAction(self.actionLiveUpdateExportRoute)
        self.menuView.addAction(self.actionDeleteG0Paths)
        self.menuView.addSeparator()
        self.menuView.addAction(self.actionAutoscale)
        self.menuView.addAction(self.actionTopView)
        self.menuView.addAction(self.actionIsometricView)
        self.menuMachine_Type.addAction(self.actionMilling)
        self.menuMachine_Type.addAction(self.actionLathe)
        self.menuMachine_Type.addAction(self.actionDragKnife)
        self.menuTolerances.addAction(self.actionConfiguration)
        self.menuTolerances.addSeparator()
        self.menuTolerances.addAction(self.actionTolerances)
        self.menuTolerances.addSeparator()
        self.menuTolerances.addAction(self.actionScaleAll)
        self.menuTolerances.addAction(self.actionRotateAll)
        self.menuTolerances.addSeparator()
        self.menuTolerances.addAction(self.actionMoveWorkpieceZero)
        self.menuTolerances.addSeparator()
        self.menuTolerances.addAction(self.actionSplitLineSegments)
        self.menuTolerances.addAction(self.actionAutomaticCutterCompensation)
        self.menuTolerances.addAction(self.menuMachine_Type.menuAction())
        self.menuHelp.addAction(self.actionAbout)
        self.menubar.addAction(self.menuFile.menuAction())
        self.menubar.addAction(self.menuExport.menuAction())
        self.menubar.addAction(self.menuView.menuAction())
        self.menubar.addAction(self.menuTolerances.menuAction())
        self.menubar.addAction(self.menuHelp.menuAction())

        self.retranslateUi(MainWindow)
        self.mytabWidget.setCurrentIndex(0)
        self.layersCollapsePushButton.clicked.connect(self.layersShapesTreeView.collapseAll)
        self.layersExpandPushButton.clicked.connect(self.layersShapesTreeView.expandAll)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
        MainWindow.setTabOrder(self.mytabWidget, self.entitiesTreeView)
        MainWindow.setTabOrder(self.entitiesTreeView, self.blocksCollapsePushButton)
        MainWindow.setTabOrder(self.blocksCollapsePushButton, self.blocksExpandPushButton)
        MainWindow.setTabOrder(self.blocksExpandPushButton, self.canvas)
        MainWindow.setTabOrder(self.canvas, self.messageBox)
        MainWindow.setTabOrder(self.messageBox, self.layersShapesTreeView)
        MainWindow.setTabOrder(self.layersShapesTreeView, self.layersCollapsePushButton)
        MainWindow.setTabOrder(self.layersCollapsePushButton, self.layersExpandPushButton)
        MainWindow.setTabOrder(self.layersExpandPushButton, self.layersGoUpPushButton)
        MainWindow.setTabOrder(self.layersGoUpPushButton, self.layersGoDownPushButton)
        MainWindow.setTabOrder(self.layersGoDownPushButton, self.toolDiameterComboBox)
        MainWindow.setTabOrder(self.toolDiameterComboBox, self.startAtXLineEdit)
        MainWindow.setTabOrder(self.startAtXLineEdit, self.startAtYLineEdit)
        MainWindow.setTabOrder(self.startAtYLineEdit, self.zRetractionArealLineEdit)
        MainWindow.setTabOrder(self.zRetractionArealLineEdit, self.zSafetyMarginLineEdit)
        MainWindow.setTabOrder(self.zSafetyMarginLineEdit, self.zInitialMillDepthLineEdit)
        MainWindow.setTabOrder(self.zInitialMillDepthLineEdit, self.zInfeedDepthLineEdit)
        MainWindow.setTabOrder(self.zInfeedDepthLineEdit, self.zFinalMillDepthLineEdit)
        MainWindow.setTabOrder(self.zFinalMillDepthLineEdit, self.g1FeedXYLineEdit)
        MainWindow.setTabOrder(self.g1FeedXYLineEdit, self.g1FeedZLineEdit)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "DXF2GCODE"))
        self.blocksCollapsePushButton.setToolTip(_translate("MainWindow", "Collapse all items"))
        self.blocksExpandPushButton.setToolTip(_translate("MainWindow", "Expand all items"))
        self.mytabWidget.setTabText(self.mytabWidget.indexOf(self.tab), _translate("MainWindow", "Entities"))
        self.layersCollapsePushButton.setToolTip(_translate("MainWindow", "Collapse all items"))
        self.layersExpandPushButton.setToolTip(_translate("MainWindow", "Expand all items"))
        self.layersGoUpPushButton.setToolTip(_translate("MainWindow", "Move-up the selected shape/layer"))
        self.layersGoDownPushButton.setToolTip(_translate("MainWindow", "Move-down the selected shape/layer"))
        self.label_11.setText(_translate("MainWindow", "⌀"))
        self.label_12.setText(_translate("MainWindow", "/ speed "))
        self.label_13.setText(_translate("MainWindow", "start rad. (comp) "))
        self.zInitialMillDepthLineEdit.setToolTip(_translate("MainWindow", "Milling will start at Z = \"Workpiece top Z\" - \"Z infeed depth\""))
        self.label_7.setText(_translate("MainWindow", "Feed rate XY"))
        self.label_8.setText(_translate("MainWindow", "Z Final mill depth"))
        self.label_9.setText(_translate("MainWindow", "Z Infeed depth"))
        self.label_5.setText(_translate("MainWindow", "Z Safety margin"))
        self.label_6.setText(_translate("MainWindow", "Z Retraction area"))
        self.label_14.setText(_translate("MainWindow", "Z Workpiece top"))
        self.startAtXLabel.setText(_translate("MainWindow", "Start X"))
        self.label_10.setText(_translate("MainWindow", "Feed rate Z"))
        self.startAtYLabel.setText(_translate("MainWindow", "Start Y"))
        self.mytabWidget.setTabText(self.mytabWidget.indexOf(self.tab_2), _translate("MainWindow", "Layers"))
        self.menuFile.setTitle(_translate("MainWindow", "File"))
        self.menuExport.setStatusTip(_translate("MainWindow", "Export the current project to G-Code"))
        self.menuExport.setTitle(_translate("MainWindow", "Export"))
        self.menuView.setTitle(_translate("MainWindow", "View"))
        self.menuTolerances.setTitle(_translate("MainWindow", "Options"))
        self.menuMachine_Type.setTitle(_translate("MainWindow", "Machine Type"))
        self.menuHelp.setTitle(_translate("MainWindow", "Help"))
        self.actionOpen.setText(_translate("MainWindow", "Open..."))
        self.actionOpen.setStatusTip(_translate("MainWindow", "Load DXF or other supported document"))
        self.actionOpen.setShortcut(_translate("MainWindow", "Ctrl+O"))
        self.actionClose.setText(_translate("MainWindow", "Exit"))
        self.actionClose.setStatusTip(_translate("MainWindow", "Exit DXF2GCODE and close window"))
        self.actionClose.setShortcut(_translate("MainWindow", "Ctrl+Q"))
        self.actionShowPathDirections.setText(_translate("MainWindow", "Show Path Directions"))
        self.actionShowPathDirections.setStatusTip(_translate("MainWindow", "Always shows the path direction in the plot (not only while selected)"))
        self.actionShowDisabledPaths.setText(_translate("MainWindow", "Show Disabled Paths"))
        self.actionAutoscale.setText(_translate("MainWindow", "Autoscale"))
        self.actionAutoscale.setShortcut(_translate("MainWindow", "Ctrl+V, A"))
        self.actionDeleteG0Paths.setText(_translate("MainWindow", "Delete G0 Paths"))
        self.actionConfiguration.setText(_translate("MainWindow", "Configuration..."))
        self.actionConfiguration.setShortcut(_translate("MainWindow", "Ctrl+Shift+C"))
        self.actionTolerances.setText(_translate("MainWindow", "Tolerances"))
        self.actionScaleAll.setText(_translate("MainWindow", "Scale All"))
        self.actionRotateAll.setText(_translate("MainWindow", "Rotate All"))
        self.actionMoveWorkpieceZero.setText(_translate("MainWindow", "Move Workpiece Zero"))
        self.actionAbout.setText(_translate("MainWindow", "About"))
        self.actionOptimizePaths.setText(_translate("MainWindow", "Optimize Paths"))
        self.actionOptimizePaths.setShortcut(_translate("MainWindow", "Ctrl+Shift+O"))
        self.actionExportShapes.setText(_translate("MainWindow", "Export Shapes"))
        self.actionExportShapes.setShortcut(_translate("MainWindow", "Ctrl+Shift+E"))
        self.actionOptimizeAndExportShapes.setText(_translate("MainWindow", "Optimize and Export Shapes"))
        self.actionOptimizeAndExportShapes.setShortcut(_translate("MainWindow", "Ctrl+E"))
        self.actionLiveUpdateExportRoute.setText(_translate("MainWindow", "Live Update Export Route"))
        self.actionReload.setText(_translate("MainWindow", "Reload"))
        self.actionReload.setShortcut(_translate("MainWindow", "Ctrl+R"))
        self.actionSplitLineSegments.setText(_translate("MainWindow", "Split Line Segments"))
        self.actionSplitLineSegments.setStatusTip(_translate("MainWindow", "Split line segments, e.g. can be used for compensation (G41/G42) in combination with EMC"))
        self.actionAutomaticCutterCompensation.setText(_translate("MainWindow", "Automatic Cutter Compensation"))
        self.actionMilling.setText(_translate("MainWindow", "Milling"))
        self.actionDragKnife.setText(_translate("MainWindow", "Drag Knife"))
        self.actionLathe.setText(_translate("MainWindow", "Lathe"))
        self.actionTopView.setText(_translate("MainWindow", "Top View"))
        self.actionTopView.setShortcut(_translate("MainWindow", "Ctrl+V, T"))
        self.actionIsometricView.setText(_translate("MainWindow", "Isometric View"))
        self.actionIsometricView.setShortcut(_translate("MainWindow", "Ctrl+V, I"))
        self.actionSaveProjectAs.setText(_translate("MainWindow", "Save Project As..."))
        self.actionSaveProjectAs.setShortcut(_translate("MainWindow", "Ctrl+S"))
コード例 #7
0
ファイル: main_window.py プロジェクト: Ksenox/ANN-2021
class MainWindow(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        self._model_handler = ModelHandler("model_1.h5")
        self.setWindowTitle("ANN #4")
        self.setFixedSize(*WIN_SIZE)
        self._canvas = Canvas(self)
        self._menubar = MenuBar(self)

        self._labels = [QtWidgets.QLabel(f'{x}: 0.0') for x in range(10)]
        self._result_label = QtWidgets.QLabel(f'It`s ..?')
        self._result_label.setFont(QtGui.QFont('Arial', 16))

        self._right_layout = QtWidgets.QVBoxLayout()
        for label in self._labels:
            self._right_layout.addWidget(label)
        self._right_layout.addWidget(self._result_label)

        self._main_layout = QtWidgets.QHBoxLayout()
        self._main_layout.addWidget(self._canvas)
        self._main_layout.addLayout(self._right_layout)
        self.setLayout(self._main_layout)

    def save(self):
        p = self._canvas.grab(QRect(0, 24, PM_WIDTH, PM_WIDTH))
        p = p.scaled(28, 28, transformMode=QtCore.Qt.SmoothTransformation)
        fileName = QtWidgets.QFileDialog.getSaveFileName(self, 'Save File', '')
        with open(fileName[0], 'w'):
            p.save(fileName[0], "PNG")

    def erase(self):
        self._canvas.erase()
        for i in range(len(self._labels)):
            self._labels[i].setText(f'{i}: 0.0')
        self._result_label.setText(f'It`s ..?')

    def open(self):
        fileName = QtWidgets.QFileDialog.getOpenFileName(self, 'Open File', '')
        if len(fileName[0]) != 0:
            self._canvas.load(fileName[0])
            self._update_results()

    def _update_results(self):
        pic = self._canvas.grab(QRect(0, 0, PM_WIDTH, PM_WIDTH))
        pic = pic.scaled(28, 28, transformMode=QtCore.Qt.SmoothTransformation)
        pic = self._pixmap_to_array(pic)
        prediction, digit = self._get_prediction(pic)
        for i in range(len(prediction)):
            self._labels[i].setText(f'{i}: {prediction[i]}')
        if float(prediction[digit]) > .80:
            self._result_label.setText(f'It`s {digit}!')
        else:
            self._result_label.setText(f'It`s ..?')

    def _get_prediction(self, array):
        result = self._model_handler._model.predict(array)
        maximum = np.argmax(result, axis=1)
        result = ["{:0.4f}".format(v) for v in result[0]]
        return result, maximum[0]

    @staticmethod
    def _pixmap_to_array(pixmap):
        image = pixmap.toImage()
        b = image.bits()
        b.setsize(28 * 28 * 4)
        arr = np.frombuffer(b, np.uint8).reshape((28, 28, 4))
        ret = np.array([[x[0] for x in line] for line in arr])
        ret[0] = np.array([0 for _ in range(28)])
        ret = ret / 255.0
        return np.array([ret])
コード例 #8
0
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.setWindowModality(QtCore.Qt.NonModal)
        MainWindow.resize(800, 600)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/images/DXF2GCODE-001.ico"),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
        self.verticalLayout.setSpacing(6)
        self.verticalLayout.setContentsMargins(-1, -1, -1, 2)
        self.verticalLayout.setObjectName("verticalLayout")
        self.splitter = QtWidgets.QSplitter(self.centralwidget)
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setChildrenCollapsible(False)
        self.splitter.setObjectName("splitter")
        self.mytabWidget = QtWidgets.QTabWidget(self.splitter)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(2)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.mytabWidget.sizePolicy().hasHeightForWidth())
        self.mytabWidget.setSizePolicy(sizePolicy)
        self.mytabWidget.setMinimumSize(QtCore.QSize(200, 0))
        self.mytabWidget.setAutoFillBackground(False)
        self.mytabWidget.setObjectName("mytabWidget")
        self.tab = QtWidgets.QWidget()
        self.tab.setObjectName("tab")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.tab)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_5.setSpacing(1)
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.blocksCollapsePushButton = QtWidgets.QPushButton(self.tab)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.blocksCollapsePushButton.sizePolicy().hasHeightForWidth())
        self.blocksCollapsePushButton.setSizePolicy(sizePolicy)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/images/collapse-all.png"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.blocksCollapsePushButton.setIcon(icon1)
        self.blocksCollapsePushButton.setIconSize(QtCore.QSize(24, 24))
        self.blocksCollapsePushButton.setObjectName("blocksCollapsePushButton")
        self.horizontalLayout_5.addWidget(self.blocksCollapsePushButton)
        self.blocksExpandPushButton = QtWidgets.QPushButton(self.tab)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.blocksExpandPushButton.sizePolicy().hasHeightForWidth())
        self.blocksExpandPushButton.setSizePolicy(sizePolicy)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(":/images/expand-all.png"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.blocksExpandPushButton.setIcon(icon2)
        self.blocksExpandPushButton.setIconSize(QtCore.QSize(24, 24))
        self.blocksExpandPushButton.setObjectName("blocksExpandPushButton")
        self.horizontalLayout_5.addWidget(self.blocksExpandPushButton)
        spacerItem = QtWidgets.QSpacerItem(13, 20,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_5.addItem(spacerItem)
        self.verticalLayout_3.addLayout(self.horizontalLayout_5)
        self.entitiesTreeView = TreeView(self.tab)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.entitiesTreeView.sizePolicy().hasHeightForWidth())
        self.entitiesTreeView.setSizePolicy(sizePolicy)
        self.entitiesTreeView.setObjectName("entitiesTreeView")
        self.verticalLayout_3.addWidget(self.entitiesTreeView)
        self.mytabWidget.addTab(self.tab, "")
        self.tab_2 = QtWidgets.QWidget()
        self.tab_2.setObjectName("tab_2")
        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.tab_2)
        self.verticalLayout_5.setSpacing(1)
        self.verticalLayout_5.setContentsMargins(5, 5, 5, 5)
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_4.setSpacing(1)
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.layersCollapsePushButton = QtWidgets.QPushButton(self.tab_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.layersCollapsePushButton.sizePolicy().hasHeightForWidth())
        self.layersCollapsePushButton.setSizePolicy(sizePolicy)
        self.layersCollapsePushButton.setIcon(icon1)
        self.layersCollapsePushButton.setIconSize(QtCore.QSize(24, 24))
        self.layersCollapsePushButton.setObjectName("layersCollapsePushButton")
        self.horizontalLayout_4.addWidget(self.layersCollapsePushButton)
        self.layersExpandPushButton = QtWidgets.QPushButton(self.tab_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.layersExpandPushButton.sizePolicy().hasHeightForWidth())
        self.layersExpandPushButton.setSizePolicy(sizePolicy)
        self.layersExpandPushButton.setIcon(icon2)
        self.layersExpandPushButton.setIconSize(QtCore.QSize(24, 24))
        self.layersExpandPushButton.setObjectName("layersExpandPushButton")
        self.horizontalLayout_4.addWidget(self.layersExpandPushButton)
        spacerItem1 = QtWidgets.QSpacerItem(13, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem1)
        self.layersGoUpPushButton = QtWidgets.QPushButton(self.tab_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.layersGoUpPushButton.sizePolicy().hasHeightForWidth())
        self.layersGoUpPushButton.setSizePolicy(sizePolicy)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(":/images/go-up.png"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.layersGoUpPushButton.setIcon(icon3)
        self.layersGoUpPushButton.setIconSize(QtCore.QSize(24, 24))
        self.layersGoUpPushButton.setObjectName("layersGoUpPushButton")
        self.horizontalLayout_4.addWidget(self.layersGoUpPushButton)
        self.layersGoDownPushButton = QtWidgets.QPushButton(self.tab_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.layersGoDownPushButton.sizePolicy().hasHeightForWidth())
        self.layersGoDownPushButton.setSizePolicy(sizePolicy)
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap(":/images/go-down.png"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.layersGoDownPushButton.setIcon(icon4)
        self.layersGoDownPushButton.setIconSize(QtCore.QSize(24, 24))
        self.layersGoDownPushButton.setObjectName("layersGoDownPushButton")
        self.horizontalLayout_4.addWidget(self.layersGoDownPushButton)
        self.verticalLayout_5.addLayout(self.horizontalLayout_4)
        self.layersShapesTreeView = TreeView(self.tab_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.layersShapesTreeView.sizePolicy().hasHeightForWidth())
        self.layersShapesTreeView.setSizePolicy(sizePolicy)
        self.layersShapesTreeView.setObjectName("layersShapesTreeView")
        self.verticalLayout_5.addWidget(self.layersShapesTreeView)
        self.millSettingsFrame = QtWidgets.QFrame(self.tab_2)
        self.millSettingsFrame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.millSettingsFrame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.millSettingsFrame.setLineWidth(0)
        self.millSettingsFrame.setObjectName("millSettingsFrame")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.millSettingsFrame)
        self.verticalLayout_4.setSpacing(0)
        self.verticalLayout_4.setContentsMargins(2, 2, 2, 2)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setSpacing(2)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.toolDiameterComboBox = QtWidgets.QComboBox(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.toolDiameterComboBox.sizePolicy().hasHeightForWidth())
        self.toolDiameterComboBox.setSizePolicy(sizePolicy)
        self.toolDiameterComboBox.setMaxVisibleItems(20)
        self.toolDiameterComboBox.setObjectName("toolDiameterComboBox")
        self.horizontalLayout_3.addWidget(self.toolDiameterComboBox)
        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
        self.verticalLayout_2.setSpacing(0)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.label_11 = QtWidgets.QLabel(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.label_11.sizePolicy().hasHeightForWidth())
        self.label_11.setSizePolicy(sizePolicy)
        self.label_11.setObjectName("label_11")
        self.horizontalLayout.addWidget(self.label_11)
        self.toolDiameterLabel = QtWidgets.QLabel(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.toolDiameterLabel.sizePolicy().hasHeightForWidth())
        self.toolDiameterLabel.setSizePolicy(sizePolicy)
        self.toolDiameterLabel.setText("[mm]")
        self.toolDiameterLabel.setObjectName("toolDiameterLabel")
        self.horizontalLayout.addWidget(self.toolDiameterLabel)
        self.label_12 = QtWidgets.QLabel(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.label_12.sizePolicy().hasHeightForWidth())
        self.label_12.setSizePolicy(sizePolicy)
        self.label_12.setObjectName("label_12")
        self.horizontalLayout.addWidget(self.label_12)
        self.toolSpeedLabel = QtWidgets.QLabel(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.toolSpeedLabel.sizePolicy().hasHeightForWidth())
        self.toolSpeedLabel.setSizePolicy(sizePolicy)
        self.toolSpeedLabel.setText("[rpm]")
        self.toolSpeedLabel.setObjectName("toolSpeedLabel")
        self.horizontalLayout.addWidget(self.toolSpeedLabel)
        self.verticalLayout_2.addLayout(self.horizontalLayout)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.label_13 = QtWidgets.QLabel(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.label_13.sizePolicy().hasHeightForWidth())
        self.label_13.setSizePolicy(sizePolicy)
        self.label_13.setObjectName("label_13")
        self.horizontalLayout_2.addWidget(self.label_13)
        self.startRadiusLabel = QtWidgets.QLabel(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.startRadiusLabel.sizePolicy().hasHeightForWidth())
        self.startRadiusLabel.setSizePolicy(sizePolicy)
        self.startRadiusLabel.setText("[mm]")
        self.startRadiusLabel.setObjectName("startRadiusLabel")
        self.horizontalLayout_2.addWidget(self.startRadiusLabel)
        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
        self.horizontalLayout_3.addLayout(self.verticalLayout_2)
        self.verticalLayout_4.addLayout(self.horizontalLayout_3)
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setHorizontalSpacing(2)
        self.gridLayout.setVerticalSpacing(0)
        self.gridLayout.setObjectName("gridLayout")
        self.zInitialMillDepthLineEdit = QtWidgets.QLineEdit(
            self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.zInitialMillDepthLineEdit.sizePolicy().hasHeightForWidth())
        self.zInitialMillDepthLineEdit.setSizePolicy(sizePolicy)
        self.zInitialMillDepthLineEdit.setObjectName(
            "zInitialMillDepthLineEdit")
        self.gridLayout.addWidget(self.zInitialMillDepthLineEdit, 4, 1, 1, 1)
        self.horizontalLayout_13 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_13.setSpacing(2)
        self.horizontalLayout_13.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_13.setObjectName("horizontalLayout_13")
        self.label_7 = QtWidgets.QLabel(self.millSettingsFrame)
        self.label_7.setWordWrap(True)
        self.label_7.setObjectName("label_7")
        self.horizontalLayout_13.addWidget(self.label_7)
        self.unitLabel_8 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_8.setText("[mm/min]")
        self.unitLabel_8.setAlignment(QtCore.Qt.AlignRight
                                      | QtCore.Qt.AlignTrailing
                                      | QtCore.Qt.AlignVCenter)
        self.unitLabel_8.setObjectName("unitLabel_8")
        self.horizontalLayout_13.addWidget(self.unitLabel_8)
        self.gridLayout.addLayout(self.horizontalLayout_13, 7, 0, 1, 1)
        self.horizontalLayout_12 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_12.setSpacing(2)
        self.horizontalLayout_12.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_12.setObjectName("horizontalLayout_12")
        self.label_8 = QtWidgets.QLabel(self.millSettingsFrame)
        self.label_8.setObjectName("label_8")
        self.horizontalLayout_12.addWidget(self.label_8)
        self.unitLabel_7 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_7.setText("[mm]")
        self.unitLabel_7.setAlignment(QtCore.Qt.AlignRight
                                      | QtCore.Qt.AlignTrailing
                                      | QtCore.Qt.AlignVCenter)
        self.unitLabel_7.setObjectName("unitLabel_7")
        self.horizontalLayout_12.addWidget(self.unitLabel_7)
        self.gridLayout.addLayout(self.horizontalLayout_12, 6, 0, 1, 1)
        self.zInfeedDepthLineEdit = QtWidgets.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.zInfeedDepthLineEdit.sizePolicy().hasHeightForWidth())
        self.zInfeedDepthLineEdit.setSizePolicy(sizePolicy)
        self.zInfeedDepthLineEdit.setObjectName("zInfeedDepthLineEdit")
        self.gridLayout.addWidget(self.zInfeedDepthLineEdit, 5, 1, 1, 1)
        self.horizontalLayout_11 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_11.setSpacing(2)
        self.horizontalLayout_11.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_11.setObjectName("horizontalLayout_11")
        self.label_9 = QtWidgets.QLabel(self.millSettingsFrame)
        self.label_9.setObjectName("label_9")
        self.horizontalLayout_11.addWidget(self.label_9)
        self.unitLabel_6 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_6.setText("[mm]")
        self.unitLabel_6.setAlignment(QtCore.Qt.AlignRight
                                      | QtCore.Qt.AlignTrailing
                                      | QtCore.Qt.AlignVCenter)
        self.unitLabel_6.setObjectName("unitLabel_6")
        self.horizontalLayout_11.addWidget(self.unitLabel_6)
        self.gridLayout.addLayout(self.horizontalLayout_11, 5, 0, 1, 1)
        self.zSafetyMarginLineEdit = QtWidgets.QLineEdit(
            self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.zSafetyMarginLineEdit.sizePolicy().hasHeightForWidth())
        self.zSafetyMarginLineEdit.setSizePolicy(sizePolicy)
        self.zSafetyMarginLineEdit.setObjectName("zSafetyMarginLineEdit")
        self.gridLayout.addWidget(self.zSafetyMarginLineEdit, 3, 1, 1, 1)
        self.zFinalMillDepthLineEdit = QtWidgets.QLineEdit(
            self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.zFinalMillDepthLineEdit.sizePolicy().hasHeightForWidth())
        self.zFinalMillDepthLineEdit.setSizePolicy(sizePolicy)
        self.zFinalMillDepthLineEdit.setObjectName("zFinalMillDepthLineEdit")
        self.gridLayout.addWidget(self.zFinalMillDepthLineEdit, 6, 1, 1, 1)
        self.horizontalLayout_9 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_9.setSpacing(2)
        self.horizontalLayout_9.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_9.setObjectName("horizontalLayout_9")
        self.label_5 = QtWidgets.QLabel(self.millSettingsFrame)
        self.label_5.setObjectName("label_5")
        self.horizontalLayout_9.addWidget(self.label_5)
        self.unitLabel_4 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_4.setText("[mm]")
        self.unitLabel_4.setAlignment(QtCore.Qt.AlignRight
                                      | QtCore.Qt.AlignTrailing
                                      | QtCore.Qt.AlignVCenter)
        self.unitLabel_4.setObjectName("unitLabel_4")
        self.horizontalLayout_9.addWidget(self.unitLabel_4)
        self.gridLayout.addLayout(self.horizontalLayout_9, 3, 0, 1, 1)
        self.zRetractionArealLineEdit = QtWidgets.QLineEdit(
            self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.zRetractionArealLineEdit.sizePolicy().hasHeightForWidth())
        self.zRetractionArealLineEdit.setSizePolicy(sizePolicy)
        self.zRetractionArealLineEdit.setObjectName("zRetractionArealLineEdit")
        self.gridLayout.addWidget(self.zRetractionArealLineEdit, 2, 1, 1, 1)
        self.horizontalLayout_8 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_8.setSpacing(2)
        self.horizontalLayout_8.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_8.setObjectName("horizontalLayout_8")
        self.label_6 = QtWidgets.QLabel(self.millSettingsFrame)
        self.label_6.setObjectName("label_6")
        self.horizontalLayout_8.addWidget(self.label_6)
        self.unitLabel_3 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_3.setText("[mm]")
        self.unitLabel_3.setAlignment(QtCore.Qt.AlignRight
                                      | QtCore.Qt.AlignTrailing
                                      | QtCore.Qt.AlignVCenter)
        self.unitLabel_3.setObjectName("unitLabel_3")
        self.horizontalLayout_8.addWidget(self.unitLabel_3)
        self.gridLayout.addLayout(self.horizontalLayout_8, 2, 0, 1, 1)
        self.horizontalLayout_10 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_10.setSpacing(2)
        self.horizontalLayout_10.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_10.setObjectName("horizontalLayout_10")
        self.label_14 = QtWidgets.QLabel(self.millSettingsFrame)
        self.label_14.setObjectName("label_14")
        self.horizontalLayout_10.addWidget(self.label_14)
        self.unitLabel_5 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_5.setText("[mm]")
        self.unitLabel_5.setAlignment(QtCore.Qt.AlignRight
                                      | QtCore.Qt.AlignTrailing
                                      | QtCore.Qt.AlignVCenter)
        self.unitLabel_5.setObjectName("unitLabel_5")
        self.horizontalLayout_10.addWidget(self.unitLabel_5)
        self.gridLayout.addLayout(self.horizontalLayout_10, 4, 0, 1, 1)
        self.g1FeedZLineEdit = QtWidgets.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.g1FeedZLineEdit.sizePolicy().hasHeightForWidth())
        self.g1FeedZLineEdit.setSizePolicy(sizePolicy)
        self.g1FeedZLineEdit.setObjectName("g1FeedZLineEdit")
        self.gridLayout.addWidget(self.g1FeedZLineEdit, 8, 1, 1, 1)
        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_6.setSpacing(2)
        self.horizontalLayout_6.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
        self.startAtXLabel = QtWidgets.QLabel(self.millSettingsFrame)
        self.startAtXLabel.setObjectName("startAtXLabel")
        self.horizontalLayout_6.addWidget(self.startAtXLabel)
        self.unitLabel_1 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_1.setText("[mm]")
        self.unitLabel_1.setAlignment(QtCore.Qt.AlignRight
                                      | QtCore.Qt.AlignTrailing
                                      | QtCore.Qt.AlignVCenter)
        self.unitLabel_1.setObjectName("unitLabel_1")
        self.horizontalLayout_6.addWidget(self.unitLabel_1)
        self.gridLayout.addLayout(self.horizontalLayout_6, 0, 0, 1, 1)
        self.startAtYLineEdit = QtWidgets.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.startAtYLineEdit.sizePolicy().hasHeightForWidth())
        self.startAtYLineEdit.setSizePolicy(sizePolicy)
        self.startAtYLineEdit.setObjectName("startAtYLineEdit")
        self.gridLayout.addWidget(self.startAtYLineEdit, 1, 1, 1, 1)
        self.g1FeedXYLineEdit = QtWidgets.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.g1FeedXYLineEdit.sizePolicy().hasHeightForWidth())
        self.g1FeedXYLineEdit.setSizePolicy(sizePolicy)
        self.g1FeedXYLineEdit.setObjectName("g1FeedXYLineEdit")
        self.gridLayout.addWidget(self.g1FeedXYLineEdit, 7, 1, 1, 1)
        self.horizontalLayout_14 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_14.setSpacing(2)
        self.horizontalLayout_14.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_14.setObjectName("horizontalLayout_14")
        self.label_10 = QtWidgets.QLabel(self.millSettingsFrame)
        self.label_10.setWordWrap(True)
        self.label_10.setObjectName("label_10")
        self.horizontalLayout_14.addWidget(self.label_10)
        self.unitLabel_9 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_9.setText("[mm/min]")
        self.unitLabel_9.setAlignment(QtCore.Qt.AlignRight
                                      | QtCore.Qt.AlignTrailing
                                      | QtCore.Qt.AlignVCenter)
        self.unitLabel_9.setObjectName("unitLabel_9")
        self.horizontalLayout_14.addWidget(self.unitLabel_9)
        self.gridLayout.addLayout(self.horizontalLayout_14, 8, 0, 1, 1)
        self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_7.setSpacing(2)
        self.horizontalLayout_7.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
        self.startAtYLabel = QtWidgets.QLabel(self.millSettingsFrame)
        self.startAtYLabel.setObjectName("startAtYLabel")
        self.horizontalLayout_7.addWidget(self.startAtYLabel)
        self.unitLabel_2 = QtWidgets.QLabel(self.millSettingsFrame)
        self.unitLabel_2.setText("[mm]")
        self.unitLabel_2.setAlignment(QtCore.Qt.AlignRight
                                      | QtCore.Qt.AlignTrailing
                                      | QtCore.Qt.AlignVCenter)
        self.unitLabel_2.setObjectName("unitLabel_2")
        self.horizontalLayout_7.addWidget(self.unitLabel_2)
        self.gridLayout.addLayout(self.horizontalLayout_7, 1, 0, 1, 1)
        self.startAtXLineEdit = QtWidgets.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.startAtXLineEdit.sizePolicy().hasHeightForWidth())
        self.startAtXLineEdit.setSizePolicy(sizePolicy)
        self.startAtXLineEdit.setObjectName("startAtXLineEdit")
        self.gridLayout.addWidget(self.startAtXLineEdit, 0, 1, 1, 1)
        self.verticalLayout_4.addLayout(self.gridLayout)
        self.verticalLayout_5.addWidget(self.millSettingsFrame)
        self.mytabWidget.addTab(self.tab_2, "")
        self.canvas = Canvas(self.splitter)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(7)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.canvas.sizePolicy().hasHeightForWidth())
        self.canvas.setSizePolicy(sizePolicy)
        self.canvas.setMinimumSize(QtCore.QSize(200, 200))
        self.canvas.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
        self.canvas.setObjectName("canvas")
        self.verticalLayout.addWidget(self.splitter)
        self.messageBox = MessageBox(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.messageBox.sizePolicy().hasHeightForWidth())
        self.messageBox.setSizePolicy(sizePolicy)
        self.messageBox.setMaximumSize(QtCore.QSize(16777215, 100))
        self.messageBox.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
        self.messageBox.setObjectName("messageBox")
        self.verticalLayout.addWidget(self.messageBox)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))
        self.menubar.setObjectName("menubar")
        self.menuFile = QtWidgets.QMenu(self.menubar)
        self.menuFile.setObjectName("menuFile")
        self.menuExport = QtWidgets.QMenu(self.menubar)
        self.menuExport.setEnabled(True)
        self.menuExport.setObjectName("menuExport")
        self.menuView = QtWidgets.QMenu(self.menubar)
        self.menuView.setObjectName("menuView")
        self.menuTolerances = QtWidgets.QMenu(self.menubar)
        self.menuTolerances.setObjectName("menuTolerances")
        self.menuMachine_Type = QtWidgets.QMenu(self.menuTolerances)
        self.menuMachine_Type.setObjectName("menuMachine_Type")
        self.menuHelp = QtWidgets.QMenu(self.menubar)
        self.menuHelp.setObjectName("menuHelp")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.actionOpen = QtWidgets.QAction(MainWindow)
        self.actionOpen.setObjectName("actionOpen")
        self.actionClose = QtWidgets.QAction(MainWindow)
        icon5 = QtGui.QIcon()
        icon5.addPixmap(QtGui.QPixmap(":/images/delete.png"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionClose.setIcon(icon5)
        self.actionClose.setObjectName("actionClose")
        self.actionShowPathDirections = QtWidgets.QAction(MainWindow)
        self.actionShowPathDirections.setCheckable(True)
        self.actionShowPathDirections.setChecked(False)
        self.actionShowPathDirections.setEnabled(False)
        self.actionShowPathDirections.setObjectName("actionShowPathDirections")
        self.actionShowDisabledPaths = QtWidgets.QAction(MainWindow)
        self.actionShowDisabledPaths.setCheckable(True)
        self.actionShowDisabledPaths.setChecked(False)
        self.actionShowDisabledPaths.setEnabled(False)
        self.actionShowDisabledPaths.setObjectName("actionShowDisabledPaths")
        self.actionAutoscale = QtWidgets.QAction(MainWindow)
        self.actionAutoscale.setEnabled(False)
        self.actionAutoscale.setObjectName("actionAutoscale")
        self.actionDeleteG0Paths = QtWidgets.QAction(MainWindow)
        self.actionDeleteG0Paths.setEnabled(False)
        self.actionDeleteG0Paths.setObjectName("actionDeleteG0Paths")
        self.actionTolerances = QtWidgets.QAction(MainWindow)
        self.actionTolerances.setObjectName("actionTolerances")
        self.actionScaleAll = QtWidgets.QAction(MainWindow)
        self.actionScaleAll.setEnabled(False)
        self.actionScaleAll.setObjectName("actionScaleAll")
        self.actionRotateAll = QtWidgets.QAction(MainWindow)
        self.actionRotateAll.setEnabled(False)
        self.actionRotateAll.setObjectName("actionRotateAll")
        self.actionMoveWorkpieceZero = QtWidgets.QAction(MainWindow)
        self.actionMoveWorkpieceZero.setEnabled(False)
        self.actionMoveWorkpieceZero.setObjectName("actionMoveWorkpieceZero")
        self.actionAbout = QtWidgets.QAction(MainWindow)
        self.actionAbout.setObjectName("actionAbout")
        self.actionOptimizePaths = QtWidgets.QAction(MainWindow)
        self.actionOptimizePaths.setEnabled(False)
        self.actionOptimizePaths.setObjectName("actionOptimizePaths")
        self.actionExportShapes = QtWidgets.QAction(MainWindow)
        self.actionExportShapes.setEnabled(False)
        self.actionExportShapes.setObjectName("actionExportShapes")
        self.actionOptimizeAndExportShapes = QtWidgets.QAction(MainWindow)
        self.actionOptimizeAndExportShapes.setEnabled(False)
        self.actionOptimizeAndExportShapes.setObjectName(
            "actionOptimizeAndExportShapes")
        self.actionLiveUpdateExportRoute = QtWidgets.QAction(MainWindow)
        self.actionLiveUpdateExportRoute.setCheckable(True)
        self.actionLiveUpdateExportRoute.setEnabled(False)
        self.actionLiveUpdateExportRoute.setObjectName(
            "actionLiveUpdateExportRoute")
        self.actionReload = QtWidgets.QAction(MainWindow)
        self.actionReload.setEnabled(False)
        self.actionReload.setObjectName("actionReload")
        self.actionSplitLineSegments = QtWidgets.QAction(MainWindow)
        self.actionSplitLineSegments.setCheckable(True)
        self.actionSplitLineSegments.setObjectName("actionSplitLineSegments")
        self.actionAutomaticCutterCompensation = QtWidgets.QAction(MainWindow)
        self.actionAutomaticCutterCompensation.setCheckable(True)
        self.actionAutomaticCutterCompensation.setEnabled(False)
        self.actionAutomaticCutterCompensation.setObjectName(
            "actionAutomaticCutterCompensation")
        self.actionMilling = QtWidgets.QAction(MainWindow)
        self.actionMilling.setCheckable(True)
        self.actionMilling.setObjectName("actionMilling")
        self.actionDragKnife = QtWidgets.QAction(MainWindow)
        self.actionDragKnife.setCheckable(True)
        self.actionDragKnife.setObjectName("actionDragKnife")
        self.actionLathe = QtWidgets.QAction(MainWindow)
        self.actionLathe.setCheckable(True)
        self.actionLathe.setObjectName("actionLathe")
        self.actionTopView = QtWidgets.QAction(MainWindow)
        self.actionTopView.setEnabled(False)
        self.actionTopView.setObjectName("actionTopView")
        self.actionIsometricView = QtWidgets.QAction(MainWindow)
        self.actionIsometricView.setEnabled(False)
        self.actionIsometricView.setObjectName("actionIsometricView")
        self.actionSaveProjectAs = QtWidgets.QAction(MainWindow)
        self.actionSaveProjectAs.setEnabled(False)
        self.actionSaveProjectAs.setObjectName("actionSaveProjectAs")
        self.menuFile.addAction(self.actionOpen)
        self.menuFile.addAction(self.actionReload)
        self.menuFile.addSeparator()
        self.menuFile.addAction(self.actionSaveProjectAs)
        self.menuFile.addSeparator()
        self.menuFile.addAction(self.actionClose)
        self.menuExport.addAction(self.actionOptimizePaths)
        self.menuExport.addAction(self.actionExportShapes)
        self.menuExport.addAction(self.actionOptimizeAndExportShapes)
        self.menuView.addAction(self.actionShowPathDirections)
        self.menuView.addAction(self.actionShowDisabledPaths)
        self.menuView.addSeparator()
        self.menuView.addAction(self.actionLiveUpdateExportRoute)
        self.menuView.addAction(self.actionDeleteG0Paths)
        self.menuView.addSeparator()
        self.menuView.addAction(self.actionAutoscale)
        self.menuView.addAction(self.actionTopView)
        self.menuView.addAction(self.actionIsometricView)
        self.menuMachine_Type.addAction(self.actionMilling)
        self.menuMachine_Type.addAction(self.actionLathe)
        self.menuMachine_Type.addAction(self.actionDragKnife)
        self.menuTolerances.addAction(self.actionTolerances)
        self.menuTolerances.addSeparator()
        self.menuTolerances.addAction(self.actionScaleAll)
        self.menuTolerances.addAction(self.actionRotateAll)
        self.menuTolerances.addSeparator()
        self.menuTolerances.addAction(self.actionMoveWorkpieceZero)
        self.menuTolerances.addSeparator()
        self.menuTolerances.addAction(self.actionSplitLineSegments)
        self.menuTolerances.addAction(self.actionAutomaticCutterCompensation)
        self.menuTolerances.addAction(self.menuMachine_Type.menuAction())
        self.menuHelp.addAction(self.actionAbout)
        self.menubar.addAction(self.menuFile.menuAction())
        self.menubar.addAction(self.menuExport.menuAction())
        self.menubar.addAction(self.menuView.menuAction())
        self.menubar.addAction(self.menuTolerances.menuAction())
        self.menubar.addAction(self.menuHelp.menuAction())

        self.retranslateUi(MainWindow)
        self.mytabWidget.setCurrentIndex(0)
        self.layersCollapsePushButton.clicked.connect(
            self.layersShapesTreeView.collapseAll)
        self.layersExpandPushButton.clicked.connect(
            self.layersShapesTreeView.expandAll)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
        MainWindow.setTabOrder(self.mytabWidget, self.entitiesTreeView)
        MainWindow.setTabOrder(self.entitiesTreeView,
                               self.blocksCollapsePushButton)
        MainWindow.setTabOrder(self.blocksCollapsePushButton,
                               self.blocksExpandPushButton)
        MainWindow.setTabOrder(self.blocksExpandPushButton, self.canvas)
        MainWindow.setTabOrder(self.canvas, self.messageBox)
        MainWindow.setTabOrder(self.messageBox, self.layersShapesTreeView)
        MainWindow.setTabOrder(self.layersShapesTreeView,
                               self.layersCollapsePushButton)
        MainWindow.setTabOrder(self.layersCollapsePushButton,
                               self.layersExpandPushButton)
        MainWindow.setTabOrder(self.layersExpandPushButton,
                               self.layersGoUpPushButton)
        MainWindow.setTabOrder(self.layersGoUpPushButton,
                               self.layersGoDownPushButton)
        MainWindow.setTabOrder(self.layersGoDownPushButton,
                               self.toolDiameterComboBox)
        MainWindow.setTabOrder(self.toolDiameterComboBox,
                               self.startAtXLineEdit)
        MainWindow.setTabOrder(self.startAtXLineEdit, self.startAtYLineEdit)
        MainWindow.setTabOrder(self.startAtYLineEdit,
                               self.zRetractionArealLineEdit)
        MainWindow.setTabOrder(self.zRetractionArealLineEdit,
                               self.zSafetyMarginLineEdit)
        MainWindow.setTabOrder(self.zSafetyMarginLineEdit,
                               self.zInitialMillDepthLineEdit)
        MainWindow.setTabOrder(self.zInitialMillDepthLineEdit,
                               self.zInfeedDepthLineEdit)
        MainWindow.setTabOrder(self.zInfeedDepthLineEdit,
                               self.zFinalMillDepthLineEdit)
        MainWindow.setTabOrder(self.zFinalMillDepthLineEdit,
                               self.g1FeedXYLineEdit)
        MainWindow.setTabOrder(self.g1FeedXYLineEdit, self.g1FeedZLineEdit)
コード例 #9
0
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.setWindowModality(QtCore.Qt.NonModal)
        MainWindow.resize(800, 600)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/images/DXF2GCODE-001.ico")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget)
        self.verticalLayout.setSpacing(6)
        self.verticalLayout.setContentsMargins(-1, -1, -1, 2)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.splitter = QtGui.QSplitter(self.centralwidget)
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setChildrenCollapsible(False)
        self.splitter.setObjectName(_fromUtf8("splitter"))
        self.mytabWidget = QtGui.QTabWidget(self.splitter)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(2)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.mytabWidget.sizePolicy().hasHeightForWidth())
        self.mytabWidget.setSizePolicy(sizePolicy)
        self.mytabWidget.setMinimumSize(QtCore.QSize(200, 0))
        self.mytabWidget.setAutoFillBackground(False)
        self.mytabWidget.setObjectName(_fromUtf8("mytabWidget"))
        self.tab = QtGui.QWidget()
        self.tab.setObjectName(_fromUtf8("tab"))
        self.verticalLayout_3 = QtGui.QVBoxLayout(self.tab)
        self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
        self.horizontalLayout_5 = QtGui.QHBoxLayout()
        self.horizontalLayout_5.setSpacing(1)
        self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
        self.blocksCollapsePushButton = QtGui.QPushButton(self.tab)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.blocksCollapsePushButton.sizePolicy().hasHeightForWidth())
        self.blocksCollapsePushButton.setSizePolicy(sizePolicy)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/images/collapse-all.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.blocksCollapsePushButton.setIcon(icon1)
        self.blocksCollapsePushButton.setIconSize(QtCore.QSize(24, 24))
        self.blocksCollapsePushButton.setObjectName(_fromUtf8("blocksCollapsePushButton"))
        self.horizontalLayout_5.addWidget(self.blocksCollapsePushButton)
        self.blocksExpandPushButton = QtGui.QPushButton(self.tab)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.blocksExpandPushButton.sizePolicy().hasHeightForWidth())
        self.blocksExpandPushButton.setSizePolicy(sizePolicy)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/images/expand-all.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.blocksExpandPushButton.setIcon(icon2)
        self.blocksExpandPushButton.setIconSize(QtCore.QSize(24, 24))
        self.blocksExpandPushButton.setObjectName(_fromUtf8("blocksExpandPushButton"))
        self.horizontalLayout_5.addWidget(self.blocksExpandPushButton)
        spacerItem = QtGui.QSpacerItem(13, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_5.addItem(spacerItem)
        self.verticalLayout_3.addLayout(self.horizontalLayout_5)
        self.entitiesTreeView = TreeView(self.tab)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.entitiesTreeView.sizePolicy().hasHeightForWidth())
        self.entitiesTreeView.setSizePolicy(sizePolicy)
        self.entitiesTreeView.setObjectName(_fromUtf8("entitiesTreeView"))
        self.verticalLayout_3.addWidget(self.entitiesTreeView)
        self.mytabWidget.addTab(self.tab, _fromUtf8(""))
        self.tab_2 = QtGui.QWidget()
        self.tab_2.setObjectName(_fromUtf8("tab_2"))
        self.verticalLayout_5 = QtGui.QVBoxLayout(self.tab_2)
        self.verticalLayout_5.setSpacing(1)
        self.verticalLayout_5.setMargin(5)
        self.verticalLayout_5.setObjectName(_fromUtf8("verticalLayout_5"))
        self.horizontalLayout_4 = QtGui.QHBoxLayout()
        self.horizontalLayout_4.setSpacing(1)
        self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
        self.layersCollapsePushButton = QtGui.QPushButton(self.tab_2)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.layersCollapsePushButton.sizePolicy().hasHeightForWidth())
        self.layersCollapsePushButton.setSizePolicy(sizePolicy)
        self.layersCollapsePushButton.setIcon(icon1)
        self.layersCollapsePushButton.setIconSize(QtCore.QSize(24, 24))
        self.layersCollapsePushButton.setObjectName(_fromUtf8("layersCollapsePushButton"))
        self.horizontalLayout_4.addWidget(self.layersCollapsePushButton)
        self.layersExpandPushButton = QtGui.QPushButton(self.tab_2)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.layersExpandPushButton.sizePolicy().hasHeightForWidth())
        self.layersExpandPushButton.setSizePolicy(sizePolicy)
        self.layersExpandPushButton.setIcon(icon2)
        self.layersExpandPushButton.setIconSize(QtCore.QSize(24, 24))
        self.layersExpandPushButton.setObjectName(_fromUtf8("layersExpandPushButton"))
        self.horizontalLayout_4.addWidget(self.layersExpandPushButton)
        spacerItem1 = QtGui.QSpacerItem(13, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem1)
        self.layersGoUpPushButton = QtGui.QPushButton(self.tab_2)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.layersGoUpPushButton.sizePolicy().hasHeightForWidth())
        self.layersGoUpPushButton.setSizePolicy(sizePolicy)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/images/go-up.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.layersGoUpPushButton.setIcon(icon3)
        self.layersGoUpPushButton.setIconSize(QtCore.QSize(24, 24))
        self.layersGoUpPushButton.setObjectName(_fromUtf8("layersGoUpPushButton"))
        self.horizontalLayout_4.addWidget(self.layersGoUpPushButton)
        self.layersGoDownPushButton = QtGui.QPushButton(self.tab_2)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.layersGoDownPushButton.sizePolicy().hasHeightForWidth())
        self.layersGoDownPushButton.setSizePolicy(sizePolicy)
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/images/go-down.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.layersGoDownPushButton.setIcon(icon4)
        self.layersGoDownPushButton.setIconSize(QtCore.QSize(24, 24))
        self.layersGoDownPushButton.setObjectName(_fromUtf8("layersGoDownPushButton"))
        self.horizontalLayout_4.addWidget(self.layersGoDownPushButton)
        self.verticalLayout_5.addLayout(self.horizontalLayout_4)
        self.layersShapesTreeView = TreeView(self.tab_2)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.layersShapesTreeView.sizePolicy().hasHeightForWidth())
        self.layersShapesTreeView.setSizePolicy(sizePolicy)
        self.layersShapesTreeView.setObjectName(_fromUtf8("layersShapesTreeView"))
        self.verticalLayout_5.addWidget(self.layersShapesTreeView)
        self.millSettingsFrame = QtGui.QFrame(self.tab_2)
        self.millSettingsFrame.setFrameShape(QtGui.QFrame.StyledPanel)
        self.millSettingsFrame.setFrameShadow(QtGui.QFrame.Raised)
        self.millSettingsFrame.setLineWidth(0)
        self.millSettingsFrame.setObjectName(_fromUtf8("millSettingsFrame"))
        self.verticalLayout_4 = QtGui.QVBoxLayout(self.millSettingsFrame)
        self.verticalLayout_4.setSpacing(0)
        self.verticalLayout_4.setMargin(2)
        self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
        self.horizontalLayout_3 = QtGui.QHBoxLayout()
        self.horizontalLayout_3.setSpacing(2)
        self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
        self.toolDiameterComboBox = QtGui.QComboBox(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.toolDiameterComboBox.sizePolicy().hasHeightForWidth())
        self.toolDiameterComboBox.setSizePolicy(sizePolicy)
        self.toolDiameterComboBox.setMaxVisibleItems(20)
        self.toolDiameterComboBox.setObjectName(_fromUtf8("toolDiameterComboBox"))
        self.horizontalLayout_3.addWidget(self.toolDiameterComboBox)
        self.verticalLayout_2 = QtGui.QVBoxLayout()
        self.verticalLayout_2.setSpacing(0)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.label_11 = QtGui.QLabel(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_11.sizePolicy().hasHeightForWidth())
        self.label_11.setSizePolicy(sizePolicy)
        self.label_11.setObjectName(_fromUtf8("label_11"))
        self.horizontalLayout.addWidget(self.label_11)
        self.toolDiameterLabel = QtGui.QLabel(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.toolDiameterLabel.sizePolicy().hasHeightForWidth())
        self.toolDiameterLabel.setSizePolicy(sizePolicy)
        self.toolDiameterLabel.setText(_fromUtf8("[mm]"))
        self.toolDiameterLabel.setObjectName(_fromUtf8("toolDiameterLabel"))
        self.horizontalLayout.addWidget(self.toolDiameterLabel)
        self.label_12 = QtGui.QLabel(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_12.sizePolicy().hasHeightForWidth())
        self.label_12.setSizePolicy(sizePolicy)
        self.label_12.setObjectName(_fromUtf8("label_12"))
        self.horizontalLayout.addWidget(self.label_12)
        self.toolSpeedLabel = QtGui.QLabel(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.toolSpeedLabel.sizePolicy().hasHeightForWidth())
        self.toolSpeedLabel.setSizePolicy(sizePolicy)
        self.toolSpeedLabel.setText(_fromUtf8("[rpm]"))
        self.toolSpeedLabel.setObjectName(_fromUtf8("toolSpeedLabel"))
        self.horizontalLayout.addWidget(self.toolSpeedLabel)
        self.verticalLayout_2.addLayout(self.horizontalLayout)
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
        self.label_13 = QtGui.QLabel(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_13.sizePolicy().hasHeightForWidth())
        self.label_13.setSizePolicy(sizePolicy)
        self.label_13.setObjectName(_fromUtf8("label_13"))
        self.horizontalLayout_2.addWidget(self.label_13)
        self.startRadiusLabel = QtGui.QLabel(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.startRadiusLabel.sizePolicy().hasHeightForWidth())
        self.startRadiusLabel.setSizePolicy(sizePolicy)
        self.startRadiusLabel.setText(_fromUtf8("[mm]"))
        self.startRadiusLabel.setObjectName(_fromUtf8("startRadiusLabel"))
        self.horizontalLayout_2.addWidget(self.startRadiusLabel)
        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
        self.horizontalLayout_3.addLayout(self.verticalLayout_2)
        self.verticalLayout_4.addLayout(self.horizontalLayout_3)
        self.gridLayout = QtGui.QGridLayout()
        self.gridLayout.setHorizontalSpacing(2)
        self.gridLayout.setVerticalSpacing(0)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.zInitialMillDepthLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.zInitialMillDepthLineEdit.sizePolicy().hasHeightForWidth())
        self.zInitialMillDepthLineEdit.setSizePolicy(sizePolicy)
        self.zInitialMillDepthLineEdit.setObjectName(_fromUtf8("zInitialMillDepthLineEdit"))
        self.gridLayout.addWidget(self.zInitialMillDepthLineEdit, 4, 1, 1, 1)
        self.horizontalLayout_13 = QtGui.QHBoxLayout()
        self.horizontalLayout_13.setSpacing(2)
        self.horizontalLayout_13.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_13.setObjectName(_fromUtf8("horizontalLayout_13"))
        self.label_7 = QtGui.QLabel(self.millSettingsFrame)
        self.label_7.setWordWrap(True)
        self.label_7.setObjectName(_fromUtf8("label_7"))
        self.horizontalLayout_13.addWidget(self.label_7)
        self.unitLabel_8 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_8.setText(_fromUtf8("[mm/min]"))
        self.unitLabel_8.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_8.setObjectName(_fromUtf8("unitLabel_8"))
        self.horizontalLayout_13.addWidget(self.unitLabel_8)
        self.gridLayout.addLayout(self.horizontalLayout_13, 7, 0, 1, 1)
        self.horizontalLayout_12 = QtGui.QHBoxLayout()
        self.horizontalLayout_12.setSpacing(2)
        self.horizontalLayout_12.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_12.setObjectName(_fromUtf8("horizontalLayout_12"))
        self.label_8 = QtGui.QLabel(self.millSettingsFrame)
        self.label_8.setObjectName(_fromUtf8("label_8"))
        self.horizontalLayout_12.addWidget(self.label_8)
        self.unitLabel_7 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_7.setText(_fromUtf8("[mm]"))
        self.unitLabel_7.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_7.setObjectName(_fromUtf8("unitLabel_7"))
        self.horizontalLayout_12.addWidget(self.unitLabel_7)
        self.gridLayout.addLayout(self.horizontalLayout_12, 6, 0, 1, 1)
        self.zInfeedDepthLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.zInfeedDepthLineEdit.sizePolicy().hasHeightForWidth())
        self.zInfeedDepthLineEdit.setSizePolicy(sizePolicy)
        self.zInfeedDepthLineEdit.setObjectName(_fromUtf8("zInfeedDepthLineEdit"))
        self.gridLayout.addWidget(self.zInfeedDepthLineEdit, 5, 1, 1, 1)
        self.horizontalLayout_11 = QtGui.QHBoxLayout()
        self.horizontalLayout_11.setSpacing(2)
        self.horizontalLayout_11.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_11.setObjectName(_fromUtf8("horizontalLayout_11"))
        self.label_9 = QtGui.QLabel(self.millSettingsFrame)
        self.label_9.setObjectName(_fromUtf8("label_9"))
        self.horizontalLayout_11.addWidget(self.label_9)
        self.unitLabel_6 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_6.setText(_fromUtf8("[mm]"))
        self.unitLabel_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_6.setObjectName(_fromUtf8("unitLabel_6"))
        self.horizontalLayout_11.addWidget(self.unitLabel_6)
        self.gridLayout.addLayout(self.horizontalLayout_11, 5, 0, 1, 1)
        self.zSafetyMarginLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.zSafetyMarginLineEdit.sizePolicy().hasHeightForWidth())
        self.zSafetyMarginLineEdit.setSizePolicy(sizePolicy)
        self.zSafetyMarginLineEdit.setObjectName(_fromUtf8("zSafetyMarginLineEdit"))
        self.gridLayout.addWidget(self.zSafetyMarginLineEdit, 3, 1, 1, 1)
        self.zFinalMillDepthLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.zFinalMillDepthLineEdit.sizePolicy().hasHeightForWidth())
        self.zFinalMillDepthLineEdit.setSizePolicy(sizePolicy)
        self.zFinalMillDepthLineEdit.setObjectName(_fromUtf8("zFinalMillDepthLineEdit"))
        self.gridLayout.addWidget(self.zFinalMillDepthLineEdit, 6, 1, 1, 1)
        self.horizontalLayout_9 = QtGui.QHBoxLayout()
        self.horizontalLayout_9.setSpacing(2)
        self.horizontalLayout_9.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_9.setObjectName(_fromUtf8("horizontalLayout_9"))
        self.label_5 = QtGui.QLabel(self.millSettingsFrame)
        self.label_5.setObjectName(_fromUtf8("label_5"))
        self.horizontalLayout_9.addWidget(self.label_5)
        self.unitLabel_4 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_4.setText(_fromUtf8("[mm]"))
        self.unitLabel_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_4.setObjectName(_fromUtf8("unitLabel_4"))
        self.horizontalLayout_9.addWidget(self.unitLabel_4)
        self.gridLayout.addLayout(self.horizontalLayout_9, 3, 0, 1, 1)
        self.zRetractionArealLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.zRetractionArealLineEdit.sizePolicy().hasHeightForWidth())
        self.zRetractionArealLineEdit.setSizePolicy(sizePolicy)
        self.zRetractionArealLineEdit.setObjectName(_fromUtf8("zRetractionArealLineEdit"))
        self.gridLayout.addWidget(self.zRetractionArealLineEdit, 2, 1, 1, 1)
        self.horizontalLayout_8 = QtGui.QHBoxLayout()
        self.horizontalLayout_8.setSpacing(2)
        self.horizontalLayout_8.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_8.setObjectName(_fromUtf8("horizontalLayout_8"))
        self.label_6 = QtGui.QLabel(self.millSettingsFrame)
        self.label_6.setObjectName(_fromUtf8("label_6"))
        self.horizontalLayout_8.addWidget(self.label_6)
        self.unitLabel_3 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_3.setText(_fromUtf8("[mm]"))
        self.unitLabel_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_3.setObjectName(_fromUtf8("unitLabel_3"))
        self.horizontalLayout_8.addWidget(self.unitLabel_3)
        self.gridLayout.addLayout(self.horizontalLayout_8, 2, 0, 1, 1)
        self.horizontalLayout_10 = QtGui.QHBoxLayout()
        self.horizontalLayout_10.setSpacing(2)
        self.horizontalLayout_10.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_10.setObjectName(_fromUtf8("horizontalLayout_10"))
        self.label_14 = QtGui.QLabel(self.millSettingsFrame)
        self.label_14.setObjectName(_fromUtf8("label_14"))
        self.horizontalLayout_10.addWidget(self.label_14)
        self.unitLabel_5 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_5.setText(_fromUtf8("[mm]"))
        self.unitLabel_5.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_5.setObjectName(_fromUtf8("unitLabel_5"))
        self.horizontalLayout_10.addWidget(self.unitLabel_5)
        self.gridLayout.addLayout(self.horizontalLayout_10, 4, 0, 1, 1)
        self.g1FeedZLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.g1FeedZLineEdit.sizePolicy().hasHeightForWidth())
        self.g1FeedZLineEdit.setSizePolicy(sizePolicy)
        self.g1FeedZLineEdit.setObjectName(_fromUtf8("g1FeedZLineEdit"))
        self.gridLayout.addWidget(self.g1FeedZLineEdit, 8, 1, 1, 1)
        self.horizontalLayout_6 = QtGui.QHBoxLayout()
        self.horizontalLayout_6.setSpacing(2)
        self.horizontalLayout_6.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
        self.startAtXLabel = QtGui.QLabel(self.millSettingsFrame)
        self.startAtXLabel.setObjectName(_fromUtf8("startAtXLabel"))
        self.horizontalLayout_6.addWidget(self.startAtXLabel)
        self.unitLabel_1 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_1.setText(_fromUtf8("[mm]"))
        self.unitLabel_1.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_1.setObjectName(_fromUtf8("unitLabel_1"))
        self.horizontalLayout_6.addWidget(self.unitLabel_1)
        self.gridLayout.addLayout(self.horizontalLayout_6, 0, 0, 1, 1)
        self.startAtYLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.startAtYLineEdit.sizePolicy().hasHeightForWidth())
        self.startAtYLineEdit.setSizePolicy(sizePolicy)
        self.startAtYLineEdit.setObjectName(_fromUtf8("startAtYLineEdit"))
        self.gridLayout.addWidget(self.startAtYLineEdit, 1, 1, 1, 1)
        self.g1FeedXYLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.g1FeedXYLineEdit.sizePolicy().hasHeightForWidth())
        self.g1FeedXYLineEdit.setSizePolicy(sizePolicy)
        self.g1FeedXYLineEdit.setObjectName(_fromUtf8("g1FeedXYLineEdit"))
        self.gridLayout.addWidget(self.g1FeedXYLineEdit, 7, 1, 1, 1)
        self.horizontalLayout_14 = QtGui.QHBoxLayout()
        self.horizontalLayout_14.setSpacing(2)
        self.horizontalLayout_14.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_14.setObjectName(_fromUtf8("horizontalLayout_14"))
        self.label_10 = QtGui.QLabel(self.millSettingsFrame)
        self.label_10.setWordWrap(True)
        self.label_10.setObjectName(_fromUtf8("label_10"))
        self.horizontalLayout_14.addWidget(self.label_10)
        self.unitLabel_9 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_9.setText(_fromUtf8("[mm/min]"))
        self.unitLabel_9.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_9.setObjectName(_fromUtf8("unitLabel_9"))
        self.horizontalLayout_14.addWidget(self.unitLabel_9)
        self.gridLayout.addLayout(self.horizontalLayout_14, 8, 0, 1, 1)
        self.horizontalLayout_7 = QtGui.QHBoxLayout()
        self.horizontalLayout_7.setSpacing(2)
        self.horizontalLayout_7.setContentsMargins(0, -1, 0, -1)
        self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7"))
        self.startAtYLabel = QtGui.QLabel(self.millSettingsFrame)
        self.startAtYLabel.setObjectName(_fromUtf8("startAtYLabel"))
        self.horizontalLayout_7.addWidget(self.startAtYLabel)
        self.unitLabel_2 = QtGui.QLabel(self.millSettingsFrame)
        self.unitLabel_2.setText(_fromUtf8("[mm]"))
        self.unitLabel_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.unitLabel_2.setObjectName(_fromUtf8("unitLabel_2"))
        self.horizontalLayout_7.addWidget(self.unitLabel_2)
        self.gridLayout.addLayout(self.horizontalLayout_7, 1, 0, 1, 1)
        self.startAtXLineEdit = QtGui.QLineEdit(self.millSettingsFrame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.startAtXLineEdit.sizePolicy().hasHeightForWidth())
        self.startAtXLineEdit.setSizePolicy(sizePolicy)
        self.startAtXLineEdit.setObjectName(_fromUtf8("startAtXLineEdit"))
        self.gridLayout.addWidget(self.startAtXLineEdit, 0, 1, 1, 1)
        self.verticalLayout_4.addLayout(self.gridLayout)
        self.verticalLayout_5.addWidget(self.millSettingsFrame)
        self.mytabWidget.addTab(self.tab_2, _fromUtf8(""))
        self.canvas = Canvas(self.splitter)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(7)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.canvas.sizePolicy().hasHeightForWidth())
        self.canvas.setSizePolicy(sizePolicy)
        self.canvas.setMinimumSize(QtCore.QSize(200, 200))
        self.canvas.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
        self.canvas.setObjectName(_fromUtf8("canvas"))
        self.verticalLayout.addWidget(self.splitter)
        self.messageBox = MessageBox(self.centralwidget)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.messageBox.sizePolicy().hasHeightForWidth())
        self.messageBox.setSizePolicy(sizePolicy)
        self.messageBox.setMaximumSize(QtCore.QSize(16777215, 100))
        self.messageBox.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
        self.messageBox.setObjectName(_fromUtf8("messageBox"))
        self.verticalLayout.addWidget(self.messageBox)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtGui.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))
        self.menubar.setObjectName(_fromUtf8("menubar"))
        self.menuFile = QtGui.QMenu(self.menubar)
        self.menuFile.setObjectName(_fromUtf8("menuFile"))
        self.menuExport = QtGui.QMenu(self.menubar)
        self.menuExport.setEnabled(True)
        self.menuExport.setObjectName(_fromUtf8("menuExport"))
        self.menuView = QtGui.QMenu(self.menubar)
        self.menuView.setObjectName(_fromUtf8("menuView"))
        self.menuTolerances = QtGui.QMenu(self.menubar)
        self.menuTolerances.setObjectName(_fromUtf8("menuTolerances"))
        self.menuMachine_Type = QtGui.QMenu(self.menuTolerances)
        self.menuMachine_Type.setObjectName(_fromUtf8("menuMachine_Type"))
        self.menuHelp = QtGui.QMenu(self.menubar)
        self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtGui.QStatusBar(MainWindow)
        self.statusbar.setObjectName(_fromUtf8("statusbar"))
        MainWindow.setStatusBar(self.statusbar)
        self.actionOpen = QtGui.QAction(MainWindow)
        self.actionOpen.setObjectName(_fromUtf8("actionOpen"))
        self.actionClose = QtGui.QAction(MainWindow)
        icon5 = QtGui.QIcon()
        icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/images/delete.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionClose.setIcon(icon5)
        self.actionClose.setObjectName(_fromUtf8("actionClose"))
        self.actionShowPathDirections = QtGui.QAction(MainWindow)
        self.actionShowPathDirections.setCheckable(True)
        self.actionShowPathDirections.setChecked(False)
        self.actionShowPathDirections.setEnabled(False)
        self.actionShowPathDirections.setObjectName(_fromUtf8("actionShowPathDirections"))
        self.actionShowDisabledPaths = QtGui.QAction(MainWindow)
        self.actionShowDisabledPaths.setCheckable(True)
        self.actionShowDisabledPaths.setChecked(False)
        self.actionShowDisabledPaths.setEnabled(False)
        self.actionShowDisabledPaths.setObjectName(_fromUtf8("actionShowDisabledPaths"))
        self.actionAutoscale = QtGui.QAction(MainWindow)
        self.actionAutoscale.setEnabled(False)
        self.actionAutoscale.setObjectName(_fromUtf8("actionAutoscale"))
        self.actionDeleteG0Paths = QtGui.QAction(MainWindow)
        self.actionDeleteG0Paths.setEnabled(False)
        self.actionDeleteG0Paths.setObjectName(_fromUtf8("actionDeleteG0Paths"))
        self.actionConfiguration = QtGui.QAction(MainWindow)
        self.actionConfiguration.setObjectName(_fromUtf8("actionConfiguration"))
        self.actionConfigurationPostprocessor = QtGui.QAction(MainWindow)
        self.actionConfigurationPostprocessor.setObjectName(_fromUtf8("actionConfigurationPostprocessor"))
        self.actionTolerances = QtGui.QAction(MainWindow)
        self.actionTolerances.setObjectName(_fromUtf8("actionTolerances"))
        self.actionScaleAll = QtGui.QAction(MainWindow)
        self.actionScaleAll.setEnabled(False)
        self.actionScaleAll.setObjectName(_fromUtf8("actionScaleAll"))
        self.actionRotateAll = QtGui.QAction(MainWindow)
        self.actionRotateAll.setEnabled(False)
        self.actionRotateAll.setObjectName(_fromUtf8("actionRotateAll"))
        self.actionMoveWorkpieceZero = QtGui.QAction(MainWindow)
        self.actionMoveWorkpieceZero.setEnabled(False)
        self.actionMoveWorkpieceZero.setObjectName(_fromUtf8("actionMoveWorkpieceZero"))
        self.actionAbout = QtGui.QAction(MainWindow)
        self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
        self.actionOptimizePaths = QtGui.QAction(MainWindow)
        self.actionOptimizePaths.setEnabled(False)
        self.actionOptimizePaths.setObjectName(_fromUtf8("actionOptimizePaths"))
        self.actionExportShapes = QtGui.QAction(MainWindow)
        self.actionExportShapes.setEnabled(False)
        self.actionExportShapes.setObjectName(_fromUtf8("actionExportShapes"))
        self.actionOptimizeAndExportShapes = QtGui.QAction(MainWindow)
        self.actionOptimizeAndExportShapes.setEnabled(False)
        self.actionOptimizeAndExportShapes.setObjectName(_fromUtf8("actionOptimizeAndExportShapes"))
        self.actionLiveUpdateExportRoute = QtGui.QAction(MainWindow)
        self.actionLiveUpdateExportRoute.setCheckable(True)
        self.actionLiveUpdateExportRoute.setEnabled(False)
        self.actionLiveUpdateExportRoute.setObjectName(_fromUtf8("actionLiveUpdateExportRoute"))
        self.actionReload = QtGui.QAction(MainWindow)
        self.actionReload.setEnabled(False)
        self.actionReload.setObjectName(_fromUtf8("actionReload"))
        self.actionSplitLineSegments = QtGui.QAction(MainWindow)
        self.actionSplitLineSegments.setCheckable(True)
        self.actionSplitLineSegments.setObjectName(_fromUtf8("actionSplitLineSegments"))
        self.actionAutomaticCutterCompensation = QtGui.QAction(MainWindow)
        self.actionAutomaticCutterCompensation.setCheckable(True)
        self.actionAutomaticCutterCompensation.setEnabled(False)
        self.actionAutomaticCutterCompensation.setObjectName(_fromUtf8("actionAutomaticCutterCompensation"))
        self.actionMilling = QtGui.QAction(MainWindow)
        self.actionMilling.setCheckable(True)
        self.actionMilling.setObjectName(_fromUtf8("actionMilling"))
        self.actionDragKnife = QtGui.QAction(MainWindow)
        self.actionDragKnife.setCheckable(True)
        self.actionDragKnife.setObjectName(_fromUtf8("actionDragKnife"))
        self.actionLathe = QtGui.QAction(MainWindow)
        self.actionLathe.setCheckable(True)
        self.actionLathe.setObjectName(_fromUtf8("actionLathe"))
        self.actionTopView = QtGui.QAction(MainWindow)
        self.actionTopView.setEnabled(False)
        self.actionTopView.setObjectName(_fromUtf8("actionTopView"))
        self.actionIsometricView = QtGui.QAction(MainWindow)
        self.actionIsometricView.setEnabled(False)
        self.actionIsometricView.setObjectName(_fromUtf8("actionIsometricView"))
        self.actionSaveProjectAs = QtGui.QAction(MainWindow)
        self.actionSaveProjectAs.setEnabled(False)
        self.actionSaveProjectAs.setObjectName(_fromUtf8("actionSaveProjectAs"))
        self.menuFile.addAction(self.actionOpen)
        self.menuFile.addAction(self.actionReload)
        self.menuFile.addSeparator()
        self.menuFile.addAction(self.actionSaveProjectAs)
        self.menuFile.addSeparator()
        self.menuFile.addAction(self.actionClose)
        self.menuExport.addAction(self.actionOptimizePaths)
        self.menuExport.addAction(self.actionExportShapes)
        self.menuExport.addAction(self.actionOptimizeAndExportShapes)
        self.menuView.addAction(self.actionShowPathDirections)
        self.menuView.addAction(self.actionShowDisabledPaths)
        self.menuView.addSeparator()
        self.menuView.addAction(self.actionLiveUpdateExportRoute)
        self.menuView.addAction(self.actionDeleteG0Paths)
        self.menuView.addSeparator()
        self.menuView.addAction(self.actionAutoscale)
        self.menuView.addAction(self.actionTopView)
        self.menuView.addAction(self.actionIsometricView)
        self.menuMachine_Type.addAction(self.actionMilling)
        self.menuMachine_Type.addAction(self.actionLathe)
        self.menuMachine_Type.addAction(self.actionDragKnife)
        self.menuTolerances.addAction(self.actionConfiguration)
        self.menuTolerances.addAction(self.actionConfigurationPostprocessor)
        self.menuTolerances.addSeparator()
        self.menuTolerances.addAction(self.actionTolerances)
        self.menuTolerances.addSeparator()
        self.menuTolerances.addAction(self.actionScaleAll)
        self.menuTolerances.addAction(self.actionRotateAll)
        self.menuTolerances.addSeparator()
        self.menuTolerances.addAction(self.actionMoveWorkpieceZero)
        self.menuTolerances.addSeparator()
        self.menuTolerances.addAction(self.actionSplitLineSegments)
        self.menuTolerances.addAction(self.actionAutomaticCutterCompensation)
        self.menuTolerances.addAction(self.menuMachine_Type.menuAction())
        self.menuHelp.addAction(self.actionAbout)
        self.menubar.addAction(self.menuFile.menuAction())
        self.menubar.addAction(self.menuExport.menuAction())
        self.menubar.addAction(self.menuView.menuAction())
        self.menubar.addAction(self.menuTolerances.menuAction())
        self.menubar.addAction(self.menuHelp.menuAction())

        self.retranslateUi(MainWindow)
        self.mytabWidget.setCurrentIndex(0)
        QtCore.QObject.connect(self.layersCollapsePushButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.layersShapesTreeView.collapseAll)
        QtCore.QObject.connect(self.layersExpandPushButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.layersShapesTreeView.expandAll)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
        MainWindow.setTabOrder(self.mytabWidget, self.entitiesTreeView)
        MainWindow.setTabOrder(self.entitiesTreeView, self.blocksCollapsePushButton)
        MainWindow.setTabOrder(self.blocksCollapsePushButton, self.blocksExpandPushButton)
        MainWindow.setTabOrder(self.blocksExpandPushButton, self.canvas)
        MainWindow.setTabOrder(self.canvas, self.messageBox)
        MainWindow.setTabOrder(self.messageBox, self.layersShapesTreeView)
        MainWindow.setTabOrder(self.layersShapesTreeView, self.layersCollapsePushButton)
        MainWindow.setTabOrder(self.layersCollapsePushButton, self.layersExpandPushButton)
        MainWindow.setTabOrder(self.layersExpandPushButton, self.layersGoUpPushButton)
        MainWindow.setTabOrder(self.layersGoUpPushButton, self.layersGoDownPushButton)
        MainWindow.setTabOrder(self.layersGoDownPushButton, self.toolDiameterComboBox)
        MainWindow.setTabOrder(self.toolDiameterComboBox, self.startAtXLineEdit)
        MainWindow.setTabOrder(self.startAtXLineEdit, self.startAtYLineEdit)
        MainWindow.setTabOrder(self.startAtYLineEdit, self.zRetractionArealLineEdit)
        MainWindow.setTabOrder(self.zRetractionArealLineEdit, self.zSafetyMarginLineEdit)
        MainWindow.setTabOrder(self.zSafetyMarginLineEdit, self.zInitialMillDepthLineEdit)
        MainWindow.setTabOrder(self.zInitialMillDepthLineEdit, self.zInfeedDepthLineEdit)
        MainWindow.setTabOrder(self.zInfeedDepthLineEdit, self.zFinalMillDepthLineEdit)
        MainWindow.setTabOrder(self.zFinalMillDepthLineEdit, self.g1FeedXYLineEdit)
        MainWindow.setTabOrder(self.g1FeedXYLineEdit, self.g1FeedZLineEdit)

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(_translate("MainWindow", "DXF2GCODE", None))
        self.blocksCollapsePushButton.setToolTip(_translate("MainWindow", "Collapse all items", None))
        self.blocksExpandPushButton.setToolTip(_translate("MainWindow", "Expand all items", None))
        self.mytabWidget.setTabText(self.mytabWidget.indexOf(self.tab), _translate("MainWindow", "Entities", None))
        self.layersCollapsePushButton.setToolTip(_translate("MainWindow", "Collapse all items", None))
        self.layersExpandPushButton.setToolTip(_translate("MainWindow", "Expand all items", None))
        self.layersGoUpPushButton.setToolTip(_translate("MainWindow", "Move-up the selected shape/layer", None))
        self.layersGoDownPushButton.setToolTip(_translate("MainWindow", "Move-down the selected shape/layer", None))
        self.label_11.setText(_translate("MainWindow", "⌀", None))
        self.label_12.setText(_translate("MainWindow", "/ speed ", None))
        self.label_13.setText(_translate("MainWindow", "start rad. (comp) ", None))
        self.zInitialMillDepthLineEdit.setToolTip(_translate("MainWindow", "Milling will start at Z = \"Workpiece top Z\" - \"Z infeed depth\"", None))
        self.label_7.setText(_translate("MainWindow", "Feed rate XY", None))
        self.label_8.setText(_translate("MainWindow", "Z Final mill depth", None))
        self.label_9.setText(_translate("MainWindow", "Z Infeed depth", None))
        self.label_5.setText(_translate("MainWindow", "Z Safety margin", None))
        self.label_6.setText(_translate("MainWindow", "Z Retraction area", None))
        self.label_14.setText(_translate("MainWindow", "Z Workpiece top", None))
        self.startAtXLabel.setText(_translate("MainWindow", "Start X", None))
        self.label_10.setText(_translate("MainWindow", "Feed rate Z", None))
        self.startAtYLabel.setText(_translate("MainWindow", "Start Y", None))
        self.mytabWidget.setTabText(self.mytabWidget.indexOf(self.tab_2), _translate("MainWindow", "Layers", None))
        self.menuFile.setTitle(_translate("MainWindow", "File", None))
        self.menuExport.setStatusTip(_translate("MainWindow", "Export the current project to G-Code", None))
        self.menuExport.setTitle(_translate("MainWindow", "Export", None))
        self.menuView.setTitle(_translate("MainWindow", "View", None))
        self.menuTolerances.setTitle(_translate("MainWindow", "Options", None))
        self.menuMachine_Type.setTitle(_translate("MainWindow", "Machine Type", None))
        self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
        self.actionOpen.setText(_translate("MainWindow", "Open...", None))
        self.actionOpen.setStatusTip(_translate("MainWindow", "Load DXF or other supported document", None))
        self.actionOpen.setShortcut(_translate("MainWindow", "Ctrl+O", None))
        self.actionClose.setText(_translate("MainWindow", "Exit", None))
        self.actionClose.setStatusTip(_translate("MainWindow", "Exit DXF2GCODE and close window", None))
        self.actionClose.setShortcut(_translate("MainWindow", "Ctrl+Q", None))
        self.actionShowPathDirections.setText(_translate("MainWindow", "Show Path Directions", None))
        self.actionShowPathDirections.setStatusTip(_translate("MainWindow", "Always shows the path direction in the plot (not only while selected)", None))
        self.actionShowDisabledPaths.setText(_translate("MainWindow", "Show Disabled Paths", None))
        self.actionAutoscale.setText(_translate("MainWindow", "Autoscale", None))
        self.actionAutoscale.setShortcut(_translate("MainWindow", "Ctrl+V, A", None))
        self.actionDeleteG0Paths.setText(_translate("MainWindow", "Delete G0 Paths", None))
        self.actionConfiguration.setText(_translate("MainWindow", "Configuration...", None))
        self.actionConfiguration.setShortcut(_translate("MainWindow", "Ctrl+Shift+C", None))
        self.actionConfigurationPostprocessor.setText(_translate("MainWindow", "Postprocessor configuration...", None))
        self.actionConfigurationPostprocessor.setShortcut(_translate("MainWindow", "Ctrl+Shift+P", None))
        self.actionTolerances.setText(_translate("MainWindow", "Tolerances", None))
        self.actionScaleAll.setText(_translate("MainWindow", "Scale All", None))
        self.actionRotateAll.setText(_translate("MainWindow", "Rotate All", None))
        self.actionMoveWorkpieceZero.setText(_translate("MainWindow", "Move Workpiece Zero", None))
        self.actionAbout.setText(_translate("MainWindow", "About", None))
        self.actionOptimizePaths.setText(_translate("MainWindow", "Optimize Paths", None))
        self.actionOptimizePaths.setShortcut(_translate("MainWindow", "Ctrl+Shift+O", None))
        self.actionExportShapes.setText(_translate("MainWindow", "Export Shapes", None))
        self.actionExportShapes.setShortcut(_translate("MainWindow", "Ctrl+Shift+E", None))
        self.actionOptimizeAndExportShapes.setText(_translate("MainWindow", "Optimize and Export Shapes", None))
        self.actionOptimizeAndExportShapes.setShortcut(_translate("MainWindow", "Ctrl+E", None))
        self.actionLiveUpdateExportRoute.setText(_translate("MainWindow", "Live Update Export Route", None))
        self.actionReload.setText(_translate("MainWindow", "Reload", None))
        self.actionReload.setShortcut(_translate("MainWindow", "Ctrl+R", None))
        self.actionSplitLineSegments.setText(_translate("MainWindow", "Split Line Segments", None))
        self.actionSplitLineSegments.setStatusTip(_translate("MainWindow", "Split line segments, e.g. can be used for compensation (G41/G42) in combination with EMC", None))
        self.actionAutomaticCutterCompensation.setText(_translate("MainWindow", "Automatic Cutter Compensation", None))
        self.actionMilling.setText(_translate("MainWindow", "Milling", None))
        self.actionDragKnife.setText(_translate("MainWindow", "Drag Knife", None))
        self.actionLathe.setText(_translate("MainWindow", "Lathe", None))
        self.actionTopView.setText(_translate("MainWindow", "Top View", None))
        self.actionTopView.setShortcut(_translate("MainWindow", "Ctrl+V, T", None))
        self.actionIsometricView.setText(_translate("MainWindow", "Isometric View", None))
        self.actionIsometricView.setShortcut(_translate("MainWindow", "Ctrl+V, I", None))
        self.actionSaveProjectAs.setText(_translate("MainWindow", "Save Project As...", None))
        self.actionSaveProjectAs.setShortcut(_translate("MainWindow", "Ctrl+S", None))