kopia lustrzana https://github.com/fellesverkstedet/fabmodules
347 wiersze
17 KiB
Python
347 wiersze
17 KiB
Python
#
|
|
# panel_png_path.py
|
|
# make .path from .png
|
|
#
|
|
# Neil Gershenfeld 9/3/13
|
|
# (c) Massachusetts Institute of Technology 2013
|
|
#
|
|
# This work may be reproduced, modified, distributed,
|
|
# performed, and displayed for any purpose, but must
|
|
# acknowledge the fab modules project. Copyright is
|
|
# retained and must be preserved. The work is provided
|
|
# as is; no warranty is provided, and users accept all
|
|
# liability.
|
|
#
|
|
# imports
|
|
#
|
|
import wx,os,string
|
|
from panel_path import path_panel
|
|
#
|
|
# panel class
|
|
#
|
|
class png_path_panel(wx.Panel):
|
|
#
|
|
# constructor
|
|
#
|
|
def __init__(self,parent):
|
|
self.parent = parent
|
|
self.parent.png_file = ''
|
|
self.parent.zmin = ''
|
|
self.parent.zmax = ''
|
|
self.parent.units = 1
|
|
#
|
|
# make path
|
|
#
|
|
def make_path(event):
|
|
if (self.parent.png_file == ''):
|
|
print "png_path: oops -- must make .png first"
|
|
return
|
|
self.parent.path_file = self.parent.tmp+self.parent.rootname+'.path'
|
|
path_png = self.parent.tmp+self.parent.rootname+'.path.png'
|
|
selection = self.path_type.GetValue()
|
|
if (selection == "2D"):
|
|
diameter = self.diameter_2D.GetValue()
|
|
number = self.number_2D.GetValue()
|
|
overlap = self.overlap_2D.GetValue()
|
|
error = self.error_2D.GetValue()
|
|
intensity = self.intensity_2D.GetValue()
|
|
command = 'png_path '+'\"'+self.parent.png_file+'\"'+' '+'\"'+self.parent.path_file+'\"'+' '+error+' '+diameter+' '+number+' '+overlap+' '+intensity
|
|
elif (selection == "3D plane"):
|
|
diameter = self.diameter_plane.GetValue()
|
|
number = self.number_plane.GetValue()
|
|
overlap = self.overlap_plane.GetValue()
|
|
error = self.error_plane.GetValue()
|
|
intensity = self.intensity_plane.GetValue()
|
|
z = self.z_plane.GetValue()
|
|
command = 'png_path '+'\"'+self.parent.png_file+'\"'+' '+'\"'+self.parent.path_file+'\"'+' '+error+' '+diameter+' '+number+' '+overlap+' '+intensity+' '+intensity+' '+z
|
|
elif (selection == "3D rough"):
|
|
diameter = self.diameter_rough.GetValue()
|
|
number = self.number_rough.GetValue()
|
|
overlap = self.overlap_rough.GetValue()
|
|
error = self.error_rough.GetValue()
|
|
itop = self.itop_rough.GetValue()
|
|
ibot = self.ibot_rough.GetValue()
|
|
ztop = self.ztop_rough.GetValue()
|
|
zbot = self.zbot_rough.GetValue()
|
|
zstep = self.zstep_rough.GetValue()
|
|
command = 'png_path '+'\"'+self.parent.png_file+'\"'+' '+'\"'+self.parent.path_file+'\"'+' '+error+' '+diameter+' '+number+' '+overlap+' '+itop+' '+ibot+' '+ztop+' '+zbot+' '+zstep
|
|
elif (selection == "3D finish"):
|
|
diameter = self.diameter_finish.GetValue()
|
|
overlap = self.overlap_finish.GetValue()
|
|
error = self.error_finish.GetValue()
|
|
itop = self.itop_finish.GetValue()
|
|
ibot = self.ibot_finish.GetValue()
|
|
ztop = self.ztop_finish.GetValue()
|
|
zbot = self.zbot_finish.GetValue()
|
|
clearance_length = self.clearance_length_finish.GetValue()
|
|
clearance_diameter = self.clearance_diameter_finish.GetValue()
|
|
number = '0'
|
|
zstep = '0'
|
|
if self.xz_finish.GetValue():
|
|
xz = "1"
|
|
else:
|
|
xz = "0"
|
|
if self.yz_finish.GetValue():
|
|
yz = "1"
|
|
else:
|
|
yz = "0"
|
|
xy = "0"
|
|
if self.flat_end_finish.GetValue():
|
|
tool_type = 'f'
|
|
elif self.ball_end_finish.GetValue():
|
|
tool_type = 'b'
|
|
command = 'png_path '+'\"'+self.parent.png_file+'\"'+' '+'\"'+self.parent.path_file+'\"'+' '+error+' '+diameter+' '+number+' '+overlap+' '+itop+' '+ibot+' '+ztop+' '+zbot+' '+zstep+' '+xz+' '+yz+' '+xy+' '+tool_type+' '+clearance_length+' '+clearance_diameter
|
|
print command
|
|
ret = os.system(command)
|
|
if (ret == 0):
|
|
self.path_viewer.draw(self.parent.path_file)
|
|
#self.parent.Layout()
|
|
#self.parent.Fit()
|
|
#
|
|
# panel
|
|
#
|
|
wx.Panel.__init__(self,parent)
|
|
self.sizer = wx.GridBagSizer(10,10)
|
|
self.SetSizer(self.sizer)
|
|
#
|
|
# label
|
|
#
|
|
label = wx.StaticText(self,label='to: path')
|
|
bold_font = wx.Font(10,wx.DEFAULT,wx.NORMAL,wx.BOLD)
|
|
label.SetFont(bold_font)
|
|
self.sizer.Add(label,(0,0),flag=wx.ALIGN_CENTER_HORIZONTAL)
|
|
#
|
|
# image
|
|
#
|
|
self.path_viewer = path_panel(self)
|
|
self.sizer.Add(self.path_viewer,(1,0),flag=wx.ALIGN_CENTER_HORIZONTAL)
|
|
#
|
|
# controls
|
|
#
|
|
make_panel = wx.Panel(self)
|
|
make_sizer = wx.GridBagSizer(10,10)
|
|
make_panel.SetSizer(make_sizer)
|
|
make_button = wx.Button(make_panel,label='make .path')
|
|
make_button.Bind(wx.EVT_BUTTON,make_path)
|
|
make_sizer.Add(make_button,(0,0),flag=wx.ALIGN_CENTER_HORIZONTAL)
|
|
make_sizer.Add(wx.StaticText(make_panel,label='type:'),(0,1),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.path_types = ["2D","3D plane","3D rough","3D finish"]
|
|
self.path_type = wx.ComboBox(make_panel,size=(100,-1),value="2D",choices=self.path_types,style=wx.CB_READONLY)
|
|
self.parent.path_type = "2D"
|
|
self.path_type.Bind(wx.EVT_COMBOBOX,self.path_type_handler)
|
|
make_sizer.Add(self.path_type,(0,2),flag=wx.ALIGN_LEFT)
|
|
self.sizer.Add(make_panel,(2,0),flag=(wx.ALIGN_CENTER_HORIZONTAL))
|
|
#
|
|
# 2D panel
|
|
#
|
|
panel_2D = wx.Panel(self)
|
|
sizer_2D = wx.GridBagSizer(10,10)
|
|
panel_2D.SetSizer(sizer_2D)
|
|
#
|
|
sizer_2D.Add(wx.StaticText(panel_2D,label='diameter (mm)'),(0,0),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.diameter_2D = wx.TextCtrl(panel_2D,-1,'0.25')
|
|
sizer_2D.Add(self.diameter_2D,(0,1),flag=(wx.ALIGN_LEFT))
|
|
self.number_2D = wx.TextCtrl(panel_2D,-1,'1')
|
|
sizer_2D.Add(self.number_2D,(0,2),flag=(wx.ALIGN_RIGHT))
|
|
sizer_2D.Add(wx.StaticText(panel_2D,label='offsets (-1 to fill)'),(0,3),flag=(wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL))
|
|
#
|
|
sizer_2D.Add(wx.StaticText(panel_2D,label='overlap (0-1)'),(1,0),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.overlap_2D = wx.TextCtrl(panel_2D,-1,'0.5')
|
|
sizer_2D.Add(self.overlap_2D,(1,1),flag=(wx.ALIGN_RIGHT))
|
|
self.error_2D = wx.TextCtrl(panel_2D,-1,'1.1')
|
|
sizer_2D.Add(self.error_2D,(1,2),flag=(wx.ALIGN_RIGHT))
|
|
sizer_2D.Add(wx.StaticText(panel_2D,label='error (pixels)'),(1,3),flag=(wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL))
|
|
#
|
|
sizer_2D.Add(wx.StaticText(panel_2D,label='intensity (0-1)'),(2,1),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.intensity_2D = wx.TextCtrl(panel_2D,-1,'0.5')
|
|
sizer_2D.Add(self.intensity_2D,(2,2),flag=(wx.ALIGN_RIGHT))
|
|
#
|
|
self.sizer.Add(panel_2D,(3,0),flag=(wx.ALIGN_CENTER_HORIZONTAL))
|
|
self.type_panel = panel_2D
|
|
self.type_panels = [panel_2D]
|
|
#
|
|
# 3D plane panel
|
|
#
|
|
panel_3D_plane = wx.Panel(self)
|
|
sizer_3D_plane = wx.GridBagSizer(10,10)
|
|
panel_3D_plane.SetSizer(sizer_3D_plane)
|
|
#
|
|
sizer_3D_plane.Add(wx.StaticText(panel_3D_plane,label=' diameter (mm)'),(0,0),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.diameter_plane = wx.TextCtrl(panel_3D_plane,-1,'0.25')
|
|
sizer_3D_plane.Add(self.diameter_plane,(0,1),flag=(wx.ALIGN_LEFT))
|
|
self.number_plane = wx.TextCtrl(panel_3D_plane,-1,'1')
|
|
sizer_3D_plane.Add(self.number_plane,(0,2),flag=(wx.ALIGN_RIGHT))
|
|
sizer_3D_plane.Add(wx.StaticText(panel_3D_plane,label='offsets (-1 to fill)'),(0,3),flag=(wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL))
|
|
#
|
|
sizer_3D_plane.Add(wx.StaticText(panel_3D_plane,label='overlap (0-1)'),(1,0),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.overlap_plane = wx.TextCtrl(panel_3D_plane,-1,'0.5')
|
|
sizer_3D_plane.Add(self.overlap_plane,(1,1),flag=(wx.ALIGN_LEFT))
|
|
self.error_plane = wx.TextCtrl(panel_3D_plane,-1,'1.1')
|
|
sizer_3D_plane.Add(self.error_plane,(1,2),flag=(wx.ALIGN_RIGHT))
|
|
sizer_3D_plane.Add(wx.StaticText(panel_3D_plane,label='error (pixels)'),(1,3),flag=(wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL))
|
|
#
|
|
sizer_3D_plane.Add(wx.StaticText(panel_3D_plane,label='intensity (0-1) '),(2,0),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.intensity_plane = wx.TextCtrl(panel_3D_plane,-1,'0.5')
|
|
sizer_3D_plane.Add(self.intensity_plane,(2,1),flag=(wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.z_plane = wx.TextCtrl(panel_3D_plane,-1,'0')
|
|
sizer_3D_plane.Add(self.z_plane,(2,2),flag=(wx.ALIGN_RIGHT))
|
|
sizer_3D_plane.Add(wx.StaticText(panel_3D_plane,label='z (mm)'),(2,3),flag=(wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL))
|
|
#
|
|
panel_3D_plane.Hide()
|
|
self.type_panels.append(panel_3D_plane)
|
|
#
|
|
# 3D rough panel
|
|
#
|
|
panel_3D_rough = wx.Panel(self)
|
|
sizer_3D_rough = wx.GridBagSizer(10,10)
|
|
panel_3D_rough.SetSizer(sizer_3D_rough)
|
|
#
|
|
sizer_3D_rough.Add(wx.StaticText(panel_3D_rough,label='diameter (mm)'),(0,0),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.diameter_rough = wx.TextCtrl(panel_3D_rough,-1,'0.25')
|
|
sizer_3D_rough.Add(self.diameter_rough,(0,1),flag=(wx.ALIGN_LEFT))
|
|
self.number_rough = wx.TextCtrl(panel_3D_rough,-1,'-1')
|
|
sizer_3D_rough.Add(self.number_rough,(0,2),flag=(wx.ALIGN_RIGHT))
|
|
sizer_3D_rough.Add(wx.StaticText(panel_3D_rough,label='offsets (-1 to fill)'),(0,3),flag=(wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL))
|
|
#
|
|
sizer_3D_rough.Add(wx.StaticText(panel_3D_rough,label='overlap (0-1)'),(1,0),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.overlap_rough = wx.TextCtrl(panel_3D_rough,-1,'0.5')
|
|
sizer_3D_rough.Add(self.overlap_rough,(1,1),flag=(wx.ALIGN_LEFT))
|
|
self.error_rough = wx.TextCtrl(panel_3D_rough,-1,'1.1')
|
|
sizer_3D_rough.Add(self.error_rough,(1,2),flag=(wx.ALIGN_RIGHT))
|
|
sizer_3D_rough.Add(wx.StaticText(panel_3D_rough,label='error (pixels)'),(1,3),flag=(wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL))
|
|
#
|
|
sizer_3D_rough.Add(wx.StaticText(panel_3D_rough,label='top intensity (0-1)'),(2,0),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.itop_rough = wx.TextCtrl(panel_3D_rough,-1,'1')
|
|
sizer_3D_rough.Add(self.itop_rough,(2,1),flag=(wx.ALIGN_LEFT))
|
|
self.ztop_rough = wx.TextCtrl(panel_3D_rough,-1,'0')
|
|
sizer_3D_rough.Add(self.ztop_rough,(2,2),flag=(wx.ALIGN_RIGHT))
|
|
sizer_3D_rough.Add(wx.StaticText(panel_3D_rough,label='top z (mm)'),(2,3),flag=(wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL))
|
|
#
|
|
sizer_3D_rough.Add(wx.StaticText(panel_3D_rough,label='bot intensity (0-1)'),(3,0),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.ibot_rough = wx.TextCtrl(panel_3D_rough,-1,'0')
|
|
sizer_3D_rough.Add(self.ibot_rough,(3,1),flag=(wx.ALIGN_LEFT))
|
|
self.zbot_rough = wx.TextCtrl(panel_3D_rough,-1,'')
|
|
sizer_3D_rough.Add(self.zbot_rough,(3,2),flag=(wx.ALIGN_RIGHT))
|
|
sizer_3D_rough.Add(wx.StaticText(panel_3D_rough,label='bot z (mm)'),(3,3),flag=(wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL))
|
|
#
|
|
sizer_3D_rough.Add(wx.StaticText(panel_3D_rough,label='cut depth (mm)'),(4,1),flag=(wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.zstep_rough = wx.TextCtrl(panel_3D_rough,-1,'1')
|
|
sizer_3D_rough.Add(self.zstep_rough,(4,2),flag=(wx.ALIGN_RIGHT))
|
|
#
|
|
panel_3D_rough.Hide()
|
|
self.type_panels.append(panel_3D_rough)
|
|
#
|
|
# 3D finish panel
|
|
#
|
|
panel_3D_finish = wx.Panel(self)
|
|
sizer_3D_finish = wx.GridBagSizer(10,10)
|
|
panel_3D_finish.SetSizer(sizer_3D_finish)
|
|
#
|
|
sizer_3D_finish.Add(wx.StaticText(panel_3D_finish,label='tool diameter (mm)'),(0,1),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.diameter_finish = wx.TextCtrl(panel_3D_finish,-1,'0.25')
|
|
sizer_3D_finish.Add(self.diameter_finish,(0,2),flag=(wx.ALIGN_LEFT))
|
|
#
|
|
sizer_3D_finish.Add(wx.StaticText(panel_3D_finish,label='overlap (0-1)'),(1,0),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.overlap_finish = wx.TextCtrl(panel_3D_finish,-1,'0.5')
|
|
sizer_3D_finish.Add(self.overlap_finish,(1,1),flag=(wx.ALIGN_LEFT))
|
|
self.error_finish = wx.TextCtrl(panel_3D_finish,-1,'1.1')
|
|
sizer_3D_finish.Add(self.error_finish,(1,2),flag=(wx.ALIGN_RIGHT))
|
|
sizer_3D_finish.Add(wx.StaticText(panel_3D_finish,label='error (pixels)'),(1,3),flag=(wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL))
|
|
#
|
|
sizer_3D_finish.Add(wx.StaticText(panel_3D_finish,label='top intensity (0-1)'),(2,0),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.itop_finish = wx.TextCtrl(panel_3D_finish,-1,'1')
|
|
sizer_3D_finish.Add(self.itop_finish,(2,1),flag=(wx.ALIGN_LEFT))
|
|
self.ztop_finish = wx.TextCtrl(panel_3D_finish,-1,'0')
|
|
sizer_3D_finish.Add(self.ztop_finish,(2,2),flag=(wx.ALIGN_RIGHT))
|
|
sizer_3D_finish.Add(wx.StaticText(panel_3D_finish,label='top z (mm)'),(2,3),flag=(wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL))
|
|
#
|
|
sizer_3D_finish.Add(wx.StaticText(panel_3D_finish,label='bot intensity (0-1)'),(3,0),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.ibot_finish = wx.TextCtrl(panel_3D_finish,-1,'0')
|
|
sizer_3D_finish.Add(self.ibot_finish,(3,1),flag=(wx.ALIGN_LEFT))
|
|
self.zbot_finish = wx.TextCtrl(panel_3D_finish,-1,'')
|
|
sizer_3D_finish.Add(self.zbot_finish,(3,2),flag=(wx.ALIGN_RIGHT))
|
|
sizer_3D_finish.Add(wx.StaticText(panel_3D_finish,label='bot z (mm)'),(3,3),flag=(wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL))
|
|
#
|
|
sizer_3D_finish.Add(wx.StaticText(panel_3D_finish,label='clearance length (mm)'),(4,0),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.clearance_length_finish = wx.TextCtrl(panel_3D_finish,-1,'0')
|
|
sizer_3D_finish.Add(self.clearance_length_finish,(4,1),flag=(wx.ALIGN_LEFT))
|
|
self.clearance_diameter_finish = wx.TextCtrl(panel_3D_finish,-1,'0')
|
|
sizer_3D_finish.Add(self.clearance_diameter_finish,(4,2),flag=(wx.ALIGN_RIGHT))
|
|
sizer_3D_finish.Add(wx.StaticText(panel_3D_finish,label='clearance diameter (mm)'),(4,3),flag=(wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL))
|
|
#
|
|
panel_3D_finish_4 = wx.Panel(panel_3D_finish)
|
|
sizer_3D_finish_4 = wx.GridBagSizer(10,10)
|
|
panel_3D_finish_4.SetSizer(sizer_3D_finish_4)
|
|
sizer_3D_finish_4.Add(wx.StaticText(panel_3D_finish_4,label='direction:'),(0,0),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.xz_finish = wx.CheckBox(panel_3D_finish_4,-1,'xz',(10,10))
|
|
self.xz_finish.SetValue(True)
|
|
sizer_3D_finish_4.Add(self.xz_finish,(0,1),flag=wx.ALIGN_CENTER_HORIZONTAL)
|
|
self.yz_finish = wx.CheckBox(panel_3D_finish_4,-1,'yz',(10,10))
|
|
self.yz_finish.SetValue(True)
|
|
sizer_3D_finish_4.Add(self.yz_finish,(0,2),flag=wx.ALIGN_CENTER_HORIZONTAL)
|
|
sizer_3D_finish_4.Add(wx.StaticText(panel_3D_finish_4,label='type:'),(0,3),flag=(wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL))
|
|
self.flat_end_finish = wx.RadioButton(panel_3D_finish_4,-1,'flat end',(10,10),style=wx.RB_GROUP)
|
|
sizer_3D_finish_4.Add(self.flat_end_finish,(0,4),flag=wx.ALIGN_CENTER_HORIZONTAL)
|
|
self.ball_end_finish = wx.RadioButton(panel_3D_finish_4,-1,'ball end',(10,10))
|
|
#self.ball_end_finish.Enable(False)
|
|
sizer_3D_finish_4.Add(self.ball_end_finish,(0,5),flag=wx.ALIGN_CENTER_HORIZONTAL)
|
|
sizer_3D_finish.Add(panel_3D_finish_4,(5,0),span=(1,4),flag=(wx.ALIGN_CENTER_HORIZONTAL))
|
|
#
|
|
panel_3D_finish.Hide()
|
|
self.type_panels.append(panel_3D_finish)
|
|
#
|
|
# fit
|
|
#
|
|
self.Fit()
|
|
#
|
|
#
|
|
# path type handler
|
|
#
|
|
def path_type_handler(self,event):
|
|
self.parent.path_type = self.path_types[event.GetSelection()]
|
|
self.parent.update_panels()
|
|
#
|
|
# parent call to update panel
|
|
#
|
|
def update_panel(self):
|
|
index = self.path_types.index(self.parent.path_type)
|
|
self.path_type.SetSelection(index)
|
|
self.sizer.Detach(self.type_panel)
|
|
self.type_panel.Hide()
|
|
self.sizer.Add(self.type_panels[index],(3,0),flag=(wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_TOP))
|
|
self.type_panels[index].Show()
|
|
self.type_panel = self.type_panels[index]
|
|
#
|
|
# check for 3D info in PNG
|
|
#
|
|
if (self.parent.png_file != ''):
|
|
temp_name = self.parent.tmp+'png_info'
|
|
command = 'png_size '+'\"'+self.parent.png_file+'\"'+' > '+'\"'+temp_name+'\"'
|
|
os.system(command)
|
|
output_file = open(temp_name,'r')
|
|
info = output_file.read()
|
|
command = 'rm '+'\"'+temp_name+'\"'
|
|
os.system(command)
|
|
start = 3+string.find(info,'dz:')
|
|
if (start > 2):
|
|
#
|
|
# 3D info found, update
|
|
#
|
|
end = string.find(info,'mm',start)-1
|
|
self.parent.zmin = -float(info[start:end])/self.parent.units
|
|
self.parent.zmax = 0
|
|
if (self.parent.path_type == "3D rough"):
|
|
self.ztop_rough.SetValue(str(self.parent.units*self.parent.zmax))
|
|
self.zbot_rough.SetValue(str(self.parent.units*self.parent.zmin))
|
|
elif (self.parent.path_type == "3D finish"):
|
|
self.ztop_finish.SetValue(str(self.parent.units*self.parent.zmax))
|
|
self.zbot_finish.SetValue(str(self.parent.units*self.parent.zmin))
|
|
self.Layout()
|
|
self.Fit()
|
|
#
|
|
# parent call to update size
|
|
#
|
|
def update_size(self,sizex,sizey):
|
|
self.Layout()
|
|
self.Fit()
|