def pick_faces(self): # returns a list of faces heekscad.StartPickFaces() heekscad.SetExitMainLoopCallback(OnExitMainLoop) self.MainLoop() return heekscad.EndPickFaces()
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
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
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)
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
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()
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"
def GetFileFullPath(self): s = heekscad.GetFileFullPath() if s == None: return None return s.replace('\\', '/')
def repaint(self): # repaints the CAD system heekscad.redraw()
def get_view_units(self): return heekscad.get_view_units()
def get_selected_sketches(self): sketches = heekscad.get_selected_sketches() str_sketches = [] for sketch in sketches: str_sketches.append(str(sketch)) return str_sketches
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()
def OnFileOpen(self): heekscad.OnOpenButton() self.frame.graphics.viewport.OnMagExtents(True)
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()