def create_alignment_drill(params):
    prog = gcode_cmd.GCodeProg()
    prog.add(gcode_cmd.GenericStart())
    prog.add(gcode_cmd.Space())
    prog.add(gcode_cmd.FeedRate(params['stockcut']['feedrate']))

    thickness = params['stockcut']['thickness']
    overcut = params['stockcut']['overcut']
    drill_step = params['stockcut']['drill_step']
    start_dwell = params['start_dwell']
    safe_z = params['safe_z']
    start_z = 0.0

    param = {
        'centerX': 0.0,
        'centerY': 0.0,
        'startZ': start_z,
        'stopZ': start_z - (thickness + 2 * overcut),
        'safeZ': safe_z,
        'stepZ': drill_step,
        'startDwell': start_dwell,
    }

    drill = cnc_drill.PeckDrill(param)
    prog.add(drill)

    prog.add(gcode_cmd.Space())
    prog.add(gcode_cmd.End(), comment=True)
    return prog
def create_stockcut_drill(params):
    prog = gcode_cmd.GCodeProg()
    prog.add(gcode_cmd.GenericStart())
    prog.add(gcode_cmd.Space())
    prog.add(gcode_cmd.FeedRate(params['stockcut']['feedrate']))

    thickness = params['stockcut']['thickness']
    overcut = params['stockcut']['overcut']
    diam_tool = params['stockcut']['diam_tool']
    step_size = params['stockcut']['step_size']
    start_dwell = params['start_dwell']
    drill_step = params['stockcut']['drill_step']
    drill_inset = params['stockcut']['drill_inset']
    safe_z = params['safe_z']
    start_z = 0.0

    pocket_data = get_stockcut_pocket_data(params)

    for data in pocket_data:
        for i in (-1, 1):
            for j in (-1, 1):
                cx = data['x'] + 0.5 * data['w'] + i * (0.5 * data['w'] -
                                                        drill_inset)
                cy = data['y'] + 0.5 * data['h'] + j * (0.5 * data['h'] -
                                                        drill_inset)

                param = {
                    'centerX': cx,
                    'centerY': cy,
                    'startZ': start_z,
                    'stopZ': start_z - (thickness + overcut),
                    'safeZ': safe_z,
                    'stepZ': drill_step,
                    'startDwell': start_dwell,
                }

                drill = cnc_drill.PeckDrill(param)
                prog.add(drill)

    prog.add(gcode_cmd.Space())
    prog.add(gcode_cmd.End(), comment=True)
    return prog
Esempio n. 3
0
def createNGCFile(display=False):
    motorParam = param['motorDrill']

    prog = gcode_cmd.GCodeProg()
    prog.add(gcode_cmd.GenericStart())
    prog.add(gcode_cmd.Space())

    # Motor mount holes
    for x0, y0 in param['partPos']:
        prog.add(gcode_cmd.Comment('-' * 60))
        prog.add(
            gcode_cmd.Comment('Motor mount holes, partPos = ({0},{1})'.format(
                x0, y0)))
        prog.add(gcode_cmd.Comment('-' * 60))
        prog.add(gcode_cmd.FeedRate(motorParam['feedRate']))
        for i in (-1, 1):
            x = x0 + i * 0.5 * motorParam['holeSpacing']
            drillDict = {
                'centerX': x,
                'centerY': y0,
                'startZ': motorParam['startZ'],
                'stopZ': motorParam['stopZThru'],
                'safeZ': motorParam['safeZ'],
                'stepZ': motorParam['stepZ'],
                'startDwell': motorParam['startDwell'],
            }
            drill = cnc_drill.PeckDrill(drillDict)
            prog.add(drill)
            prog.add(gcode_cmd.Space())

    prog.add(gcode_cmd.End(), comment=True)
    baseName, ext = os.path.splitext(__file__)
    fileName = '{0}.ngc'.format(baseName)
    if display:
        print(prog)
    else:
        print('creating: {0}'.format(fileName))
    prog.write(fileName)
Esempio n. 4
0
def createNGCFile(display=False):
    standoffParam = param['standoffDrill']

    prog = gcode_cmd.GCodeProg()
    prog.add(gcode_cmd.GenericStart())
    prog.add(gcode_cmd.Space())

    # Standoff holes
    prog.add(gcode_cmd.Comment("Standoff holes"))
    prog.add(gcode_cmd.FeedRate(standoffParam['feedRate']))
    for x0, y0 in param['partPos']:
        for i in (-1, 1):
            for j in (-1, 1):
                x = x0 + i * 0.5 * standoffParam['holeSpacing']
                y = y0 + j * 0.5 * standoffParam['holeSpacing']
                drillDict = {
                    'centerX': x,
                    'centerY': y,
                    'startZ': standoffParam['startZ'],
                    'stopZ': standoffParam['stopZThru'],
                    'safeZ': standoffParam['safeZ'],
                    'stepZ': standoffParam['stepZ'],
                    'startDwell': standoffParam['startDwell'],
                }
                drill = cnc_drill.PeckDrill(drillDict)
                prog.add(drill)
                prog.add(gcode_cmd.Space())

    prog.add(gcode_cmd.End(), comment=True)
    baseName, ext = os.path.splitext(__file__)
    fileName = '{0}.ngc'.format(baseName)
    if display:
        print(prog)
    else:
        print('creating: {0}'.format(fileName))
    prog.write(fileName)
Esempio n. 5
0
stopZ = -0.24
feedrate = 2.0
startDwell = 2.0
holeSpacing = params['block2fixture_hole_spacing']

prog = gcode_cmd.GCodeProg()
prog.add(gcode_cmd.GenericStart())
prog.add(gcode_cmd.Space())
prog.add(gcode_cmd.FeedRate(feedrate))

for i in (-1, 1):
    xPos = i * 0.5 * holeSpacing
    yPos = 0.0
    drillDict = {
        'centerX': xPos,
        'centerY': yPos,
        'startZ': startZ,
        'stopZ': stopZ,
        'safeZ': safeZ,
        'stepZ': stepZ,
        'startDwell': startDwell,
    }
    drill = cnc_drill.PeckDrill(drillDict)
    prog.add(drill)
    prog.add(gcode_cmd.Space())

prog.add(gcode_cmd.Space())
prog.add(gcode_cmd.End(), comment=True)
print(prog)
prog.write('block2fixture_center_drill.ngc')