All pastes #331152 Raw Edit

bcgcode2.py

public text v1 · immutable
#331152 ·published 2007-01-28 16:30 UTC
rendered paste body
#!/usr/bin/env python

import math
from Tkinter import *

root = Tk()
root.title('Bolt Circle Calc')
root.clipboard_clear()

App_label=Frame(root)
Label(App_label,text="Bolt Circle Calculator").pack(side=LEFT,padx=5)

Gcode_label=Frame(root)
Label(Gcode_label, text="Drill Cycle").pack(side=LEFT, padx=5)
Gcode_value=StringVar()
Gcode_entry = Entry(root, textvariable=Gcode_value)

feed_label=Frame(root)
Label(feed_label, text="Feed").pack(side=LEFT, padx=5)
feed_value=DoubleVar()
feed_entry = Entry(root, textvariable=feed_value)

Rplane_label=Frame(root)
Label(Rplane_label, text="Clearance Plane").pack(side=LEFT, padx=5)
Rplane_value=DoubleVar()
Rplane_entry = Entry(root, textvariable=Rplane_value)

x_label=Frame(root)
Label(x_label, text="X Position").pack(side=LEFT, padx=5)
x_center_value=DoubleVar()
x_center_entry = Entry(root, textvariable=x_center_value)

y_label=Frame(root)
Label(y_label, text="Y Position").pack(side=LEFT, padx=5)
y_center_value=DoubleVar()
y_center_entry = Entry(root, textvariable=y_center_value)

z_label=Frame(root)
Label(z_label, text="Z Depth").pack(side=LEFT, padx=5)
z_center_value=DoubleVar()
z_center_entry = Entry(root, textvariable=z_center_value)


holes_label=Frame(root)
Label(holes_label, text="# of Holes").pack(side=LEFT, padx=5)
no_of_holes_value=IntVar()
no_of_holes_entry = Entry(root, textvariable=no_of_holes_value)

dia_label=Frame(root)
Label(dia_label, text="BC Dia").pack(side=LEFT, padx=5)
bolt_circle_diameter_value=DoubleVar()
bolt_circle_entry = Entry(root, textvariable=bolt_circle_diameter_value)

angle_label=Frame(root)
Label(angle_label, text="Start Angle").pack(side=LEFT, padx=5)
start_angle_value=DoubleVar()
start_angle_entry = Entry(root, textvariable=start_angle_value)

Scale_label=Frame(root)
Label(Scale_label, text="Scale").pack(side=LEFT, padx=5)
Scale_value=DoubleVar()
Scale_entry = Entry(root, textvariable=Scale_value)

def get_Gcode_value():
    print Gcode_value.get()

def get_feed_value():
    print feed_value.get()

def get_Rplane_value():
    print Rplane_value.get()    
    
def get_x_center_value():
    print x_center_value.get()
    

def get_y_center_value():
    print y_center_value.get()

def get_z_center_value():
    print z_center_value.get()
    

def get_no_of_holes_value():
    print no_of_holes_value.get()

def get_bolt_circle_diameter_value():
    print bolt_circle_diameter_value.get()

def get_start_angle_value():
    print start_angle_value.get()

def get_Scale_value():
    print Scale_value.get()


        

def print_value():
    print "(G Code", (Gcode_value.get()),")"
    print "(Clearance Plane R", (Rplane_value.get()),")"
    print "(Feed", (feed_value.get()),")"
    print "(X Center" , float(x_center_value.get()),")"
    print "(Y Center" , float(y_center_value.get()),")"
    print "(Z Depth" , float(z_center_value.get()),")"
    print "(# of Holes" , float(no_of_holes_value.get()),")"
    print "(BC Diameter" ,  float(bolt_circle_diameter_value.get()),")"
    print "(Start Angle" ,  float(start_angle_value.get()),")"
    print 
    x_center=float(x_center_value.get())
    y_center=float(y_center_value.get())
    z_center=float(z_center_value.get())
    no_of_holes=float(no_of_holes_value.get())
    bolt_circle_diameter=float(bolt_circle_diameter_value.get())
    start_angle=float(start_angle_value.get())
    scale=float(Scale_value.get())                         

    
    count = 0
    anglecount=1
    
    circle_division_angle=(360/no_of_holes)
    calc_angle=start_angle
    
    while (count < no_of_holes):
        
	x1=math.cos(math.radians(calc_angle))*(bolt_circle_diameter/2)
	y1=math.sin(math.radians(calc_angle))*(bolt_circle_diameter/2)
        
	

        x=(x1+x_center)*scale
        y=(y1+y_center)*scale
	z=(z_center)*scale
	
	
	xstring='%.4f' % x
	ystring='%.4f' % y
	zstring='%.4f' % z

	xprint='%.4f' % x
        yprint='%.4f' % y
        zprint='%.4f' % z
        gcodeprint='%s' % Gcode_value.get()
	rpplaneprint='%s' % Rplane_value.get()
	feedprint='%s' % feed_value.get()
	print (Gcode_value.get()),"X",xprint,"Y",yprint, "Z",zprint,"R",(Rplane_value.get()),"F",(feed_value.get())
	
	clippy= gcodeprint,"X",xprint ,"Y",yprint,"Z",zprint,"R",rpplaneprint,"F",feedprint 
        root.clipboard_append(clippy)
        root.clipboard_append(r';')
        root.clipboard_append('\n')
        
	# print clippy
	# print

	anglecount=anglecount+1
	
	calc_angle=calc_angle + circle_division_angle
	

        count=count+1

def make_output():
    root.clipboard_clear()
    print_value()
    root.clipboard_append('G80')
    print "G80"

    
App_label.pack()

Gcode_label.pack()
Gcode_entry.pack()

feed_label.pack()
feed_entry.pack()

Rplane_label.pack()
Rplane_entry.pack()

x_label.pack()
x_center_entry.pack()

y_label.pack()
y_center_entry.pack()

z_label.pack()
z_center_entry.pack()


holes_label.pack()
no_of_holes_entry.pack()

dia_label.pack()
bolt_circle_entry.pack()

angle_label.pack()
start_angle_entry.pack()

Scale_label.pack()
Scale_entry.pack()

a = Button(root, text="calculate", command=make_output)
a.pack()




root.mainloop()