Light Fast.py
<python>
- Light_Fast.py pick & place control program
- 2012.04.08
- YES IT WORKS: runs from eclipse classic helios and pydev
- 2011.04.28
- REPEAT AND COMMENT, use Wing IDE
- [IMPORT.CSV] Button creates also the .INI file
- [LINK DATA] Button updates only feeder data with GetFeederInfo
- [NEXT] Button works but it is slow, (scans .INI file)
- [OPEN .INI] Button Creates No-DATA erros one after the other---> have to call
- task manager to terminate
- TODO: Create LIST and seek inside the LIST instead the .INI
- TODO: **** Apply OOP ASAP ****
from Tkinter import * from tkFileDialog import * from math import * from SimpleDialog import * from ConfigParser import * from decimal import * import tkMessageBox import csv import os
IN_AXIS = os.environ.has_key("AXIS_PROGRESS_BAR") ix = 0 class Application(Frame):
def __init__(self, master=None): Frame.__init__(self, master) self.grid() self.createMenu() self.createWidgets()
def createMenu(self): #Create the Menu base self.menu = Menu(self) #Add the Menu self.master.config(menu=self.menu) #Create our File menu self.FileMenu = Menu(self.menu) #Add our Menu to the Base Menu self.menu.add_cascade(label='File', menu=self.FileMenu) #Add items to the menu self.FileMenu.add_command(label='New', command=self.Simple) self.FileMenu.add_command(label='Open', command=self.Simple) self.FileMenu.add_separator() self.FileMenu.add_command(label='Quit', command=self.quit) self.EditMenu = Menu(self.menu) self.menu.add_cascade(label='Edit', menu=self.EditMenu) self.EditMenu.add_command(label='Copy', command=self.CopyClpBd) self.EditMenu.add_command(label='Select All', command=self.SelectAllText) self.EditMenu.add_command(label='Delete All', command=self.ClearTextBox) self.EditMenu.add_separator() self.EditMenu.add_command(label='Preferences', command=self.Simple) self.EditMenu.add_command(label='NC Directory', command=self.NcFileDirectory) self.HelpMenu = Menu(self.menu) self.menu.add_cascade(label='Help', menu=self.HelpMenu) self.HelpMenu.add_command(label='Help Info', command=self.HelpInfo) self.HelpMenu.add_command(label='About', command=self.HelpAbout)
def createWidgets(self):
- ------------------------------------------------------------------------------
self.sp1 = Label(self) self.sp1.grid(row=0)
- --------------------------------0----------------------------------------
# R=0 # self.spacer3 = Label(self, text='Part Data') # self.spacer3.grid(row=R, column=0, columnspan=2)
# self.spacer3 = Label(self, text='------Part Link ---------') # self.spacer3.grid(row=R, column=2, columnspan=2)
# self.spacer3 = Label(self, text='------Status-------------') # self.spacer3.grid(row=R, column=4, columnspan=2)
# self.spacer3 = Label(self, text='------Board --------------------') # self.spacer3.grid(row=R, column=6, columnspan=2)
# self.spacer3 = Label(self, text='------Feeder -------------------') # self.spacer3.grid(row=R, column=8, columnspan=2)
# self.spacer3 = Label(self, text='------Speeds -------------------') # self.spacer3.grid(row=R, column=10, columnspan=2)
# self.spacer3 = Label(self, text='------Delays -------------------') # self.spacer3.grid(row=R, column=12, columnspan=2)
- -------------------------------------1-------------------------------------------
C1 = 0 C2 = 1 self.st1 = Label(self, text='PartIndex ') self.st1.grid(row=1, column=C1, sticky=E) self.PartIndexVar = StringVar() self.PartIndex = Entry(self, width=10, bg = 'cyan', textvariable=self.PartIndexVar) self.PartIndex.grid(row=1, column=C2, sticky=W) self.PartIndex.focus_set()
self.st2 = Label(self, text='PartRef ') self.st2.grid(row=2, column=C1, sticky=E) self.PartRefVar = StringVar() self.PartRefVar.set('M4444') self.PartRef = Entry(self, width=10, textvariable=self.PartRefVar) self.PartRef.grid(row=2, column=C2, sticky=W)
self.st6 = Label(self, text='PartValue ') self.st6.grid(row=3, column=C1, sticky=E) self.PartValueVar = StringVar() self.PartValue = Entry(self, width=10, textvariable=self.PartValueVar) self.PartValue.grid(row=3, column=C2, sticky=W)
self.st5 = Label(self, text='PartFtprnt ') self.st5.grid(row=4, column=C1, sticky=E) self.PartFtprntVar = StringVar() self.PartFtprnt = Entry(self, width=10, textvariable=self.PartFtprntVar) self.PartFtprnt.grid(row=4, column=C2, sticky=W)
self.st3 = Label(self, text='PartDimX ') self.st3.grid(row=5, column=C1, sticky=E) self.PartDimXVar = StringVar() self.PartDimX = Entry(self, width=10, bg = '#eee', textvariable=self.PartDimXVar) self.PartDimX.grid(row=5, column=C2, sticky=W)
self.st3 = Label(self, text='PartDimY ') self.st3.grid(row=6, column=C1, sticky=E) self.PartDimYVar = StringVar() self.PartDimY = Entry(self, width=10, bg = '#eee', textvariable=self.PartDimYVar) self.PartDimY.grid(row=6, column=C2, sticky=W)
self.st3 = Label(self, text=' PartHeight ') self.st3.grid(row=7, column=C1, sticky=E) self.PartHightVar = StringVar() self.PartHight = Entry(self, width=10, bg = '#eee', textvariable=self.PartHightVar) self.PartHight.grid(row=7, column=C2, sticky=W)
self.st3 = Label(self, text='PartCenterX ') self.st3.grid(row=8, column=C1, sticky=E) self.PartCenterXVar = StringVar() self.PartCenterX = Entry(self, width=10, textvariable=self.PartCenterXVar) self.PartCenterX.grid(row=8, column=C2, sticky=W)
self.st3 = Label(self, text='PartCenterY ') self.st3.grid(row=9, column=C1, sticky=E) self.PartCenterYVar = StringVar() self.PartCenterY = Entry(self, width=10, textvariable=self.PartCenterYVar) self.PartCenterY.grid(row=9, column=C2, sticky=W)
self.st3 = Label(self, text='PartRefX') self.st3.grid(row=10, column=C1, sticky=E) self.PartRefXVar = StringVar() self.PartRefX = Entry(self, width=10, textvariable=self.PartRefXVar) self.PartRefX.grid(row=10, column=C2, sticky=W)
self.st3 = Label(self, text='PartRefY') self.st3.grid(row=11, column=C1, sticky=E) self.PartRefYVar = StringVar() self.PartRefY = Entry(self, width=10, textvariable=self.PartRefYVar) self.PartRefY.grid(row=11, column=C2, sticky=W)
self.st3 = Label(self, text='PartPadX') self.st3.grid(row=12, column=C1, sticky=E) self.PartPadXVar = StringVar() self.PartPadX = Entry(self, width=10, textvariable=self.PartPadXVar) self.PartPadX.grid(row=12, column=C2, sticky=W) self.st3 = Label(self, text='PartPadY') self.st3.grid(row=13, column=C1, sticky=E) self.PartPadYVar = StringVar() self.PartPadY = Entry(self, width=10, textvariable=self.PartPadYVar) self.PartPadY.grid(row=13, column=C2, sticky=W)
self.st3 = Label(self, text='PartRot') self.st3.grid(row=14, column=C1, sticky=E) self.PartRotVar = StringVar() self.PartRot = Entry(self, width=10, textvariable=self.PartRotVar) self.PartRot.grid(row=14, column=C2, sticky=W)
self.st3 = Label(self, text='PartLayer') self.st3.grid(row=15, column=C1, sticky=E) self.PartLayerVar = StringVar() self.PartLayer = Entry(self, width=10, textvariable=self.PartLayerVar) self.PartLayer.grid(row=15, column=C2, sticky=W)
self.st3 = Label(self, text='PartPV') self.st3.grid(row=16, column=C1, sticky=E) self.PartPVVar = StringVar() self.PartPV = Entry(self, width=10, textvariable=self.PartPVVar) self.PartPV.grid(row=16, column=C2, sticky=W)
self.st3 = Label(self, text='PartLink') self.st3.grid(row=17, column=C1, sticky=E) self.PartLinkVar = StringVar() self.PartLinkVar.set('0') self.PartLink = Entry(self, width=10, bg = 'green', textvariable=self.PartLinkVar) self.PartLink.grid(row=17, column=C2, sticky=W)
self.st3 = Label(self, text=) self.st3.grid(row=24, column=C1, sticky=E)
self.st3 = Label(self, text='InCsv') self.st3.grid(row=25, column=C1, sticky=E) self.InCsvVar = StringVar() self.InCsvVar.set('bom_pp_.csv') self.InCsv = Entry(self, width=10, textvariable=self.InCsvVar) self.InCsv.grid(row=25, column=C2, sticky=W)
self.st3 = Label(self, text='NoOfParts') self.st3.grid(row=26, column=C1, sticky=E) self.NoOfPartsVar = StringVar() #self.NoOfPartsVar.set('eeeeeee') self.NoOfParts = Entry(self, width=10, textvariable=self.NoOfPartsVar) self.NoOfParts.grid(row=26, column=C2, sticky=W)
self.st3 = Label(self, text='PROJECT') self.st3.grid(row=27, column=C1, sticky=E) self.PartProjVar = StringVar() self.PartProj = Entry(self, width=10, textvariable=self.PartProjVar) self.PartProj.grid(row=27, column=C2, sticky=W)
- ----------------------------------------2-------------------------------------------------
C1 = 2 C2 = 3 self.st3 = Label(self, text='Link ') self.st3.grid(row=1, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, bg = 'green', textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=1, column=C2, sticky=W)
self.st1 = Label(self, text='LinkBoard ') self.st1.grid(row=2, column=C1, sticky=E) self.PositionXVar = StringVar() self.PositionX = Entry(self, width=10, bg = 'yellow', textvariable=self.PositionXVar) self.PositionX.grid(row=2, column=C2, sticky=W) self.PositionX.focus_set()
self.st2 = Label(self, text=' LinkFeeder ') self.st2.grid(row=3, column=C1, sticky=E) self.PositionYVar = StringVar() self.PositionY = Entry(self, width=10, bg = 'yellow', textvariable=self.PositionYVar) self.PositionY.grid(row=3, column=C2, sticky=W)
self.st6 = Label(self, text='LinkHead ') self.st6.grid(row=4, column=C1, sticky=E) self.PositionRotVar = StringVar() self.PositionRot = Entry(self, width=10, bg = 'yellow', textvariable=self.PositionRotVar) self.PositionRot.grid(row=4, column=C2, sticky=W)
self.st5 = Label(self, text='LinkNozzle ') self.st5.grid(row=5, column=C1, sticky=E) self.PositionPlacedVar = StringVar() self.PositionPlaced = Entry(self, width=10, bg = 'yellow', textvariable=self.PositionPlacedVar) self.PositionPlaced.grid(row=5, column=C2, sticky=W)
self.st3 = Label(self, text='LinkAlign ') self.st3.grid(row=6, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, bg = 'yellow', textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=6, column=C2, sticky=W)
self.st3 = Label(self, text='LinkYtable ') self.st3.grid(row=7, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, bg = 'yellow', textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=7, column=C2, sticky=W)
self.st3 = Label(self, text='LinkRtable ') self.st3.grid(row=8, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, bg = 'yellow', textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=8, column=C2, sticky=W)
self.st3 = Label(self, text='LinkSpeed ') self.st3.grid(row=9, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, bg = 'yellow', textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=9, column=C2, sticky=W)
self.st3 = Label(self, text='LinkDelay ') self.st3.grid(row=10, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, bg = 'yellow', textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=10, column=C2, sticky=W)
self.st3 = Label(self, text='LinkScript ') self.st3.grid(row=11, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, bg = 'yellow', textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=11, column=C2, sticky=W)
self.st3 = Label(self, text='LinkStatus ') self.st3.grid(row=12, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, bg = 'yellow', textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=12, column=C2, sticky=W)
self.WriteButton = Button(self, text='LiNK DATA',command=self.GetFeederInfo, width = 10, bg= 'green', height = 2) self.WriteButton.grid(row=25, column = C2, rowspan=2)
- ----------------------------------------3-------------------------------------------------
C1 = 4 C2 = 5 self.st1 = Label(self, text='StatusLink ') self.st1.grid(row=1, column=C1, sticky=E) self.PositionXVar = StringVar() self.PositionX = Entry(self, width=10, bg = 'yellow', textvariable=self.PositionXVar) self.PositionX.grid(row=1, column=C2, sticky=W) self.PositionX.focus_set()
self.st2 = Label(self, text='StatusNoUse ') self.st2.grid(row=2, column=C1, sticky=E) self.PositionYVar = StringVar() self.PositionY = Entry(self, width=10, textvariable=self.PositionYVar) self.PositionY.grid(row=2, column=C2, sticky=W)
self.st6 = Label(self, text='StatusPlaced ') self.st6.grid(row=3, column=C1, sticky=E) self.PositionRotVar = StringVar() self.PositionRot = Entry(self, width=10, textvariable=self.PositionRotVar) self.PositionRot.grid(row=3, column=C2, sticky=W)
self.st5 = Label(self, text='StatusIsBack ') self.st5.grid(row=4, column=C1, sticky=E) self.PositionPlacedVar = StringVar() self.PositionPlaced = Entry(self, width=10, textvariable=self.PositionPlacedVar) self.PositionPlaced.grid(row=4, column=C2, sticky=W) self.st3 = Label(self, text='StatusRetries ') self.st3.grid(row=5, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=5, column=C2, sticky=W)
self.st3 = Label(self, text='StatusFail ') self.st3.grid(row=6, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=6, column=C2, sticky=W)
self.st3 = Label(self, text='StatusNotFound ', width = 10) self.st3.grid(row=7, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=7, column=C2, sticky=W)
self.st3 = Label(self, text='StatusDrop ') self.st3.grid(row=8, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=8, column=C2, sticky=W)
self.st3 = Label(self, text='StatusReject ') self.st3.grid(row=9, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=9, column=C2, sticky=W)
self.st3 = Label(self, text='Status ') self.st3.grid(row=10, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=10, column=C2, sticky=W)
- -------------------------------------4--------------------------------
C1 = 6 C2 = 7 self.st1 = Label(self, text='BoardLink ') self.st1.grid(row=1, column=C1, sticky=E) self.PartLengthVar = StringVar() self.PartLength = Entry(self, width=10, bg = 'yellow', textvariable=self.PartLengthVar) self.PartLength.grid(row=1, column=C2, sticky=W) self.PartLength.focus_set()
self.st2 = Label(self, text='BoardDimX ') self.st2.grid(row=2, column=C1, sticky=E) self.PartWidthVar = StringVar() self.PartWidth = Entry(self, width=10, textvariable=self.PartWidthVar) self.PartWidth.grid(row=2, column=C2, sticky=W)
self.st6 = Label(self, text='BoardDimY ') self.st6.grid(row=3, column=C1, sticky=E) self.DepthOfCutVar = StringVar() self.DepthOfCut = Entry(self, width=10, textvariable=self.DepthOfCutVar) self.DepthOfCut.grid(row=3, column=C2, sticky=W)
self.st5 = Label(self, text='BoardHeight ') self.st5.grid(row=4, column=C1, sticky=E) self.FeederHeightVar = StringVar() self.FeederHeight = Entry(self, width=10, textvariable=self.FeederHeightVar) self.FeederHeight.grid(row=4, column=C2, sticky=W)
self.st3 = Label(self, text='BoardPosX ') self.st3.grid(row=5, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=5, column=C2, sticky=W)
self.st3 = Label(self, text='BoardPosY ') self.st3.grid(row=6, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=6, column=C2, sticky=W)
self.st3 = Label(self, text='BoardPosZ ') self.st3.grid(row=7, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=7, column=C2, sticky=W)
self.st3 = Label(self, text='BoardRot ') self.st3.grid(row=8, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=8, column=C2, sticky=W)
self.st3 = Label(self, text='BoardRefX ') self.st3.grid(row=9, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=9, column=C2, sticky=W)
self.st3 = Label(self, text='BoardRefY ') self.st3.grid(row=10, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=10, column=C2, sticky=W)
- ------------------------------------5------------------------------------
C1 = 8 C2 = 9 self.st1 = Label(self, text='FeederLink ') self.st1.grid(row=1, column=C1, sticky=E) self.FeederLinkVar = StringVar() self.FeederLink = Entry(self, width=10, bg = 'yellow', textvariable=self.FeederLinkVar) self.FeederLink.grid(row=1, column=C2, sticky=W) self.FeederLink.focus_set()
self.st2 = Label(self, text='FeederWidth ') self.st2.grid(row=2, column=C1, sticky=E) self.FeederWidthVar = StringVar() # self.FeederWidthVar.set('M4444') self.FeederWidth = Entry(self, width=10, textvariable=self.FeederWidthVar) self.FeederWidth.grid(row=2, column=C2, sticky=W)
self.st6 = Label(self, text='FeederPosX ') self.st6.grid(row=3, column=C1, sticky=E) self.FeederPosXVar = StringVar() self.FeederPosX = Entry(self, width=10, textvariable=self.FeederPosXVar) self.FeederPosX.grid(row=3, column=C2, sticky=W)
self.st5 = Label(self, text='FeederPosY ') self.st5.grid(row=4, column=C1, sticky=E) self.FeederPosYVar = StringVar() self.FeederPosY = Entry(self, width=10, textvariable=self.FeederPosYVar) self.FeederPosY.grid(row=4, column=C2, sticky=W)
self.st5 = Label(self, text='FeederHeight ') self.st5.grid(row=5, column=C1, sticky=E) self.FeederHeightVar = StringVar() self.FeederHeight = Entry(self, width=10, textvariable=self.FeederHeightVar) self.FeederHeight.grid(row=5, column=C2, sticky=W) self.st3 = Label(self, text='FeederPosZ ') self.st3.grid(row=6, column=C1, sticky=E) self.FeederPosZVar = StringVar() self.FeederPosZ = Entry(self, width=10, textvariable=self.FeederPosZVar) self.FeederPosZ.grid(row=6, column=C2, sticky=W)
self.st3 = Label(self, text='FeederRot ') self.st3.grid(row=7, column=C1, sticky=E) self.FeederRotVar = StringVar() self.FeederRot = Entry(self, width=10, textvariable=self.FeederRotVar) self.FeederRot.grid(row=7, column=C2, sticky=W)
self.st3 = Label(self, text='FeederStepX ') self.st3.grid(row=8, column=C1, sticky=E) self.FeederStepXVar = StringVar() self.FeederStepX = Entry(self, width=10, textvariable=self.FeederStepXVar) self.FeederStepX.grid(row=8, column=C2, sticky=W)
self.st3 = Label(self, text='FeederStepY ') self.st3.grid(row=9, column=C1, sticky=E) self.FeederStepYVar = StringVar() self.FeederStepY = Entry(self, width=10, textvariable=self.FeederStepYVar) self.FeederStepY.grid(row=9, column=C2, sticky=W)
self.st3 = Label(self, text='10 ') self.st3.grid(row=10, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=10, column=C2, sticky=W)
- ------------------------------------6------------------------------------
C1 = 20 C2 = 21 self.st3 = Label(self, text='SpeedLink ') self.st3.grid(row=1, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, bg = 'yellow', textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=1, column=C2, sticky=W)
self.st1 = Label(self, text='SpeedFast ') self.st1.grid(row=2, column=C1, sticky=E) self.PartLengthVar = StringVar() self.PartLength = Entry(self, width=10, textvariable=self.PartLengthVar) self.PartLength.grid(row=2, column=C2, sticky=W) self.PartLength.focus_set()
self.st2 = Label(self, text='SpeedSlow ') self.st2.grid(row=3, column=C1, sticky=E) self.PartWidthVar = StringVar() self.PartWidth = Entry(self, width=10, textvariable=self.PartWidthVar) self.PartWidth.grid(row=3, column=C2, sticky=W)
self.st6 = Label(self, text='SpeedZPeak ') self.st6.grid(row=4, column=C1, sticky=E) self.DepthOfCutVar = StringVar() self.DepthOfCut = Entry(self, width=10, textvariable=self.DepthOfCutVar) self.DepthOfCut.grid(row=4, column=C2, sticky=W)
self.st5 = Label(self, text='SpeedZPlace ') self.st5.grid(row=5, column=C1, sticky=E) self.TotalToRemoveVar = StringVar() self.TotalToRemove = Entry(self, width=10, textvariable=self.TotalToRemoveVar) self.TotalToRemove.grid(row=5, column=C2, sticky=W) self.st3 = Label(self, text='SpeedAlign ') self.st3.grid(row=6, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=6, column=C2, sticky=W)
self.st3 = Label(self, text='SpeedRot ') self.st3.grid(row=7, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=7, column=C2, sticky=W)
self.st3 = Label(self, text='7 ') self.st3.grid(row=8, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=8, column=C2, sticky=W)
self.st3 = Label(self, text='8 ') self.st3.grid(row=9, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=9, column=C2, sticky=W)
self.st3 = Label(self, text='9 ') self.st3.grid(row=10, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=10, column=C2, sticky=W)
- ------------------------------------7------------------------------------
C1 = 22 C2 = 23 self.st1 = Label(self, text='DelayLink ') self.st1.grid(row=1, column=C1, sticky=E) self.PartLengthVar = StringVar() self.PartLength = Entry(self, width=10, bg = 'yellow', textvariable=self.PartLengthVar) self.PartLength.grid(row=1, column=C2, sticky=W) self.PartLength.focus_set()
self.st2 = Label(self, text='DelayPick ') self.st2.grid(row=2, column=C1, sticky=E) self.PartWidthVar = StringVar() self.PartWidth = Entry(self, width=10, textvariable=self.PartWidthVar) self.PartWidth.grid(row=2, column=C2, sticky=W)
self.st6 = Label(self, text='DelayPlace ') self.st6.grid(row=3, column=C1, sticky=E) self.DepthOfCutVar = StringVar() self.DepthOfCut = Entry(self, width=10, textvariable=self.DepthOfCutVar) self.DepthOfCut.grid(row=3, column=C2, sticky=W)
self.st5 = Label(self, text='4 ') self.st5.grid(row=4, column=C1, sticky=E) self.TotalToRemoveVar = StringVar() self.TotalToRemove = Entry(self, width=10, textvariable=self.TotalToRemoveVar) self.TotalToRemove.grid(row=4, column=C2, sticky=W) self.st3 = Label(self, text='5 ') self.st3.grid(row=5, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=5, column=C2, sticky=W)
self.st3 = Label(self, text='6 ') self.st3.grid(row=6, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=6, column=C2, sticky=W)
self.st3 = Label(self, text='7 ') self.st3.grid(row=7, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=7, column=C2, sticky=W)
self.st3 = Label(self, text='8 ') self.st3.grid(row=8, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=8, column=C2, sticky=W)
self.st3 = Label(self, text='9 ') self.st3.grid(row=9, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=9, column=C2, sticky=W)
self.st3 = Label(self, text='10 ') self.st3.grid(row=10, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=10, column=C2, sticky=W)
- ------------------------------------8------------------------------------
C1 = 14 C2 = 15
self.st3 = Label(self, text='AlignLink ') self.st3.grid(row=1, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, bg = 'yellow', textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=1, column=C2, sticky=W)
self.st1 = Label(self, text='AlignX ') self.st1.grid(row=2, column=C1, sticky=E) self.PartLengthVar = StringVar() self.PartLength = Entry(self, width=10, textvariable=self.PartLengthVar) self.PartLength.grid(row=2, column=C2, sticky=W) self.PartLength.focus_set()
self.st2 = Label(self, text='AlignY ') self.st2.grid(row=3, column=C1, sticky=E) self.PartWidthVar = StringVar() self.PartWidth = Entry(self, width=10, textvariable=self.PartWidthVar) self.PartWidth.grid(row=3, column=C2, sticky=W)
self.st6 = Label(self, text='AlignZ ') self.st6.grid(row=4, column=C1, sticky=E) self.DepthOfCutVar = StringVar() self.DepthOfCut = Entry(self, width=10, textvariable=self.DepthOfCutVar) self.DepthOfCut.grid(row=4, column=C2, sticky=W)
self.st5 = Label(self, text='AlignRot ') self.st5.grid(row=5, column=C1, sticky=E) self.TotalToRemoveVar = StringVar() self.TotalToRemove = Entry(self, width=10, textvariable=self.TotalToRemoveVar) self.TotalToRemove.grid(row=5, column=C2, sticky=W) self.st3 = Label(self, text='AlignDepth ') self.st3.grid(row=6, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=6, column=C2, sticky=W)
self.st3 = Label(self, text='6 ') self.st3.grid(row=7, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=7, column=C2, sticky=W)
self.st3 = Label(self, text='7 ') self.st3.grid(row=8, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=8, column=C2, sticky=W)
self.st3 = Label(self, text='8 ') self.st3.grid(row=9, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=9, column=C2, sticky=W)
self.st3 = Label(self, text='9 ') self.st3.grid(row=10, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=10, column=C2, sticky=W)
- ------------------------------------9------------------------------------
C1 = 12 C2 = 13 self.st1 = Label(self, text='NozzleLink ') self.st1.grid(row=1, column=C1, sticky=E) self.PartLengthVar = StringVar() self.PartLength = Entry(self, width=10, bg = 'yellow', textvariable=self.PartLengthVar) self.PartLength.grid(row=1, column=C2, sticky=W) self.PartLength.focus_set()
self.st2 = Label(self, text='NozzleDiam ') self.st2.grid(row=2, column=C1, sticky=E) self.PartWidthVar = StringVar() self.PartWidth = Entry(self, width=10, textvariable=self.PartWidthVar) self.PartWidth.grid(row=2, column=C2, sticky=W)
self.st6 = Label(self, text='NozzleHeight ') self.st6.grid(row=3, column=C1, sticky=E) self.DepthOfCutVar = StringVar() self.DepthOfCut = Entry(self, width=10, textvariable=self.DepthOfCutVar) self.DepthOfCut.grid(row=3, column=C2, sticky=W)
self.st5 = Label(self, text='NozzleHole ') self.st5.grid(row=4, column=C1, sticky=E) self.TotalToRemoveVar = StringVar() self.TotalToRemove = Entry(self, width=10, textvariable=self.TotalToRemoveVar) self.TotalToRemove.grid(row=4, column=C2, sticky=W)
self.st3 = Label(self, text='NozzleInDiam ') self.st3.grid(row=5, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=5, column=C2, sticky=W)
self.st3 = Label(self, text='NozzleVac ') self.st3.grid(row=6, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=6, column=C2, sticky=W)
self.st3 = Label(self, text='NozzleCons ') self.st3.grid(row=7, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=7, column=C2, sticky=W)
self.st3 = Label(self, text='NozzleThresh ') self.st3.grid(row=8, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=8, column=C2, sticky=W)
self.st3 = Label(self, text='NozzleShape ') self.st3.grid(row=9, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=9, column=C2, sticky=W)
self.st8 = Label(self, text='NozzleParkX') self.st8.grid(row=10, column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=10) self.VacuumOFF.grid(row=10, column=C2, sticky=W)
self.st10 = Label(self, text='NozzleParkY ') self.st10.grid(row=11, column=C1, sticky=E) self.DrillVar = StringVar() self.Drill = Entry(self, textvariable=self.DrillVar ,width=10) self.Drill.grid(row=11, column=C2)
self.st10 = Label(self, text='NozzleParkZ ') self.st10.grid(row=12, column=C1, sticky=E) self.DrillVar = StringVar() self.Drill = Entry(self, textvariable=self.DrillVar ,width=10) self.Drill.grid(row=12, column=C2)
- ------------------------------------11------------------------------------
C1 = 16 C2 = 17 self.st1 = Label(self, text='YtableLink ') self.st1.grid(row=1, column=C1, sticky=E) self.PartLengthVar = StringVar() self.PartLength = Entry(self, width=10, bg = 'yellow', textvariable=self.PartLengthVar) self.PartLength.grid(row=1, column=C2, sticky=W) self.PartLength.focus_set()
self.st2 = Label(self, text='YtableNo ') self.st2.grid(row=2, column=C1, sticky=E) self.PartWidthVar = StringVar() self.PartWidth = Entry(self, width=10, textvariable=self.PartWidthVar) self.PartWidth.grid(row=2, column=C2, sticky=W)
self.st6 = Label(self, text='YtableDimX1 ') self.st6.grid(row=3, column=C1, sticky=E) self.DepthOfCutVar = StringVar() self.DepthOfCut = Entry(self, width=10, textvariable=self.DepthOfCutVar) self.DepthOfCut.grid(row=3, column=C2, sticky=W)
self.st5 = Label(self, text='YtableDimY1 ') self.st5.grid(row=4, column=C1, sticky=E) self.TotalToRemoveVar = StringVar() self.TotalToRemove = Entry(self, width=10, textvariable=self.TotalToRemoveVar) self.TotalToRemove.grid(row=4, column=C2, sticky=W) self.st3 = Label(self, text='YtableMove1 ') self.st3.grid(row=5, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=5, column=C2, sticky=W)
self.st3 = Label(self, text='YtableDistX ') self.st3.grid(row=6, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=6, column=C2, sticky=W)
self.st3 = Label(self, text='YtableDimX2 ') self.st3.grid(row=7, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=7, column=C2, sticky=W)
self.st3 = Label(self, text='YtableDimY2 ') self.st3.grid(row=8, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=8, column=C2, sticky=W)
self.st3 = Label(self, text='YtableMove2 ') self.st3.grid(row=9, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=9, column=C2, sticky=W)
self.st8 = Label(self, text='Ytable ') self.st8.grid(row=10, column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M4444') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=10) self.VacuumOFF.grid(row=10, column=C2, sticky=W)
self.st10 = Label(self, text='Ytable ') self.st10.grid(row=11, column=C1, sticky=E) self.DrillVar = StringVar() self.DrillVar.set('M333') self.Drill = Entry(self, textvariable=self.DrillVar ,width=10) self.Drill.grid(row=11, column=C2, sticky=W)
- ------------------------------------12------------------------------------
C1 = 18 C2 = 19 self.st1 = Label(self, text='RtableLink ') self.st1.grid(row=1, column=C1, sticky=E) self.PartLengthVar = StringVar() self.PartLength = Entry(self, width=10, bg = 'yellow', textvariable=self.PartLengthVar) self.PartLength.grid(row=1, column=C2, sticky=W) self.PartLength.focus_set()
self.st2 = Label(self, text='RtableNum ') self.st2.grid(row=2, column=C1, sticky=E) self.PartWidthVar = StringVar() self.PartWidth = Entry(self, width=10, textvariable=self.PartWidthVar) self.PartWidth.grid(row=2, column=C2, sticky=W)
self.st6 = Label(self, text='RtableX1 ') self.st6.grid(row=3, column=C1, sticky=E) self.DepthOfCutVar = StringVar() self.DepthOfCut = Entry(self, width=10, textvariable=self.DepthOfCutVar) self.DepthOfCut.grid(row=3, column=C2, sticky=W)
self.st5 = Label(self, text='RtableY1 ') self.st5.grid(row=4, column=C1, sticky=E) self.TotalToRemoveVar = StringVar() self.TotalToRemove = Entry(self, width=10, textvariable=self.TotalToRemoveVar) self.TotalToRemove.grid(row=4, column=C2, sticky=W) self.st3 = Label(self, text='RtableZ1 ') self.st3.grid(row=5, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=5, column=C2, sticky=W)
self.st3 = Label(self, text='RtableX2 ') self.st3.grid(row=6, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=6, column=C2, sticky=W)
self.st3 = Label(self, text='RtableY2 ') self.st3.grid(row=7, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=7, column=C2, sticky=W)
self.st3 = Label(self, text='RtableZ2 ') self.st3.grid(row=8, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=8, column=C2, sticky=W)
self.st3 = Label(self, text='RtableRes1 ') self.st3.grid(row=9, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=9, column=C2, sticky=W)
self.st8 = Label(self, text='RtableRes2 ') self.st8.grid(row=10, column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('2000') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=10) self.VacuumOFF.grid(row=10, column=C2, sticky=W)
self.st8 = Label(self, text='RtableDistX ') self.st8.grid(row=11, column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('2000') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=10) self.VacuumOFF.grid(row=11, column=C2, sticky=W)
- ------------------------------------13------------------------------------
C1 = 10 C2 = 11 self.st1 = Label(self, text='HeadLink ') self.st1.grid(row=1, column=C1, sticky=E) self.PartLengthVar = StringVar() self.PartLength = Entry(self, width=10, bg = 'yellow', textvariable=self.PartLengthVar) self.PartLength.grid(row=1, column=C2, sticky=W) self.PartLength.focus_set()
self.st2 = Label(self, text='HeadNo ') self.st2.grid(row=2, column=C1, sticky=E) self.PartWidthVar = StringVar() self.PartWidth = Entry(self, width=10, textvariable=self.PartWidthVar) self.PartWidth.grid(row=2, column=C2, sticky=W)
self.st6 = Label(self, text='HeadLength1 ') self.st6.grid(row=3, column=C1, sticky=E) self.DepthOfCutVar = StringVar() self.DepthOfCut = Entry(self, width=10, textvariable=self.DepthOfCutVar) self.DepthOfCut.grid(row=3, column=C2, sticky=W)
self.st5 = Label(self, text='HeadMove1 ') self.st5.grid(row=4, column=C1, sticky=E) self.TotalToRemoveVar = StringVar() self.TotalToRemove = Entry(self, width=10, textvariable=self.TotalToRemoveVar) self.TotalToRemove.grid(row=4, column=C2, sticky=W) self.st3 = Label(self, text='HeadDist1 ') self.st3.grid(row=5, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=5, column=C2, sticky=W)
self.st3 = Label(self, text='HeadRot1 ') self.st3.grid(row=6, column=C1, sticky=E) self.HeadRotVar = StringVar() self.HeadRotVar.set('NO') self.HeadRot = Entry(self, width=10, textvariable=self.HeadRotVar) self.HeadRot.grid(row=6, column=C2, sticky=W)
self.st3 = Label(self, text='HeadLength2 ') self.st3.grid(row=7, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=7, column=C2, sticky=W)
self.st3 = Label(self, text='HeadMove2 ') self.st3.grid(row=8, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=8, column=C2, sticky=W)
self.st3 = Label(self, text='HeadDist2 ') self.st3.grid(row=9, column=C1, sticky=E) self.ToolDiameterVar = StringVar() self.ToolDiameter = Entry(self, width=10, textvariable=self.ToolDiameterVar) self.ToolDiameter.grid(row=9, column=C2, sticky=W)
self.st8 = Label(self, text='HeadRot2 ') self.st8.grid(row=10, column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('NO') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=10) self.VacuumOFF.grid(row=10, column=C2, sticky=W)
#------------------------------------14------------------------------------
C1 = 16 C2 = 17 R = 20 W1 = 70 self.st8 = Label(self, text='ScriptLink', width = 10) self.st8.grid(row=(R+1), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('01') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=10, bg = 'yellow') self.VacuumOFF.grid(row=(R+1), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='ScriptPickXY', width = 10) self.st8.grid(row=(R+2), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M111') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+2), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='ScriptPickDn', width = 10) self.st8.grid(row=(R+3), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M2222') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+3), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='ScriptVacOn', width = 10) self.st8.grid(row=(R+4), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('G1 X%1 Y%2') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+4), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='ScriptDelayPick', width = 10) self.st8.grid(row=(R+5), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M4444') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+5), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='ScriptPickUp', width = 10) self.st8.grid(row=(R+6), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M4444') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+6), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='ScriptAlignXY', width = 10) self.st8.grid(row=(R+7), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M4444') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+7), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='ScriptAligDn', width = 10) self.st8.grid(row=(R+8), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M4444') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+8), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='ScriptAlign', width = 10) self.st8.grid(row=(R+9), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M4444') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+9), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='ScriptAlignUp', width = 10) self.st8.grid(row=(R+10), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M4444') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+10), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='ScriptPlaceXY', width = 10) self.st8.grid(row=(R+11), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M4444') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+11), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='ScriptPlaceDn', width = 10) self.st8.grid(row=(R+12), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M4444') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+12), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='ScriptVacOff', width = 10) self.st8.grid(row=(R+13), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M111') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+13), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='ScriptDelayPlace', width = 10) self.st8.grid(row=(R+14), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M2222') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+14), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='ScriptPlaceUp', width = 10) self.st8.grid(row=(R+15), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('G1 X%1 Y%2') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+15), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='ScriptReadyNext', width = 10) self.st8.grid(row=(R+16), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M4444') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+16), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='Script', width = 10) self.st8.grid(row=(R+17), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M4444') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+17), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='Script', width = 10) self.st8.grid(row=(R+18), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M4444') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+18), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='Script', width = 10) self.st8.grid(row=(R+19), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M4444') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+19), column=C2, sticky=W, columnspan=7)
self.st8 = Label(self, text='Script', width = 10) self.st8.grid(row=(R+20), column=C1, sticky=E) self.VacuumOFFVar = StringVar() self.VacuumOFFVar.set('M4444') self.VacuumOFF = Entry(self, textvariable=self.VacuumOFFVar, width=W1) self.VacuumOFF.grid(row=(R+20), column=C2, sticky=W, columnspan=7)
- ------------------------------------------------------------------------
R_G = 21 self.spacer3 = Label(self, text='- G- Link -') self.spacer3.grid(row=R_G, column=4, columnspan=5)
- --------------------------g_code window---------------------------------
#g_code is Text and is defined here !!!!!(Tkinter) self.g_code = Text(self,width=30,height=24,bd=3) self.g_code.grid(row=R_G+1, column=5, columnspan=10, rowspan=24, sticky=E+W+N+S)
self.tbscroll = Scrollbar(self,command = self.g_code.yview) self.tbscroll.grid(row=R_G+1, column=15, sticky=N+S+W) self.g_code.configure(yscrollcommand = self.tbscroll.set)
- ---------------------------------------------------------------------------
# self.st8=Label(self,text='Units') # self.st8.grid(row=0,column=26) # UnitOptions=[('Inch',1),('MM',2)] # self.UnitVar=IntVar() # for text, value in UnitOptions: # Radiobutton(self, text=text,value=value, # variable=self.UnitVar,indicatoron=0,width=6,)\ # .grid(row=value, column=26) # self.UnitVar.set(1) # self.st9=Label(self,text='X0-Y0') # self.st9.grid(row=3,column=26) # HomeOptions=[('Left-Rear',4),('Left-Front',5)] # self.HomeVar=IntVar() # for text, value in HomeOptions: # Radiobutton(self, text=text,value=value, # variable=self.HomeVar,indicatoron=0,width=11,)\ # .grid(row=value, column=26) # self.HomeVar.set(4)
- -----------------------------------------------------------------------------------
R2 =19 self.CopyButton = Button(self, text='NEXT',command=self.Next_ix, bg='#eee', height=1, width = 10, relief = 'raised') self.CopyButton.grid(row=R2+0, column=1, columnspan=1, rowspan = 1)
self.CopyButton = Button(self, text='PREVIOUS',command=self.Previous_ix, bg='#ddd', height=1, width = 10, relief = 'raised') self.CopyButton.grid(row=R2+1, column=1, columnspan=1, rowspan = 1)
R2 =25 C2 = 2 self.st3 = Label(self, text=) self.st3.grid(row=R2-1, column=C2, sticky=E)
self.CopyButton = Button(self, text='IMPORT .CSV',command=self.import_csv, bg='#eee', height=1, width = 10, relief = 'raised') self.CopyButton.grid(row=R2+0, column=C2, columnspan=1, rowspan = 1)
self.CopyButton = Button(self, text='OPEN .INI',command=self.GetPartInfo, bg='#ddd', height=1, width = 10, relief = 'raised') self.CopyButton.grid(row=R2+1, column=C2, columnspan=1, rowspan = 1)
self.CopyButton = Button(self, text='SAVE .INI',command=self.SaveData, bg='#aaa', height=1, width = 10, relief = 'raised') self.CopyButton.grid(row=R2+2, column=C2, columnspan=1, rowspan = 1)
- -----------------------------------------------------------------------------------
R9= 75 C9 = 1 self.spacer3 = Label(self, text=) self.spacer3.grid(row=R9-1, column=0, columnspan=14) self.sp4 = Label(self) self.sp4.grid(row=R9-1)
self.GenButton = Button(self, text='Generate',command=self.GenCode, width = 10) self.GenButton.grid(row=R9, column = C9+0) self.CopyButton = Button(self, text='clipboard',command=self.SelectCopy, width = 10) self.CopyButton.grid(row=R9, column = C9+1) self.WriteButton = Button(self, text='Save',command=self.WriteToFile, width = 10) self.WriteButton.grid(row=R9, column = C9+2)
self.GenButton = Button(self, text='SendAxis',command=self.GenCode, width = 10) self.GenButton.grid(row=R9, column = C9+3) self.CopyButton = Button(self, text='Save DATA',command=self.SelectCopy, width = 10) self.CopyButton.grid(row=R9, column = C9+4) self.WriteButton = Button(self, text='Telnet',command=self.GetFeederInfo, width = 10) self.WriteButton.grid(row=R9, column = C9+5)
self.WriteButton = Button(self, text='Pick-Place',command=self.WriteToFile, width = 10) self.WriteButton.grid(row=R9, column = C9+6)
self.WriteButton = Button(self, text='Place Back',command=self.WriteToFile, width = 10) self.WriteButton.grid(row=R9, column = C9+7)
self.WriteButton = Button(self, text='ext Part',command=self.WriteToFile, width = 10) self.WriteButton.grid(row=R9, column = C9+8)
self.WriteButton = Button(self, text='ShortRef ',command=self.WriteToFile, width = 10) self.WriteButton.grid(row=R9, column = C9+9)
self.WriteButton = Button(self, text='textit',command=self.textit, width = 10) self.WriteButton.grid(row=R9, column = C9+10)
if IN_AXIS: self.quitButton = Button(self, text='Write to AXIS and Quit',\ command=self.WriteToAxis) else: self.quitButton = Button(self, text='Quit', command=self.quit, width = 10) self.quitButton.grid(row=R9, column = C9+22, sticky=E)
- -------------------------------------------------------------------------------------
def WriteToAxis(self): sys.stdout.write(self.g_code.get(0.0, END)) self.quit()
- --------------------------G Code Generator-------------------------------------------
def GenCode(self): """ Generate the g_code for facing a part assume that the part is at X0 to X+, Y0 to Y-""" D=Decimal # Calculate the start position 1/2 the tool diameter + 0.100 in X and Stepover in Y self.ToolRadius = self.FToD(self.ToolDiameterVar.get())/2 if len(self.LeadinVar.get())>0: self.LeadIn = self.FToD(self.LeadinVar.get()) else: self.LeadIn = self.ToolRadius + D('0.1') self.X_Start = -(self.LeadIn) self.X_End = self.FToD(self.PartLengthVar.get()) + self.LeadIn if len(self.StepOverVar.get())>0: self.Y_StepOver = (self.FToD(self.ToolDiameterVar.get())\ * self.FToD(self.StepOverVar.get())/100) else: self.Y_StepOver = self.FToD(self.ToolDiameterVar.get())*D('.75')
if self.HomeVar.get()==4:
self.Y_Start = (self.ToolRadius - self.Y_StepOver) self.Y_End = -(self.FToD(self.PartWidthVar.get())-\ (self.ToolRadius - self.Y_StepOver))+D('.1')
else:
self.Y_Start = -(self.ToolRadius - self.Y_StepOver) self.Y_End = (self.FToD(self.PartWidthVar.get())+\ (self.ToolRadius + self.Y_StepOver))+D('.1') self.Z_Total = self.FToD(self.TotalToRemoveVar.get()) if len(self.DepthOfCutVar.get())>0: self.Z_Step = self.FToD(self.DepthOfCutVar.get()) self.NumOfZSteps = int(self.FToD(self.TotalToRemoveVar.get()) / self.Z_Step) if self.Z_Total % self.Z_Step > 0: self.NumOfZSteps = self.NumOfZSteps + 1 else: self.Z_Step = 0 self.NumOfZSteps = 1 self.NumOfYSteps = int(ceil(self.FToD(self.PartWidthVar.get())/self.Y_StepOver)) self.Z_Position = 0 # Generate the g_codes if self.UnitVar.get()==1: self.g_code.insert(END, 'G20 ') else: self.g_code.insert(END, 'G21 ') if len(self.SpindleRPMVar.get())>0: self.g_code.insert(END, 'S%i ' %(self.FToD(self.SpindleRPMVar.get()))) self.g_code.insert(END, 'M3 ') if len(self.FeedrateVar.get())>0: self.g_code.insert(END, 'F%s\n' % (self.FeedrateVar.get())) for i in range(self.NumOfZSteps): self.g_code.insert(END, 'G0 X%.4f Y%.4f\nZ0.1000\n' \ %(self.X_Start, self.Y_Start)) # Make sure the Z position does not exceed the total depth if self.Z_Step>0 and (self.Z_Total+self.Z_Position) >= self.Z_Step: self.Z_Position = self.Z_Position - self.Z_Step else: self.Z_Position = -self.Z_Total self.g_code.insert(END, 'G1 Z%.4f\n' % (self.Z_Position)) self.X_Position = self.X_Start self.Y_Position = self.Y_Start
for i in range(self.NumOfYSteps): if self.X_Position == self.X_Start: self.g_code.insert(END, 'G1 X%.4f\n' % (self.X_End)) self.X_Position = self.X_End else: self.g_code.insert(END, 'G1 X%.4f\n' % (self.X_Start)) self.X_Position = self.X_Start if self.HomeVar.get()==4: self.Y_Position = self.Y_Position - self.Y_StepOver else: self.Y_Position = self.Y_Position + self.Y_StepOver if self.HomeVar.get()==4: if self.Y_Position > self.Y_End: self.g_code.insert(END, 'G0 Y%.4f\n' % (self.Y_Position)) else: if self.Y_Position < self.Y_End: self.g_code.insert(END, 'G0 Y%.4f\n' % (self.Y_Position)) self.g_code.insert(END, 'G0 Z0.1000\n') if len(self.SpindleRPMVar.get())>0: self.g_code.insert(END, 'M5\n') self.g_code.insert(END, 'G0 X0.0000 Y0.0000\nM2 (End of File)\n')
- ------------------------------------------------------------------------------------
def FToD(self,s): # Float To Decimal """ Returns a decimal with 4 place precision valid imputs are any fraction, whole number space fraction or decimal string. The input must be a string! """ s=s.strip(' ') # remove any leading and trailing spaces D=Decimal # Save typing P=D('0.0001') # Set the precision wanted if ' ' in s: # if it is a whole number with a fraction w,f=s.split(' ',1) w=w.strip(' ') # make sure there are no extra spaces f=f.strip(' ') n,d=f.split('/',1) return D(D(n)/D(d)+D(w)).quantize(P) elif '/' in s: # if it is just a fraction n,d=s.split('/',1) return D(D(n)/D(d)).quantize(P) return D(s).quantize(P) # if it is a decimal number already
def GetIniData(self,FileName,SectionName,OptionName): """ Returns the data in the file, section, option if it exists of an .ini type file created with ConfigParser.write() If the file is not found or a section or an option is not found returns an exception """ self.cp=ConfigParser() try: self.cp.readfp(open(FileName,'r')) try: self.cp.has_section(SectionName) try: IniData=self.cp.get(SectionName,OptionName) except ConfigParser.NoOptionError: raise Exception,'NoOptionError' except ConfigParser.NoSectionError: raise Exception,'NoSectionError' except IOError: raise Exception,'NoFileError' return IniData
# Write to .INI file
def WriteIniData(self,FileName,SectionName,OptionName,OptionData): """ Pass the file name, section name, option name and option data When complete returns 'sucess' """ self.cp=ConfigParser() try: self.fn=open(FileName,'a') except IOError: self.fn=open(FileName,'w') if not self.cp.has_section(SectionName): self.cp.add_section(SectionName) self.cp.set(SectionName,OptionName,OptionData) self.cp.write(self.fn) self.fn.close()
def WriteIniProject(self,FileName,SectionName,N1,D1,N2,D2,N3,D3,N4,D4,N5,D5,N6,D6,N7,D7,N8,D8,N9,D9,N10,D10,N11,D11,N12,D12): """ Pass the file name, section name, option name and option data When complete returns 'sucess' """ self.cp = ConfigParser() try: self.fn=open(FileName,'a') except IOError: self.fn=open(FileName,'w') if not self.cp.has_section(SectionName): self.cp.add_section(SectionName) self.cp.set(SectionName,'index',SectionName) self.cp.set(SectionName,N1,D1) self.cp.set(SectionName,N2,D2) self.cp.set(SectionName,N3,D3) self.cp.set(SectionName,N4,D4) self.cp.set(SectionName,N5,D5) self.cp.set(SectionName,N6,D6) self.cp.set(SectionName,N7,D7) self.cp.set(SectionName,N8,D8) self.cp.set(SectionName,N9,D9) self.cp.set(SectionName,N10,D10) self.cp.set(SectionName,N11,D11) self.cp.set(SectionName,N12,D12) self.cp.write(self.fn) self.fn.close()
def GetDirectory(self): self.DirName = askdirectory(initialdir='/home',title='Please select a directory') if len(self.DirName) > 0: return self.DirName def CopyClpBd(self): self.g_code.clipboard_clear() self.g_code.clipboard_append(self.g_code.get(0.0, END))
# write to file indicated in the .INI file
def WriteToFile(self): try: self.NcDir = self.GetIniData('light_fast.ini','Directories','NcFiles') self.NewFileName = asksaveasfile(initialdir=self.NcDir,mode='w', \ master=self.master,title='Create NC File',defaultextension='.ngc') self.NewFileName.write(self.g_code.get(0.0, END)) self.NewFileName.close() except: tkMessageBox.showinfo('Missing INI', 'You must set the\n' \ 'NC File Directory\n' \ 'before saving a file.\n' \ 'Go to Edit/NC Directory\n' \ 'in the menu to set this option')
def textit(self): self.g_code.insert(END, '---------------------------------------------------------------------------------- ')
def import_csv(self): f = open("bom_pp_.csv", "rb") imported = csv.reader(f) self.NoOfPartsVar.set(imported.line_num) part_list = [] part_list.extend(imported) self.g_code.insert(END, part_list) # print part_list self.NoOfPartsVar.set(imported.line_num) rownum = 0 for row in part_list: #Save header row. if rownum == 0: header = row else: colnum = 0 for col in row: print '%-8s: %s' % (header[colnum], col) colnum += 1 print '\n' rownum += 1 print part_list[2][0] index = '2' i=2 max = imported.line_num for i in range(2,max): self.WriteIniProject('Project1.ini',str(i-1),'Designator',part_list[i][0],'Footprint',part_list[i][1],'PartCenterX',part_list[i][2],'PartCenterY',part_list[i][3],'PartRefX',part_list[i][4],'PartRefY',part_list[i][5],'PartPadX',part_list[i][6],'PartPadY',part_list[i][7],'PartRot',part_list[i][8],'PartLayer',part_list[i][9],'PartComment',part_list[i][10],'PartPV',part_list[i][11])
- --------------------------------------------------------------------------------------------------------------------------
def SaveData(self): a=1 # SAVE part_list as .ini
def Next_ix(self): global ix ix += 1 print ix self.GetPartInfo()
def Previous_ix(self): global ix ix -= 1 print ix self.GetPartInfo() def GetPartInfo(self): global ix # ix += 1 indx = ix print ix try: self.PartIndexVar.set(self.GetIniData('Project1.ini',str(indx),'index')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.PartRefVar.set(self.GetIniData('Project1.ini',str(indx),'Designator')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.PartFtprntVar.set(self.GetIniData('Project1.ini',str(indx),'Footprint')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.PartCenterXVar.set(self.GetIniData('Project1.ini',str(indx),'partcenterx')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.PartCenterYVar.set(self.GetIniData('Project1.ini',str(indx),'partcentery')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.PartRefXVar.set(self.GetIniData('Project1.ini',str(indx),'partrefx')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.PartRefYVar.set(self.GetIniData('Project1.ini',str(indx),'partrefy')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.PartPadXVar.set(self.GetIniData('Project1.ini',str(indx),'partpadx')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.PartPadYVar.set(self.GetIniData('Project1.ini',str(indx),'partpady')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.PartRotVar.set(self.GetIniData('Project1.ini',str(indx),'partrot')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.PartLayerVar.set(self.GetIniData('Project1.ini',str(indx),'partlayer')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.PartValueVar.set(self.GetIniData('Project1.ini',str(indx),'partcomment')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.PartPVVar.set(self.GetIniData('Project1.ini',str(indx),'partpv')) except: tkMessageBox.showinfo('Error', 'No DATA\n' )
def GetFeederInfo(self): try: self.FeederLinkVar.set(self.GetIniData('light_fast.ini','feeder1','Feeder1_Link')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.FeederWidthVar.set(self.GetIniData('light_fast.ini','feeder1','Feeder1_Width')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.FeederPosXVar.set(self.GetIniData('light_fast.ini','feeder1','Feeder1_Pos_X')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.FeederPosYVar.set(self.GetIniData('light_fast.ini','feeder1','Feeder1_Pos_Y')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.FeederPosZVar.set(self.GetIniData('light_fast.ini','feeder1','Feeder1_Pos_Z')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.FeederRotVar.set(self.GetIniData('light_fast.ini','feeder1','Feeder1_Rot')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.FeederHeightVar.set(self.GetIniData('light_fast.ini','feeder1','Feeder1_Height')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.FeederStepXVar.set(self.GetIniData('light_fast.ini','feeder1','Feeder1_Step_X')) except: tkMessageBox.showinfo('Error', 'No DATA\n' ) try: self.FeederStepYVar.set(self.GetIniData('light_fast.ini','feeder1','Feeder1_Step_Y')) except: tkMessageBox.showinfo('Error', 'No DATA\n' )
# -------- Write to .INI file ---------------
def NcFileDirectory(self): DirName = self.GetDirectory() if len(DirName)>0: self.WriteIniData('light_fast.ini','Directories','NcFiles',DirName)
def SaveProject(self): #DirName = self.GetDirectory() #if len(DirName)>0: designator = part_list[i][0] self.WriteIniData('Project1.ini',designator,'NcFiles','O:\python\pp.pst') def Simple(self): tkMessageBox.showinfo('Feature', 'Sorry this Feature has\nnot been programmed yet.')
def ClearTextBox(self): self.g_code.delete(1.0,END)
def SelectAllText(self): self.g_code.tag_add(SEL, '1.0', END)
def SelectCopy(self): self.SelectAllText() self.CopyClpBd()
def HelpInfo(self): SimpleDialog(self, text='Required fields are:\n' 'Part Width & Length,\n' 'Amount to Remove,\n' 'and Feedrate\n' 'Fractions can be entered in most fields', buttons=['Ok'], default=0, title='User Info').go() def HelpAbout(self): tkMessageBox.showinfo('Help About', 'Programmed by Light and Fast Team\n'
'Light and Fast Pick-Placer T\n' 'Based on \n' 'Face by \n'
'Big John T \n' 'Version 1.3.4 ')
app = Application() app.master.title('Light.And.Fast EMC2 Pick-Place') app.mainloop()
</python>