예제 #1
0
 def addStartComment(self):
     # Add pocket start comment
     self.listOfCmds = []
     self.listOfCmds.append(gcode_cmd.Space())
     commentStr = 'Begin {0}'.format(self.__class__.__name__)
     self.listOfCmds.append(gcode_cmd.Comment(commentStr))
     self.listOfCmds.append(gcode_cmd.Comment('-' * 60))
     for k, v in self.param.iteritems():
         self.listOfCmds.append(gcode_cmd.Comment('{0}: {1}'.format(k, v)))
예제 #2
0
 def addStartComment(self):
     self.listOfCmds.append(gcode_cmd.Space())
     commentStr = 'Begin {0}'.format(self.__class__.__name__)
     self.listOfCmds.append(gcode_cmd.Comment(commentStr))
     self.listOfCmds.append(gcode_cmd.Comment('-' * 60))
     for k, v in self.param.iteritems():
         vStr = str(v)
         if len(vStr) > 50:
             vStr = 'too big'
         self.listOfCmds.append(
             gcode_cmd.Comment('{0}: {1}'.format(k, vStr)))
예제 #3
0
 def addRapidMoveToSafeZ(self):
     safeZ = float(self.param['safeZ'])
     self.listOfCmds.append(gcode_cmd.Space())
     commentStr = '{0}: rapid move to safe z'.format(
         self.__class__.__name__)
     self.listOfCmds.append(gcode_cmd.Comment(commentStr))
     self.listOfCmds.append(gcode_cmd.RapidMotion(z=safeZ))
예제 #4
0
 def getLaserShutdownCmds(self):
     listOfCmds = []
     listOfCmds.append(gcode_cmd.Space())
     listOfCmds.append(gcode_cmd.Comment('Shutdown laser'))
     listOfCmds.extend(self.getLaserOffCmds(comment=False))
     listOfCmds.append(gcode_cmd.StopSpindle())
     listOfCmds.append(gcode_cmd.SpindleSpeed(0))
     return listOfCmds
예제 #5
0
 def getLaserOffCmds(self, synchronized=False, comment=True):
     listOfCmds = []
     if comment:
         listOfCmds.append(gcode_cmd.Space())
         listOfCmds.append(gcode_cmd.Comment('Laser off'))
     listOfCmds.append(
         gcode_cmd.DigitalOutput(self.param['laserDIOPin'], 0,
                                 synchronized))
     return listOfCmds
예제 #6
0
 def getLaserSetupCmds(self):
     listOfCmds = []
     listOfCmds.append(gcode_cmd.Space())
     listOfCmds.append(gcode_cmd.Comment('Setup laser'))
     listOfCmds.append(gcode_cmd.FeedRate(self.param['feedRate']))
     listOfCmds.extend(self.getLaserOffCmds(comment=False))
     listOfCmds.append(gcode_cmd.SpindleSpeed(self.param['laserPower']))
     listOfCmds.append(gcode_cmd.StartSpindleCW())
     listOfCmds.append(gcode_cmd.Dwell(self.param['startDwell']))
     return listOfCmds
예제 #7
0
 def addRapidMoveToPos(self, **kwarg):
     self.listOfCmds.append(gcode_cmd.Space())
     try:
         pointName = kwarg.pop('comment')
     except KeyError:
         pointName = '{0}'.format(kwarg)
     commentStr = '{0}: rapid move to {1}'.format(self.__class__.__name__,
                                                  pointName)
     self.listOfCmds.append(gcode_cmd.Comment(commentStr))
     self.listOfCmds.append(gcode_cmd.RapidMotion(**kwarg))
예제 #8
0
 def addEndComment(self):
     self.listOfCmds.append(gcode_cmd.Space())
     commentStr = 'End {0}'.format(self.__class__.__name__)
     self.listOfCmds.append(gcode_cmd.Comment(commentStr))
     self.listOfCmds.append(gcode_cmd.Comment('-' * 60))
     self.listOfCmds.append(gcode_cmd.Space())
예제 #9
0
 def addDwell(self, t):
     self.listOfCmds.append(gcode_cmd.Space())
     commentStr = '{0}: dwell'.format(self.__class__.__name__)
     self.listOfCmds.append(gcode_cmd.Comment(commentStr))
     self.listOfCmds.append(gcode_cmd.Dwell(t))
예제 #10
0
 def addMoveToStartZ(self):
     startZ = float(self.param['startZ'])
     self.listOfCmds.append(gcode_cmd.Space())
     commentStr = '{0}: move to start z'.format(self.__class__.__name__)
     self.listOfCmds.append(gcode_cmd.Comment(commentStr))
     self.listOfCmds.append(gcode_cmd.LinearFeed(z=startZ))
예제 #11
0
 def addComment(self, comment):
     self.listOfCmds.append(gcode_cmd.Space())
     commentStr = '{0}: {1}'.format(self.__class__.__name__, comment)
     self.listOfCmds.append(gcode_cmd.Comment(commentStr))
예제 #12
0
    import matplotlib.pyplot as plt
    from geom_utils import plotSegList

    # Test program
    prog = gcode_cmd.GCodeProg()

    prog.add(gcode_cmd.GenericStart())
    prog.add(gcode_cmd.Space())
    prog.add(gcode_cmd.FeedRate(500.0))
    prog.add(gcode_cmd.Space())

    if 0:
        p = 0, 0
        q = 1, 2
        prog.add(gcode_cmd.Comment('RectPath'))
        prog.add(RectPath(p, q, plane='xy'))

    if 0:
        point0 = 0.0, 0.0
        point1 = 4.0, 1.0
        radius = 0.4
        roundedRectPath = RectPath(point0, point1, radius=radius, plane='xy')
        prog.add(roundedRectPath)

    if 0:
        cx = 0.0
        cy = 0.0
        width = 2.0
        height = 1.0
        direction = 'ccw'