Only adds filename to list, not full path.
parent
50c2c4346f
commit
21c0b9aaa8
39
plater.py
39
plater.py
|
@ -1,6 +1,7 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
import wx,time,random,threading,os,math
|
import wx,time,random,threading,os,math
|
||||||
import stltool
|
import stltool
|
||||||
|
import re
|
||||||
|
|
||||||
class stlwrap:
|
class stlwrap:
|
||||||
def __init__(self,obj,name=None):
|
def __init__(self,obj,name=None):
|
||||||
|
@ -8,10 +9,10 @@ class stlwrap:
|
||||||
self.name=name
|
self.name=name
|
||||||
if name is None:
|
if name is None:
|
||||||
self.name=obj.name
|
self.name=obj.name
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
|
|
||||||
class showstl(wx.Window):
|
class showstl(wx.Window):
|
||||||
def __init__(self,parent,size,pos):
|
def __init__(self,parent,size,pos):
|
||||||
|
@ -80,7 +81,7 @@ class showstl(wx.Window):
|
||||||
facets+=i.facets
|
facets+=i.facets
|
||||||
stltool.emitstl(name,facets,"plater_export")
|
stltool.emitstl(name,facets,"plater_export")
|
||||||
print "wrote ",name
|
print "wrote ",name
|
||||||
|
|
||||||
def autoplate(self,event):
|
def autoplate(self,event):
|
||||||
print "Autoplating"
|
print "Autoplating"
|
||||||
separation = 2
|
separation = 2
|
||||||
|
@ -118,7 +119,7 @@ class showstl(wx.Window):
|
||||||
self.models[i].offsets[0] += centreoffset[0]
|
self.models[i].offsets[0] += centreoffset[0]
|
||||||
self.models[i].offsets[1] += centreoffset[1]
|
self.models[i].offsets[1] += centreoffset[1]
|
||||||
self.Refresh()
|
self.Refresh()
|
||||||
|
|
||||||
def right(self,event):
|
def right(self,event):
|
||||||
dlg=wx.FileDialog(self,"Open file to print",self.basedir,style=wx.FD_OPEN|wx.FD_FILE_MUST_EXIST)
|
dlg=wx.FileDialog(self,"Open file to print",self.basedir,style=wx.FD_OPEN|wx.FD_FILE_MUST_EXIST)
|
||||||
dlg.SetWildcard("STL files (;*.stl;)")
|
dlg.SetWildcard("STL files (;*.stl;)")
|
||||||
|
@ -131,10 +132,11 @@ class showstl(wx.Window):
|
||||||
t=time.time()
|
t=time.time()
|
||||||
#print name
|
#print name
|
||||||
if name.lower().endswith(".stl"):
|
if name.lower().endswith(".stl"):
|
||||||
newname=name
|
#Filter out the path, just show the STL filename.
|
||||||
|
newname=re.match(r".*[/\\](.*?\.stl)", name.lower()).group(1)
|
||||||
c=1
|
c=1
|
||||||
while newname in self.models:
|
while newname in self.models:
|
||||||
newname=name+"(%d)"%c
|
newname=newname+"(%d)"%c
|
||||||
c+=1
|
c+=1
|
||||||
self.models[newname]=stltool.stl(name)
|
self.models[newname]=stltool.stl(name)
|
||||||
self.models[newname].offsets=[0,0,0]
|
self.models[newname].offsets=[0,0,0]
|
||||||
|
@ -177,17 +179,17 @@ class showstl(wx.Window):
|
||||||
# break
|
# break
|
||||||
dc.SelectObject(wx.NullBitmap)
|
dc.SelectObject(wx.NullBitmap)
|
||||||
m.bitmap.SetMask(wx.Mask(m.bitmap,wx.Colour(0,0,0,255)))
|
m.bitmap.SetMask(wx.Mask(m.bitmap,wx.Colour(0,0,0,255)))
|
||||||
|
|
||||||
#print time.time()-t
|
#print time.time()-t
|
||||||
self.l.Append(newname)
|
self.l.Append(newname)
|
||||||
i=self.l.GetSelection()
|
i=self.l.GetSelection()
|
||||||
if i==wx.NOT_FOUND:
|
if i==wx.NOT_FOUND:
|
||||||
self.l.Select(0)
|
self.l.Select(0)
|
||||||
|
|
||||||
self.l.Select(self.l.GetCount()-1)
|
self.l.Select(self.l.GetCount()-1)
|
||||||
self.Refresh()
|
self.Refresh()
|
||||||
#print time.time()-t
|
#print time.time()-t
|
||||||
|
|
||||||
def move(self,event):
|
def move(self,event):
|
||||||
if event.ButtonUp(wx.MOUSE_BTN_LEFT):
|
if event.ButtonUp(wx.MOUSE_BTN_LEFT):
|
||||||
if(self.initpos is not None):
|
if(self.initpos is not None):
|
||||||
|
@ -212,12 +214,12 @@ class showstl(wx.Window):
|
||||||
p=event.GetPositionTuple()
|
p=event.GetPositionTuple()
|
||||||
dc.DrawLine(self.initpos[0],self.initpos[1],p[0],p[1])
|
dc.DrawLine(self.initpos[0],self.initpos[1],p[0],p[1])
|
||||||
#print math.sqrt((p[0]-self.initpos[0])**2+(p[1]-self.initpos[1])**2)
|
#print math.sqrt((p[0]-self.initpos[0])**2+(p[1]-self.initpos[1])**2)
|
||||||
|
|
||||||
del dc
|
del dc
|
||||||
else:
|
else:
|
||||||
event.Skip()
|
event.Skip()
|
||||||
|
|
||||||
|
|
||||||
def rotateafter(self):
|
def rotateafter(self):
|
||||||
if(self.i!=self.previ):
|
if(self.i!=self.previ):
|
||||||
i=self.l.GetSelection()
|
i=self.l.GetSelection()
|
||||||
|
@ -231,7 +233,7 @@ class showstl(wx.Window):
|
||||||
time.sleep(0.01)
|
time.sleep(0.01)
|
||||||
wx.CallAfter(self.rotateafter)
|
wx.CallAfter(self.rotateafter)
|
||||||
self.triggered=0
|
self.triggered=0
|
||||||
|
|
||||||
def rot(self, event):
|
def rot(self, event):
|
||||||
z=event.GetWheelRotation()
|
z=event.GetWheelRotation()
|
||||||
s=self.l.GetSelection()
|
s=self.l.GetSelection()
|
||||||
|
@ -245,11 +247,11 @@ class showstl(wx.Window):
|
||||||
if not self.triggered:
|
if not self.triggered:
|
||||||
self.triggered=1
|
self.triggered=1
|
||||||
threading.Thread(target=self.cr).start()
|
threading.Thread(target=self.cr).start()
|
||||||
|
|
||||||
def repaint(self,event):
|
def repaint(self,event):
|
||||||
dc=wx.PaintDC(self)
|
dc=wx.PaintDC(self)
|
||||||
self.paint(dc=dc)
|
self.paint(dc=dc)
|
||||||
|
|
||||||
def paint(self,coord1="x",coord2="y",dc=None):
|
def paint(self,coord1="x",coord2="y",dc=None):
|
||||||
coords={"x":0,"y":1,"z":2}
|
coords={"x":0,"y":1,"z":2}
|
||||||
if dc is None:
|
if dc is None:
|
||||||
|
@ -287,17 +289,16 @@ class showstl(wx.Window):
|
||||||
del dc
|
del dc
|
||||||
#print time.time()-t
|
#print time.time()-t
|
||||||
#s.export()
|
#s.export()
|
||||||
|
|
||||||
class stlwin(wx.Frame):
|
class stlwin(wx.Frame):
|
||||||
def __init__(self,size=(400,530)):
|
def __init__(self,size=(400,530)):
|
||||||
wx.Frame.__init__(self,None,title="Right-click to add a file",size=size)
|
wx.Frame.__init__(self,None,title="Right-click to add a file",size=size)
|
||||||
self.SetIcon(wx.Icon("plater.ico",wx.BITMAP_TYPE_ICO))
|
self.SetIcon(wx.Icon("plater.ico",wx.BITMAP_TYPE_ICO))
|
||||||
self.SetClientSize(size)
|
self.SetClientSize(size)
|
||||||
self.s=showstl(self,(400,530),(0,0))
|
self.s=showstl(self,(400,530),(0,0))
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
app = wx.App(False)
|
app = wx.App(False)
|
||||||
main = stlwin()
|
main = stlwin()
|
||||||
main.Show()
|
main.Show()
|
||||||
app.MainLoop()
|
app.MainLoop()
|
||||||
|
|
Loading…
Reference in New Issue