Results 1 to 7 of 7

Thread: Key holes

  1. #1
    Join Date
    Feb 2007
    Location
    , Chardon Ohio
    Posts
    25

    Default Key holes

    How are you cutting key holes for wall mounting placks.

  2. #2
    Join Date
    Jul 2007
    Location
    LM Custom Woodcrafts, Cortlandt Manor New York
    Posts
    321

    Default

    Not trying to be a smarta@#........... I use a keyhole bit. Pretty easy to write a cut file for the moves needed. Have it move to the desired location, plunge to depth needed, move in direction you want, move back, then move back up out of the hole.

  3. #3
    Join Date
    Mar 2006
    Location
    Habitat For Bats, Jackson GA
    Posts
    2,113

    Default

    I use a keyhole bit both on and off the bot. For production stuff I use the table router but I cut a jig on the bot to position. Push down, pull, push, lift, done.

    On the bot I program a tool path as a U, plunge, move to the end, move over about 1/32" then return, lift. That works well and leaves things clean.

    /RB

  4. #4
    Join Date
    Feb 2007
    Location
    , Chardon Ohio
    Posts
    25

    Default

    Thank you for the replies. I tried drawing a poly
    line in part works, down and up over itself and it worked.

  5. #5
    Join Date
    Apr 2007
    Location
    Marquette, MI
    Posts
    3,388

    Default

    Guys...
    I use a file that we use to cut pockets for sidewalk or carriage bolts. We often embed them in the back side of marine woodwork. I use the Rockler T slot bit and that bit allows entry holes up to 1.5" for the head and a slot width up .5". If anyone want to try it email me.
    Put "Keyhole Cutter" in the subject line to get thru the spam filter.
    Gary

  6. #6
    Join Date
    Oct 2006
    Location
    WildWood Mfg.., Ulm Montana
    Posts
    296

    Default

    Steve
    I do keyholes on several items. Seems most people like the carvings for display rather than say a cribbage board, or cutting board. I tried to make a file and have the software make the cut file, but learned it is easier to just write the program. Here is one I use, then just change to center and position the start of the cut. Easy to do..just find the start and center point, do a search and change the numbers in the file.

    'File created in VCarve Wizard
    '
    'UNITS:Inches
    '
    'For ShopBot Control: SB3 Alpha
    '
    'Keyhole for pocket on top/Z=top, 1/4in Keyhole bit/Set RPM to 12000
    PAUSE
    '
    'Turning spindle ON
    SO,1,1
    PAUSE,2
    '
    MS,1.0,0.5
    JZ,1.5
    J2,0.000000,0.000000
    J3,4.75,7.5,1.5
    'Position to start point
    M3,4.75,7.5,-0.31
    'Drill down
    M3,4.75,7.85,-0.31
    'Move to top of cut
    M3,4.75,7.5,-0.31
    'Back to start point
    J3,4.75,7.5,1.50
    'Back out of start hole
    JZ,3.0
    'Clear to change Z height
    SO,1,0
    '
    'Turning spindle off
    J2,6.000,30.000000
    '
    'Position spindle to bit change station


    Butch

  7. #7
    Join Date
    Dec 2000
    Location
    Thorp, WI
    Posts
    2,845

    Default

    Here's one that I have set as a Custom Cut. Some of the values are preset, but you can enter other values and quantities. It has some presets for items that I make often so I just have to give it a quantity.

    I'll post it here for reference. If you use it, you'll need to make some adjustments for your needs.

    There are a couple of subs that aren't finished as I haven't taken time to add them in yet. It was kind of a work in progress.

    I generally cam wedge the plaques, etc. into a corner and when one slot is done, the machine parks some distance away and waits for me to change the blank and push a little "repeat button" to continue.

    ********** ********** ********** ********** *********

    'Keyholer

    SA
    MS,3,0.8
    TR, 16500

    MSGBOX(Is the tool zeroed on the blank?,4,Z Zero Check)
    If &msganswer = NO Then GOSUB ZEROTOOL

    JZ,2

    SL 'clear all variables
    &blankcount = 0 'set up counting variables
    &zclear = 0.25 'Safe Z clearance height between slots
    &slotdepth = -0.3125 'Hangslot hole depth
    &waitloc = 6.0 'Wait location

    MSGBOX(Do you want presets?,260,Presets)
    If &msganswer = YES Then GOTO PRESETS

    'Input for blank size and quantity.
    INPUT "Blank size in X, Y, and quantity?" &sizeX,&sizeY,&numblanks

    'Input for type of hangslots.
    INPUT "What type of hangslots? Single (X), single (Y), both (XY), vertical along X (VX) or Y (VY), vertical with single along X (VXS) or Y (VYS), all (A)" &type

    If &type = Y Then GOTO SINGLEY
    If &type = X Then GOTO SINGLEX
    If &type = B Then GOTO DOUBLE
    If &type = VX Then GOTO VERTICALX
    If &type = VXS Then GOTO VERTICALXS
    If &type = VY Then GOTO VERTICALY
    If &type = VYS Then GOTO VERTICALYS
    If &type = A Then GOTO ALL

    '********* ********** ********** ********** ********** ********** ********** ********** ********** ********** *

    DOUBLE:

    &dist=1.0
    &length=2.0

    MSGBOX(Use default values?,3,Default Values)
    If &msganswer = CANCEL Then END
    If &msganswer = NO Then INPUT "Distance from edge to center of slot and slot length" &dist,&length

    REPEAT DOUBLE:

    SO,1,1 'Router on
    J2,&dist,&sizeY/2+(&length/2)
    JZ,&zclear
    MZ,&slotdepth
    SR
    MY,-&length
    MY,&length
    SA
    JZ,&zclear
    J2,&sizeX/2-(&length/2),&sizeY-&dist
    MZ,&slotdepth
    SR
    MX,&length
    MX,-&length
    SA
    JZ,&zclear
    J2,0.0,&sizeY+&waitloc

    &blankcount=&blankcount+1
    IF &blankcount < &numblanks THEN GOTO WAITHEREDOUBLE
    IF &blankcount = &numblanks THEN GOTO END

    WAITHEREDOUBLE:

    &TEST=%(51)
    IF &TEST=1 THEN GOTO REPEAT DOUBLE
    PAUSE 0.3
    GOTO WAITHEREDOUBLE

    '********* ********** ********** ********** ********** ********** ********** ********** ********** ********** *

    SINGLEY:

    &dist=1.0
    &length=2.0

    MSGBOX(Use default values?,3,Default Values)
    If &msganswer = CANCEL Then END
    If &msganswer = NO Then INPUT "Distance from edge to center of slot and slot length" &dist,&length

    REPEAT SINGLEY:

    SO,1,1 'Router on
    J2,&dist,&sizeY/2+(&length/2)
    JZ,&zclear
    MZ,&slotdepth
    SR
    MY,-&length
    MY,&length
    SA
    JZ,&zclear
    J2,0.0,&sizeY+&waitloc

    &blankcount=&blankcount+1
    IF &blankcount < &numblanks THEN GOTO WAITHERESINGLEY
    IF &blankcount = &numblanks THEN GOTO END

    WAITHERESINGLEY:

    &TEST=%(51)
    IF &TEST=1 THEN GOTO REPEAT SINGLEY
    PAUSE 0.3
    GOTO WAITHERESINGLEY

    '********* ********** ********** ********** ********** ********** ********** ********** ********** ********** *

    SINGLEX:

    &dist=1.0
    &length=2.0

    MSGBOX(Use default values?,3,Default Values)
    If &msganswer = CANCEL Then END
    If &msganswer = NO Then INPUT "Distance from edge to center of slot and slot length" &dist,&length

    REPEAT SINGLEX:

    SO,1,1 'Router on
    J2,&sizeX/2-(&length/2),&sizeY-&dist
    MZ,&slotdepth
    SR
    MX,&length
    MX,-&length
    SA
    JZ,&zclear
    J2,0.0,&sizeY+&waitloc

    &blankcount=&blankcount+1
    IF &blankcount < &numblanks THEN GOTO WAITHERESINGLEX
    IF &blankcount = &numblanks THEN GOTO END

    WAITHERESINGLEX:

    &TEST=%(51)
    IF &TEST=1 THEN GOTO REPEAT SINGLEX
    PAUSE 0.3
    GOTO WAITHERESINGLEX


    '********* ********** ********** ********** ********** ********** ********** ********** ********** ********** *

    VERTICALX:

    &distedgeX=1.0
    &distedgeY=1.75
    &length=0.75

    MSGBOX(Use default values?,3,Default Values)
    If &msganswer = CANCEL Then END
    If &msganswer = NO Then INPUT "Distance from X zero edge to center, distance from Y edge for start point, and slot length" &distedgeX,&distedgeY,&length

    SO,1,1 'Router on
    J2,&distedgeX,&sizeY-&distedgeY
    JZ,&zclear
    MZ,&slotdepth
    SR
    MY,&length
    MY,-&length
    SA
    JZ,&zclear
    J2,&sizeX-&distedgeX,&sizeY-&distedgeY
    MZ,&slotdepth
    SR
    MY,&length
    MY,-&length
    SA
    JZ,1.0
    J2,0.0,&sizeY+&waitloc

    &blankcount=&blankcount+1
    IF &blankcount < &numblanks THEN GOTO WAITHEREVERTICALX
    IF &blankcount = &numblanks THEN GOTO END

    WAITHEREVERTICALX:

    &TEST=%(51)
    IF &TEST=1 THEN GOTO VERTICALX
    PAUSE 0.3
    GOTO WAITHEREVERTICALX


    '********* ********** ********** ********** ********** ********** ********** ********** ********** ********** *

    VERTICALY:

    &distedgeX=1.75
    &distedgeY=1.0
    &length=0.75

    MSGBOX(Use default values?,3,Default Values)
    If &msganswer = CANCEL Then END
    If &msganswer = NO Then INPUT "Distance to start point from X zero edge, distance from Y zero edge to center, and slot length" &distedgeX,&distedgeY,&length

    SO,1,1 'Router on
    J2,&distedgeX,&distedgeY
    JZ,&zclear
    MZ,&slotdepth
    SR
    MX,-&length
    MX,&length
    SA
    JZ,&zclear
    J2,&distedgeX,&sizeY-&distedgeY
    MZ,&slotdepth
    SR
    MX,-&length
    MX,&length
    SA
    JZ,1.0
    J2,0.0,&sizeY+&waitloc

    &blankcount=&blankcount+1
    IF &blankcount < &numblanks THEN GOTO WAITHEREVERTICALY
    IF &blankcount = &numblanks THEN GOTO END

    WAITHEREVERTICALY:

    &TEST=%(51)
    IF &TEST=1 THEN GOTO VERTICALY
    PAUSE 0.3
    GOTO WAITHEREVERTICALY


    '********* ********** ********** ********** ********** ********** ********** ********** ********** ********** *

    VERTICALXS:

    &dist = 1.0
    &length = 2.0
    &distedgeXV = 1.0
    &distedgeYV = 1.75
    &lengthV = 0.75

    MSGBOX(Use default values?,3,Default Values)
    If &msganswer = CANCEL Then END
    If &msganswer = NO Then INPUT "Distance from edge to center of horizontal slot and length. Distance from edge for vertical slot X and Y. Length of vertical slot" &dist,&length,&distedgeXV,&distedg eYV,&lengthV

    SO,1,1 'Router on
    J2,&distedgeXV,&sizeY-&distedgeYV
    JZ,&zclear
    MZ,&slotdepth
    SR
    MY,&lengthV
    MY,-&lengthV
    SA
    JZ,&zclear
    J2,&sizeX/2-(&length/2),&sizeY-&dist
    MZ,&slotdepth
    SR
    MX,&length
    MX,-&length
    SA
    JZ,&zclear
    J2,&sizeX-&distedgeXV,&sizeY-&distedgeYV
    MZ,&slotdepth
    SR
    MY,&lengthV
    MY,-&lengthV
    SA
    JZ,&zclear
    J2,0.0,&sizeY+&waitloc

    &blankcount=&blankcount+1
    IF &blankcount < &numblanks THEN GOTO WAITHEREVERTICALXS
    IF &blankcount = &numblanks THEN GOTO END

    WAITHEREVERTICALXS:

    &TEST=%(51)
    IF &TEST=1 THEN GOTO VERTICALXS
    PAUSE 0.3
    GOTO WAITHEREVERTICALXS

    '********* ********** ********** ********** ********** ********** ********** ********** ********** ********** *

    VERTICALYS:


    '********* ********** ********** ********** ********** ********** ********** ********** ********** ********** *

    ALL:


    '********* ********** ********** ********** ********** ********** ********** ********** ********** ********** *

    PRESETS:

    'Input for various presets
    INPUT "What preset would you like, and how many? Wisconsin (W), US Forestry (F), 10 x 18 Fighter Jet (J)" &preset,&numblanks
    If &preset = W Then GOTO WI
    If &preset = F Then GOTO FORESTRY
    If &preset = J Then GOTO 1018

    WI:

    &sizeX = 13.25
    &sizeY = 14.5
    &dist=4.5
    &length=2.5

    SO,1,1 'Router on
    J2,&sizeX/2-(&length/2),&sizeY-&dist
    JZ,&zclear
    MZ,&slotdepth
    SR
    MX,&length
    MX,-&length
    SA
    JZ,&zclear
    J2,0.0,&sizeY+&waitloc

    &blankcount=&blankcount+1
    IF &blankcount < &numblanks THEN GOTO WAITHEREWI
    IF &blankcount = &numblanks THEN GOTO END

    WAITHEREWI:

    &TEST=%(51)
    IF &TEST=1 THEN GOTO WI
    PAUSE 0.3
    GOTO WAITHEREWI

    FORESTRY:

    &sizeX = 14.5
    &sizeY = 14.5
    &dist=1.9375
    &length=2.0

    SO,1,1 'Router on
    J2,&sizeX/2-(&length/2),&sizeY-&dist
    JZ,&zclear
    MZ,&slotdepth
    SR
    MX,&length
    MX,-&length
    SA
    JZ,&zclear
    J2,0.0,&sizeY+&waitloc

    &blankcount=&blankcount+1
    IF &blankcount < &numblanks THEN GOTO WAITHEREFOR
    IF &blankcount = &numblanks THEN GOTO END

    WAITHEREFOR:

    &TEST=%(51)
    IF &TEST=1 THEN GOTO FORESTRY
    PAUSE 0.3
    GOTO WAITHEREFOR

    1018:

    &sizeX = 18.0
    &sizeY = 10.0
    &dist = 1.0
    &length = 2.0
    &distedgeXV = 1.0
    &distedgeYV = 1.75
    &lengthV = 0.75

    SO,1,1 'Router on
    J2,&distedgeXV,&sizeY-&distedgeYV
    JZ,&zclear
    MZ,&slotdepth
    SR
    MY,&lengthV
    MY,-&lengthV
    SA
    JZ,&zclear
    J2,&sizeX/2-(&length/2),&sizeY-&dist
    MZ,&slotdepth
    SR
    MX,&length
    MX,-&length
    SA
    JZ,&zclear
    J2,&sizeX-&distedgeXV,&sizeY-&distedgeYV
    MZ,&slotdepth
    SR
    MY,&lengthV
    MY,-&lengthV
    SA
    JZ,&zclear
    J2,0.0,&sizeY+&waitloc

    &blankcount=&blankcount+1
    IF &blankcount < &numblanks THEN GOTO WAITHERE1018
    IF &blankcount = &numblanks THEN GOTO END

    WAITHERE1018:

    &TEST=%(51)
    IF &TEST=1 THEN GOTO 1018
    PAUSE 0.3
    GOTO WAITHERE1018

    '********* ********** ********** ********** ********** ********** ********** ********** ********** ********** *

    ZEROTOOL:

    'Use the keypad to jog to the desired z-zeroing position, then hit escape when finished.
    Pause
    SK
    'Hit enter to zero the Z axis here.
    Pause
    FP,C:\SBparts\My Zzero.sbp 'Change this to Zzero.spb or just C2 and it will not return to where it left off.

    RETURN

    '********* ********** ********** ********** ********** ********** ********** ********** ********** ********** *

    END:

    SO,1,0 'Router Off
    JZ,1
    END

Similar Threads

  1. 5mm Holes in MDF
    By Bob Eustace in forum ShopBotter Message Board
    Replies: 12
    Last Post: 04-28-2013, 12:32 AM
  2. Shelf Pin Holes...How to
    By Michael Zanzano in forum Folder 2012
    Replies: 3
    Last Post: 03-26-2012, 11:36 AM
  3. 6,000,000 holes
    By woodworx in forum ShopBotter Message Board
    Replies: 19
    Last Post: 08-05-2011, 10:56 AM
  4. CRIBBAGE HOLES
    By coach in forum Archive2008
    Replies: 3
    Last Post: 11-16-2008, 09:07 PM
  5. WAY too many holes!!!
    By gabepari in forum Archive2008
    Replies: 7
    Last Post: 11-13-2008, 07:01 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •