Ejemplo n.º 1
0
    def pick_faces(self):
        # returns a list of faces

        heekscad.StartPickFaces()

        heekscad.SetExitMainLoopCallback(OnExitMainLoop)
        self.MainLoop()

        return heekscad.EndPickFaces()
Ejemplo n.º 2
0
 def pick_sketches(self):
     # returns a list of strings, one name for each sketch
     sketches = heekscad.getsketches()
     str_sketches = []
     for sketch in sketches:
         str_sketches.append(str(sketch))
     return str_sketches
Ejemplo n.º 3
0
 def pick_sketches(self):
     # returns a list of strings, one name for each sketch
     sketches = heekscad.getsketches()
     str_sketches = []
     for sketch in sketches:
         str_sketches.append(str(sketch))
     return str_sketches
Ejemplo n.º 4
0
def MouseEventFromWx(w):
    e = HeeksCAD.MouseEvent()
    if w.LeftDown():
        e.m_event_type = 1
    elif w.LeftUp():
        e.m_event_type = 2
    elif w.LeftDClick():
        e.m_event_type = 3
    elif w.RightDown():
        e.m_event_type = 4
    elif w.RightUp():
        e.m_event_type = 5
    elif w.MiddleDown():
        e.m_event_type = 6
    elif w.MiddleUp():
        e.m_event_type = 7
    elif w.Dragging() or w.Moving():
        e.m_event_type = 8
    elif w.GetWheelRotation():
        e.m_event_type = 9

    e.m_x = w.m_x
    e.m_y = w.m_y
    e.m_leftDown = w.m_leftDown
    e.m_middleDown = w.m_middleDown
    e.m_rightDown = w.m_rightDown
    e.m_controlDown = w.m_controlDown
    e.m_shiftDown = w.m_shiftDown
    e.m_altDown = w.m_altDown
    e.m_metaDown = w.m_metaDown
    e.m_wheelRotation = w.m_wheelRotation
    e.m_wheelDelta = w.m_wheelDelta
    e.m_linesPerAction = w.m_linesPerAction

    return e
Ejemplo n.º 5
0
    def __init__(self):
        save_out = sys.stdout
        save_err = sys.stderr

        wx.App.__init__(self)

        sys.stdout = save_out
        sys.stderr = save_err

        Cad.__init__(self)

        heekscad.init()

        try:
            opts, args = getopt.getopt(sys.argv[1:], "h", ["help"])
        except getopt.error, msg:
            print msg
            print "for help use --help"
            sys.exit(2)
Ejemplo n.º 6
0
    def __init__(self):
        save_out = sys.stdout
        save_err = sys.stderr

        wx.App.__init__(self)

        sys.stdout = save_out
        sys.stderr = save_err

        Cad.__init__(self)

        heekscad.init()

        try:
            opts, args = getopt.getopt(sys.argv[1:], "h", ["help"])
        except getopt.error, msg:
            print msg
            print "for help use --help"
            sys.exit(2)
Ejemplo n.º 7
0
 def __init__(self, parent):
     wxGLCanvas.__init__(self, parent, -1)
     self.Bind(wx.EVT_PAINT, self.OnPaint)
     self.Bind(wx.EVT_SIZE, self.OnSize)
     self.Bind(wx.EVT_MOUSE_EVENTS, self.OnMouse)
     self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground)
     self.Bind(wx.EVT_MENU, self.OnMenu, None, 10000, 12000)
     self.viewport = HeeksCAD.Viewport()
     self.Resize()
     self.paint_callbacks = []
     self.context_menu_enabled = True
