class MachinekitWorkbench(Workbench): '''Registration and loading of the Machinekit workbench''' import machinekit Icon = machinekit.FileResource('machinekiticon.svg') MenuText = "Machinekit" ToolTip = "Workbench to interact with machinkit controlling a CNC" def Initialize(self): import FreeCADGui import MachinekitPreferences FreeCADGui.addPreferencePage(MachinekitPreferences.Page, 'Machinekit') FreeCADGui.addIcon('preferences-machinekit', self.Icon) import MachinekitCommands MachinekitCommands.SetupToolbar(self) MachinekitCommands.SetupMenu(self) pass def Activated(self): import MachinekitCommands MachinekitCommands.Activated() def Deactivated(self): import MachinekitCommands MachinekitCommands.Deactivated()
def GetResources(self): PathLog.track() return { 'Pixmap': machinekit.FileResource('machinekiticon.png'), 'MenuText': 'Jog', 'ToolTip': 'Jog and DRO interface for machine setup' }
def Setup(): global _setup if not _setup: import FreeCADGui import machinekit icon = machinekit.FileResource('machinekiticon.svg') FreeCADGui.addIcon('preferences-machinekit', icon) FreeCADGui.addPreferencePage(PageGeneral, 'Machinekit') FreeCADGui.addPreferencePage(PageHUD, 'Machinekit') _setup = True
def __init__(self, mk): self.mk = mk self.ui = FreeCADGui.PySideUic.loadUi( machinekit.FileResource('status.ui'), self) palette = PySide.QtGui.QPalette() palette.setColor(PySide.QtGui.QPalette.Background, PySide.QtGui.QColor(0xffd75e)) self.ui.dockWidgetContents.setAutoFillBackground(True) self.ui.dockWidgetContents.setPalette(palette) self.ui.statusEStop.clicked.connect(self.toggleEstop) self.ui.statusPower.clicked.connect(self.togglePower) self.ui.statusHome.clicked.connect(self.toggleHomed) self.updateUI() self.mk.statusUpdate.connect(self.changed)
def __init__(self, mk): self.mk = mk self.ui = FreeCADGui.PySideUic.loadUi( machinekit.FileResource('combo.ui')) while 0 != self.ui.tabWidget.count(): self.ui.tabWidget.removeTab(0) self.jog = MachinekitJog.Jog(mk) self.ui.tabWidget.addTab(self.jog.ui.dockWidgetContents, 'Jog') self.exe = MachinekitExecute.Execute(mk) self.ui.tabWidget.addTab(self.exe.ui.dockWidgetContents, 'Execute') self.status = MachinekitStatus.Status(mk) self.ui.tabWidget.addTab(self.status.ui.dockWidgetContents, 'Status') self.hud = MachinekitHud.Hud(mk, FreeCADGui.ActiveDocument.ActiveView) self.mk.statusUpdate.connect(self.changed) self.updateTitle()
class MachinekitWorkbench(Workbench): '''Registration and loading of the Machinekit workbench''' import machinekit Icon = machinekit.FileResource('machinekiticon.svg') MenuText = "Machinekit" ToolTip = "Workbench to interact with machinkit controlling a CNC" def Initialize(self): import MachinekitPreferences MachinekitPreferences.Setup() import MachinekitCommands MachinekitCommands.SetupToolbar(self) MachinekitCommands.SetupMenu(self) def Activated(self): import MachinekitCommands MachinekitCommands.Activated() def Deactivated(self): import MachinekitCommands MachinekitCommands.Deactivated()
def __init__(self, mk): PathLog.track() self.mk = mk self.ui = FreeCADGui.PySideUic.loadUi( machinekit.FileResource('jog.ui')) palette = PySide.QtGui.QPalette() palette.setColor(PySide.QtGui.QPalette.Background, PySide.QtGui.QColor(0xffd75e)) self.ui.dockWidgetContents.setAutoFillBackground(True) self.ui.dockWidgetContents.setPalette(palette) def setupJogButton(b, axes, icon, slot=None): b.setIcon(machinekit.IconResource(icon)) b.setText('') if slot: b.clicked.connect(slot) else: b.clicked.connect(lambda: self.jogAxes(axes)) b.pressed.connect(lambda: self.jogAxesBegin(axes)) b.released.connect(lambda: self.jogAxesEnd(axes)) def setupSetButton(b, axes, widget, width): b.setMaximumWidth(width) b.clicked.connect(lambda: self.setPosition(axes, widget)) setupJogButton(self.ui.jogN, 'Y', 'arrow-up.svg') setupJogButton(self.ui.jogNE, 'XY', 'arrow-right-up.svg') setupJogButton(self.ui.jogE, 'X', 'arrow-right.svg') setupJogButton(self.ui.jogSE, 'Xy', 'arrow-right-down.svg') setupJogButton(self.ui.jogS, 'y', 'arrow-down.svg') setupJogButton(self.ui.jogSW, 'xy', 'arrow-left-down.svg') setupJogButton(self.ui.jogW, 'x', 'arrow-left.svg') setupJogButton(self.ui.jogNW, 'xY', 'arrow-left-up.svg') setupJogButton(self.ui.jogU, 'Z', 'arrow-up.svg') setupJogButton(self.ui.jogD, 'z', 'arrow-down.svg') setupJogButton(self.ui.jog0, '', 'home-xy.svg', lambda: self.jogAxesZero('-')) setupJogButton(self.ui.jogZ0, '', 'home-z.svg', lambda: self.jogAxesZero('|')) setupJogButton(self.ui.jogStop, '', 'stop.svg', lambda: self.jogAxesStop()) buttonWidth = self.ui.setX.size().height() setupSetButton(self.ui.setX, 'x', self.ui.posX, buttonWidth) setupSetButton(self.ui.setY, 'y', self.ui.posY, buttonWidth) setupSetButton(self.ui.setZ, 'z', self.ui.posZ, buttonWidth) setupSetButton(self.ui.setX0, 'x', None, buttonWidth) setupSetButton(self.ui.setY0, 'y', None, buttonWidth) setupSetButton(self.ui.setZ0, 'z', None, buttonWidth) setupSetButton(self.ui.setXYZ0, 'xyz', None, buttonWidth) self.ui.jogStop.setIconSize( PySide.QtCore.QSize(3 * buttonWidth, 3 * buttonWidth)) self.jogGoto = None self.ui.jogScan.clicked.connect(lambda: self.scanJob(True)) self.ui.jogScanBackwards.clicked.connect(lambda: self.scanJob(False)) FreeCADGui.Selection.addObserver(self) self.isSetup = False self.updateUI() self.mk.statusUpdate.connect(self.changed) machinekit.jog = self
def __init__(self, mk): self.mk = mk self.ui = FreeCADGui.PySideUic.loadUi( machinekit.FileResource('execute.ui'), self) palette = PySide.QtGui.QPalette() palette.setColor(PySide.QtGui.QPalette.Background, PySide.QtGui.QColor(0xffd75e)) self.ui.dockWidgetContents.setAutoFillBackground(True) self.ui.dockWidgetContents.setPalette(palette) self.oi = 'v' if True: lo = PySide.QtGui.QHBoxLayout() lo.setSpacing(0) lo.setContentsMargins(0, 0, 0, 0) tb = PySide.QtGui.QFrame() tb.setFrameShape(PySide.QtGui.QFrame.Box) tb.setLayout(lo) #tb.setContentsMargins(0, 0, 0, 0) self.title = PySide.QtGui.QLabel() self.title.setText('-.-') self.title.setContentsMargins(0, 0, 0, 0) lo.addWidget(self.title, 10) self.ob = PySide.QtGui.QPushButton() #self.ob.setFlat(False) self.ob.setIcon(PySide.QtGui.QApplication.style().standardIcon( PySide.QtGui.QStyle.SP_TitleBarUnshadeButton)) self.ob.clicked.connect(self.toggleOrientation) lo.addWidget(self.ob) bs = None for b in self.ui.findChildren(PySide.QtGui.QAbstractButton): if 'qt_dockwidget' in b.objectName(): bt = PySide.QtGui.QPushButton() bt.setIcon(b.icon()) bs = b.size() if bs.height() < bs.width(): bs.setWidth(bs.height()) else: bs.setHeight(bs.width()) bt.setMaximumSize(bs) #bt.setFlat(False) bt.setContentsMargins(0, 0, 0, 0) bt.clicked.connect(b.click) lo.addWidget(bt) if bs: self.title.setMaximumHeight(bs.height()) self.ob.setMaximumSize(bs) #tb.setMaximumHeight(bs.height()) self.ui.setTitleBarWidget(tb) self.job = None self.ui.load.clicked.connect(self.executeUpload) self.ui.run.clicked.connect(self.executeRun) self.ui.step.clicked.connect(self.executeStep) self.ui.pause.clicked.connect(self.executePause) self.ui.stop.clicked.connect(self.executeStop) self.ui.scaleInt.valueChanged.connect(self.executeScaleInt) self.ui.scaleInt.sliderReleased.connect(self.executeScaleVal) self.ui.scaleVal.editingFinished.connect(self.executeScaleVal) self.ui.status.setText('') rect = self.ui.geometry() self.ui.resize(rect.width(), 0) self.observer = TreeSelectionObserver(self.objectSelectionChanged) FreeCADGui.Selection.addObserver(self.observer) self.objectSelectionChanged() self.updateOverride() self.updateJob(self.mk.getJob()) self.updateUI() self.toolChange = MachinekitManualToolChange.Controller(self.mk) machinekit.execute = self self.mk.statusUpdate.connect(self.changed) self.mk.jobUpdate.connect(self.updateJob) if not self.mk.getJob(): self.mk.updateJob()
def GetResources(self): return { 'Pixmap': machinekit.FileResource('machinekiticon.png'), 'MenuText': 'Hud', 'ToolTip': 'HUD DRO interface for machine setup' }
def GetResources(self): return { 'Pixmap': machinekit.FileResource('machinekiticon.png'), 'MenuText': 'Execute', 'ToolTip': 'Interface for controlling file execution' }
def __init__(self, parent=None): import FreeCADGui import machinekit self.form = FreeCADGui.PySideUic.loadUi(machinekit.FileResource('preferences.ui'))
def GetResources(self): return { 'Pixmap' : machinekit.FileResource('machinekiticon.png'), 'MenuText' : 'Combo', 'ToolTip' : 'Combo interface with all sub-interfaces' }
def __init__(self, parent=None): import FreeCADGui import machinekit self.form = FreeCADGui.PySideUic.loadUi( machinekit.FileResource('preferences.ui')) self.form.restServers.itemChanged.connect(self.itemChanged)