Ejemplo n.º 8
0
   def OnMouse(self, event):
      if event.RightUp():
         if self.context_menu_enabled:
             tools = HeeksCAD.GetDropDownTools(event.GetX(), event.GetY(), False, event.m_controlDown)
             if len(tools) > 0:
                self.next_tool_id = 0
                self.tools = []
                menu = wx.Menu()
                self.AppendToolsToMenu(menu, tools)
                self.PopupMenu(menu)
      else:
         e = MouseEventFromWx(event)
         self.viewport.OnMouseEvent(e)

      if self.viewport.m_need_update: self.Update()
      if self.viewport.m_need_refresh: self.Refresh()
      event.Skip()
Ejemplo n.º 9
0
 def WriteAreaToProgram(self, sketches):
     HeeksCNC.program.python_program += "a = area.Area()\n"
     for sketch in sketches:
         sketch_shape = heekscad.GetSketchShape(int(sketch))
         if sketch_shape:
             length = len(sketch_shape)
             i = 0
             s = ""
             HeeksCNC.program.python_program += "c = area.Curve()\n"
             while i < length:
                 if sketch_shape[i] == '\n':
                     WriteSpan(s)
                     s = ""
                 else:
                     s += sketch_shape[i]
                 i = i + 1
             HeeksCNC.program.python_program += "a.append(c)\n"
     HeeksCNC.program.python_program += "\n"
Ejemplo n.º 10
0
 def GetFileFullPath(self):
     s = heekscad.GetFileFullPath()
     if s == None: return None
     return s.replace('\\', '/')
Ejemplo n.º 11
0
 def repaint(self):
     # repaints the CAD system
     heekscad.redraw()
Ejemplo n.º 12
0
 def get_view_units(self):
     return heekscad.get_view_units()
Ejemplo n.º 13
0
 def get_selected_sketches(self):
     sketches = heekscad.get_selected_sketches()
     str_sketches = []
     for sketch in sketches:
         str_sketches.append(str(sketch))
     return str_sketches
Ejemplo n.º 14
0
 def get_selected_sketches(self):
     sketches = heekscad.get_selected_sketches()
     str_sketches = []
     for sketch in sketches:
         str_sketches.append(str(sketch))
     return str_sketches
Ejemplo n.º 15
0
 def get_view_units(self):
     return heekscad.get_view_units()
Ejemplo n.º 16
0
import HeeksCAD

import wx
import wx.aui
import sys
from GraphicsCanvas import myGLCanvas

HeeksCAD.init()
HeeksCAD.OnCubeButton()
HeeksCAD.redraw()

save_out = sys.stdout
save_err = sys.stderr

app = wx.App()

sys.stdout = save_out
sys.stderr = save_err

# make a wxWidgets application
frame= wx.Frame(None, -1, 'CAM ( Computer Aided Manufacturing ) from DXF files')
aui_manager = wx.aui.AuiManager()
aui_manager.SetManagedWindow(frame)

g = myGLCanvas(frame)

aui_manager.AddPane(g, wx.aui.AuiPaneInfo().Name('graphics').Center())

frame.Center()
aui_manager.Update()
frame.Show()
Ejemplo n.º 17
0
 def repaint(self):
     # repaints the CAD system
     heekscad.redraw()
Ejemplo n.º 18
0
 def OnFileOpen(self):
     heekscad.OnOpenButton()
     self.frame.graphics.viewport.OnMagExtents(True)
Ejemplo n.º 19
0
import HeeksCAD

import wx
import wx.aui
import sys
from GraphicsCanvas import myGLCanvas

HeeksCAD.init()
HeeksCAD.OnCubeButton()
HeeksCAD.redraw()

save_out = sys.stdout
save_err = sys.stderr

app = wx.App()

sys.stdout = save_out
sys.stderr = save_err

# make a wxWidgets application
frame = wx.Frame(None, -1,
                 'CAM ( Computer Aided Manufacturing ) from DXF files')
aui_manager = wx.aui.AuiManager()
aui_manager.SetManagedWindow(frame)

g = myGLCanvas(frame)

aui_manager.AddPane(g, wx.aui.AuiPaneInfo().Name('graphics').Center())

frame.Center()
aui_manager.Update()