Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

Tim Johnson

Verified Members
  • Posts

    2,252
  • Joined

  • Last visited

  • Days Won

    10

Tim Johnson last won the day on January 11 2023

Tim Johnson had the most liked content!

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

5,269 profile views

Tim Johnson's Achievements

Enthusiast

Enthusiast (6/14)

  • Dedicated Rare
  • Very Popular Rare
  • Reacting Well Rare
  • Posting Machine Rare
  • Collaborator Rare

Recent Badges

738

Reputation

  1. The cutter we use for the stainless heatsinks is a Mitsubishi VC-HFRB D1/8N5DR0.03. The flute is about 1/8" long and has a reach of about .650". I can't imagine a standard $15 1/8" end mill doing what this cutter does. I would think if it got through 1/4 of a part it did a good job. My guess is this little cutter is closer to $100. and very well worth it. We typically run 8 parts in one cycle and switch our cutter after each. We also use 1 micron coolant bags to collect the fines.
  2. How many channels are you currently using? I use a channel just for creating a tool setter program. Maybe you can achieve what you need with the same process. subprg$ : 1 #sub nc file --- subout = 1 (tool path files) auxprg$ : 1 #aux nc file --- subout = 2 (tool setter files) <<<<<<<<<<<<<<< extprg$ : 1 #ext nc file --- subout = 3 (M198 files) #tool setter switches and variables tsetter_1 : 0 # = one if tool is called tsetter_2 : 0 # = one if tool is called tsetter_3 : 0 # = one if tool is called tsetter_4 : 0 # = one if tool is called tsetter_5 : 0 # = one if tool is called tsetter_6 : 0 # = one if tool is called tsetter_7 : 0 # = one if tool is called tsetter_8 : 0 # = one if tool is called tsetter_9 : 0 # = one if tool is called tsetter_10 : 0 # = one if tool is called tsetter_11 : 0 # = one if tool is called tsetter_12 : 0 # = one if tool is called tsetter_13 : 0 # = one if tool is called tsetter_14 : 0 # = one if tool is called tsetter_15 : 0 # = one if tool is called tsetter_16 : 0 # = one if tool is called tsetter_17 : 0 # = one if tool is called tsetter_18 : 0 # = one if tool is called tsetter_19 : 0 # = one if tool is called tsetter_20 : 0 # = one if tool is called tsetter_21 : 0 # = one if tool is called tsetter_22 : 0 # = one if tool is called tsetter_23 : 0 # = one if tool is called tsetter_24 : 0 # = one if tool is called tsetter_25 : 0 # = one if tool is called tsetter_26 : 0 # = one if tool is called tsetter_27 : 0 # = one if tool is called tsetter_28 : 0 # = one if tool is called tsetter_29 : 0 # = one if tool is called tsetter_30 : 0 # = one if tool is called tsetter_31 : 0 # = one if tool is called tsetter_32 : 0 # = one if tool is called tsetter_33 : 0 # = one if tool is called tsetter_34 : 0 # = one if tool is called tsetter_35 : 0 # = one if tool is called tsetter_36 : 0 # = one if tool is called tsetter_37 : 0 # = one if tool is called tsetter_38 : 0 # = one if tool is called tsetter_39 : 0 # = one if tool is called tsetter_40 : 0 # = one if tool is called tsetter_41 : 0 # = one if tool is called tsetter_42 : 0 # = one if tool is called tsetter_43 : 0 # = one if tool is called tsetter_44 : 0 # = one if tool is called tsetter_45 : 0 # = one if tool is called tsetter_46 : 0 # = one if tool is called tsetter_47 : 0 # = one if tool is called tsetter_48 : 0 # = one if tool is called tsetter_49 : 0 # = one if tool is called tsetter_50 : 0 # = one if tool is called tsetter_51 : 0 # = one if tool is called tsetter_52 : 0 # = one if tool is called tsetter_53 : 0 # = one if tool is called tsetter_54 : 0 # = one if tool is called tsetter_55 : 0 # = one if tool is called tsetter_56 : 0 # = one if tool is called tsetter_57 : 0 # = one if tool is called tsetter_58 : 0 # = one if tool is called tsetter_59 : 0 # = one if tool is called tsetter_60 : 0 # = one if tool is called tsetter_prg_flg : 0# flag for calling program number tsetter_end_flg : 0# flag for calling program number p_toolsetter_setup if diameter > 0, radius = diameter/2 if t$ = 6 & tsetter_6 <> 1, [ tsetter_6 = 1 p_toolsetter_sub ] if t$ = 7 & tsetter_7 <> 1, [ tsetter_7 = 1 p_toolsetter_sub ] if t$ = 8 & tsetter_8 <> 1, [ tsetter_8 = 1 p_toolsetter_sub ] if t$ = 9 & tsetter_9 <> 1, [ tsetter_9 = 1 p_toolsetter_sub ] if t$ = 10 & tsetter_10 <> 1, [ tsetter_10 = 1 p_toolsetter_sub ] if t$ = 11 & tsetter_11 <> 1, [ tsetter_11 = 1 p_toolsetter_sub ] if t$ = 12 & tsetter_12 <> 1, [ tsetter_12 = 1 p_toolsetter_sub ] if t$ = 13 & tsetter_13 <> 1, [ tsetter_13 = 1 p_toolsetter_sub ] if t$ = 14 & tsetter_14 <> 1, [ tsetter_14 = 1 p_toolsetter_sub ] if t$ = 15 & tsetter_15 <> 1, [ tsetter_15 = 1 p_toolsetter_sub ] if t$ = 16 & tsetter_16 <> 1, [ tsetter_16 = 1 p_toolsetter_sub ] if t$ = 17 & tsetter_17 <> 1, [ tsetter_17 = 1 p_toolsetter_sub ] if t$ = 18 & tsetter_18 <> 1, [ tsetter_18 = 1 p_toolsetter_sub ] if t$ = 19 & tsetter_19 <> 1, [ tsetter_19 = 1 p_toolsetter_sub ] if t$ = 20 & tsetter_20 <> 1, [ tsetter_20 = 1 p_toolsetter_sub ] if t$ = 21 & tsetter_21 <> 1, [ tsetter_21 = 1 p_toolsetter_sub ] if t$ = 22 & tsetter_22 <> 1, [ tsetter_22 = 1 p_toolsetter_sub ] if t$ = 23 & tsetter_23 <> 1, [ tsetter_23 = 1 p_toolsetter_sub ] if t$ = 24 & tsetter_24 <> 1, [ tsetter_24 = 1 p_toolsetter_sub ] if t$ = 25 & tsetter_25 <> 1, [ tsetter_25 = 1 p_toolsetter_sub ] if t$ = 26 & tsetter_26 <> 1, [ tsetter_26 = 1 p_toolsetter_sub ] if t$ = 27 & tsetter_27 <> 1, [ tsetter_27 = 1 p_toolsetter_sub ] if t$ = 28 & tsetter_28 <> 1, [ tsetter_28 = 1 p_toolsetter_sub ] if t$ = 29 & tsetter_29 <> 1, [ tsetter_29 = 1 p_toolsetter_sub ] if t$ = 30 & tsetter_30 <> 1, [ tsetter_30 = 1 p_toolsetter_sub ] if t$ = 31 & tsetter_31 <> 1, [ tsetter_31 = 1 p_toolsetter_sub ] if t$ = 32 & tsetter_32 <> 1, [ tsetter_32 = 1 p_toolsetter_sub ] if t$ = 33 & tsetter_33 <> 1, [ tsetter_33 = 1 p_toolsetter_sub ] if t$ = 34 & tsetter_34 <> 1, [ tsetter_34 = 1 p_toolsetter_sub ] if t$ = 35 & tsetter_35 <> 1, [ tsetter_35 = 1 p_toolsetter_sub ] if t$ = 36 & tsetter_36 <> 1, [ tsetter_36 = 1 p_toolsetter_sub ] if t$ = 37 & tsetter_37 <> 1, [ tsetter_37 = 1 p_toolsetter_sub ] if t$ = 38 & tsetter_38 <> 1, [ tsetter_38 = 1 p_toolsetter_sub ] if t$ = 39 & tsetter_39 <> 1, [ tsetter_39 = 1 p_toolsetter_sub ] if t$ = 40 & tsetter_40 <> 1, [ tsetter_40 = 1 p_toolsetter_sub ] if t$ = 41 & tsetter_41 <> 1, [ tsetter_41 = 1 p_toolsetter_sub ] if t$ = 42 & tsetter_42 <> 1, [ tsetter_42 = 1 p_toolsetter_sub ] if t$ = 43 & tsetter_43 <> 1, [ tsetter_43 = 1 p_toolsetter_sub ] if t$ = 44 & tsetter_44 <> 1, [ tsetter_44 = 1 p_toolsetter_sub ] if t$ = 45 & tsetter_45 <> 1, [ tsetter_45 = 1 p_toolsetter_sub ] if t$ = 46 & tsetter_46 <> 1, [ tsetter_46 = 1 p_toolsetter_sub ] if t$ = 47 & tsetter_47 <> 1, [ tsetter_47 = 1 p_toolsetter_sub ] if t$ = 48 & tsetter_48 <> 1, [ tsetter_48 = 1 p_toolsetter_sub ] if t$ = 49 & tsetter_49 <> 1 & machine <> 800, [ tsetter_49 = 1 p_toolsetter_sub ] if t$ = 50 & tsetter_50 <> 1 & machine <> 800, [ tsetter_50 = 1 p_toolsetter_sub ] if t$ = 51 & tsetter_51 <> 1, [ tsetter_51 = 1 p_toolsetter_sub ] if t$ = 52 & tsetter_52 <> 1, [ tsetter_52 = 1 p_toolsetter_sub ] if t$ = 53 & tsetter_53 <> 1, [ tsetter_53 = 1 p_toolsetter_sub ] if t$ = 54 & tsetter_54 <> 1, [ tsetter_54 = 1 p_toolsetter_sub ] if t$ = 55 & tsetter_55 <> 1, [ tsetter_55 = 1 p_toolsetter_sub ] if t$ = 56 & tsetter_56 <> 1, [ tsetter_56 = 1 p_toolsetter_sub ] if t$ = 57 & tsetter_57 <> 1, [ tsetter_57 = 1 p_toolsetter_sub ] if t$ = 58 & tsetter_58 <> 1, [ tsetter_58 = 1 p_toolsetter_sub ] if t$ = 59 & tsetter_59 <> 1, [ tsetter_59 = 1 p_toolsetter_sub ] if t$ = 60 & tsetter_60 <> 1, [ tsetter_60 = 1 p_toolsetter_sub ] p_toolsetter_sub subout$ = 2 # tool setter program sub_prg_no$ = 5510 if tsetter_prg_flg <> 1, [ "%", e$ sub_prg_no$, "(TOOL SETTER)", e$ "(", no_spc$, sprogname$, no_spc$,")", e$ "G91 G30 X0 Y0 Z0", e$ if machine = 80 | machine = 480, "#1108=1",e$ "M501", e$ "M06 T01", e$ tsetter_prg_flg = 1 " ", e$ ] if t$ > 5 & tsetter_end_flg <> 1, [ "M06", *t$, ptoolcomm, e$ if machine = 800, *stool_detect_teach, *t$, e$ if next_tool$ > 5, *next_tool$, e$ if speed < 1000, temp_speed = 1000 else, temp_speed = speed "M100", *t$, [if tool_type = 10, *radius], [if speed < 3000, *temp_speed], e$ if machine <> 800, "M167", e$ " ", e$ ] if tsetter_end_flg = 1, [ "M06 T01", e$ if machine = 80 | machine = 480, "#1108=0",e$ if machine = 300 | machine = 800, *sunlock, "(PALLET UNLOCK)", e$ # sunlock, "(PALLET UNLOCK)", e$ "M30", e$ "%", e$ ] subout$ = 0 #main NC program This is what the code spits out, % O5510 (TOOL SETTER) (JE80S 772-561 OP1) #1108=1 G91 G30 X0 Y0 Z0 M501 M06 T01 M06 T06 (NO.43 CARBIDE DRILL) T07 M100 T06 M167 M06 T07 (4-40 SPIRAL FLUTE BOTTOM TAP) T08 M100 T07 S1705 M167 M06 T08 (1" INDEXABLE END MILL FOR ALUM FINISHING FLOOR) T09 M100 T08 M167 M06 T09 (3/4" FOUR FLUTE CARBIDE END MILL FINISHING FLOOR) T10 M100 T09 R.375 M167 M06 T10 (3.10 MM THROUGH COOLANT CARBIDE DRILL) T11 M100 T10 M167 M06 T11 (5/16" FOUR FLUTE CARBIDE BALL NOSE END MILL) T12 M100 T11 M167 M06 T12 (1/8" FOUR FLUTE CARBIDE END MILL WITH .015 RADIUS FINISHING FLOOR) M100 T12 M167 #1108=0 M30 % Obviously this code won't work for you but it might give you a starting point to get what you need.
  3. I have a pstopcomment segment that I use for part clamping/unclamping, inverting material, adding cap screws, ect and use variables to pick the particular code that I need. You just pick the mi7$ choice pstopcomment #pallet rotation macro "G91", "G30", "X0", "Y0", "Z0", e$ if machine = 300 | machine = 800, *sunlock, "(PALLET UNLOCK)", e$ "G91", "G28", "B0", e$ "M60", e$ if mi7$ = 1, "M00", "(ADD CAP SCREWS THEN REMOVE CLAMP)", e$ if mi7$ = 2, "M00", "(REMOVE WASTE MATERIAL)", e$ if mi7$ = 3, "M00", "(RESET PART TO POSITION 2)", e$ if mi7$ = 4, "M00", "(MOVE CLAMP TO BOTTOM POSITION)", e$ if mi7$ = 5, "M00", "(ADD CENTER CLAMPS TO PALLET A)", e$ if mi7$ = 6, "M00", "(UNCLAMP AND RECLAMP PARTS)", e$ if mi7$ = 7, "M00", "(ADD CLAMP)", e$ if mi7$ = 8, "M00", "(ADD CAP SCREWS)", e$ if mi7$ = 9, "M00", "(ADD CLAMPS)", e$ if mi7$ = 10, "M00", "(INVERT PARTS PER SETUP SHEET)", e$ if mi7$ = 11, "M00", "(ADD CLAMP THEN REMOVE CAP SCREWS)", e$ if mi7$ = 12, "M00", "(ADD OP1-2 CLAMPS THEN REMOVE OP1-1 CLAMPS)", e$ if mi7$ = 13, "M00", "(REMOVE ANTI-VIBRATION BLOCKS)", e$ if mi7$ = 14, "M00", "(REMOVE CENTER SCREWS THEN ADD CLAMP)", e$ if mi7$ = 15, "M00", "(ADJUST CASTED SLEEVE WITH 1.97 DIA SHAFT THEN REMOVE)", e$ if mi7$ = 16, "M00", "(ADD THEN REMOVE CLAMPS PER S/U SHEET)", e$ if mi7$ = 17, "M00", "(ADD CAP SCREWS THEN REMOVE Y STOP BLOCKS)", e$ if mi7$ = 18, "M00", "(CLEAN AND DEBURR PART BEFORE PROBING)", e$ if mi7$ = 19, "M00", "(REMOVE CLAMP)", e$ if mi7$ = 20, "M00", "(REMOVE CLAMPS)", e$ if mi7$ = 21, "M00", "(REMOVE ANTI-VIBRATION BLOCK)", e$ if mi7$ = 22, "M00", "(DEBURR HOLES AND EDGES BEFORE FINISH CUT)", e$ if mi7$ = 23, "M00", "(CLEAN OUT HOLES WITH DRILLS)", e$ if mi7$ = 24, "M00", "(ADD CAP SCREWS AND INSPECT Z LOCATION)", e$ if mi7$ = 25, "M00", "(ADD CAP SCREWS AND INSPECT FOR FULL CLEANUP)", e$ if mi7$ = 26, "M00", "(ADD CAP SCREWS THEN REMOVE ALL CLAMPS)", e$ if mi7$ = 27, "M00", "(ADD CLAMPS THEN REMOVE CAP SCREWS)", e$ if mi7$ = 28, "M00", "(ROTATE PART PER SETUP SHEET)", e$ if mi7$ = 29, "M00", "(ADD FLAT HEAD SCREWS AND REMOVE CLAMPS)", e$ if mi7$ = 30, "M00", "(ADD FLAT HEAD SCREWS)", e$ if mi7$ = 31, "M00", "(CHECK 28.084 DISTANCE AND 2.00 DIAMETER)", e$ "G91", "G30", "X0", "Y0", "Z0", e$ "G91", "G28", "B0", e$ "M60", e$ "G91", "G28", "B0", e$ if machine = 300 | machine = 800, *slock, "(PALLET LOCK)", e$ " ", e$ Note, this segment is the way that we modify our clamping and any use of this code is the user's responsibility to make sure no crashes occur. We've been using this segment for at least 20 years on 12 horizontal machines, (5 different makes).
  4. All of my routers and subs are after the M30 code but you can't see any difference on the machine.
  5. We keep our programs on a server that lives in the IT department. Each machine has a computer with a pre-mapped folder to pull programs from. The software we use to load the programs is WS_FTP Professional-Ipswitch. I think we paid $40 for each install.
  6. I'm glad to hear you're running internal subs. Just the reduced time in programming multiple parts pays for itself.
  7. The week after Thanksgiving I'll be training to program and run a Okuma MA-8000H horizontal. That will bring me to 10 HMC's, 1mill-turn and training for our second mill-turn.
  8. We're running the main program and the subs directly from the Data Server with no issues. (Fanuc 16i)
  9. It appears that ± isn't in the post. I'm sure I would have tried it in my inspection program. "DPRNT[***DISTANCE*", *drl_prm7$, [if drl_prm6$, "*TOL*+/-*", <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< *drl_prm6$], "***]", e$ ********************************PRINT*********************************** spaces$ = 0 "POPEN", e$ if s_popen_flg = 0, [ s_popen, e$ s_popen_flg = 1 ] "DPRNT[]", e$ "DPRNT[-----------------------------------------------------------]", e$ "DPRNT[***", s_sav_comment , "***]", e$ "DPRNT[***DISTANCE*", *drl_prm7$, [if drl_prm6$, "*TOL*+/-*", <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< *drl_prm6$], "***]", e$ "DPRNT[***RESULTS***DISTANCE*#138[24]***]", e$ "DPRNT[-----------------------------------------------------------]", e$ "DPRNT[]", e$ # "PCLOS", e$ spaces$ = sav_spc # ************************************************************************
  10. Precision Components now makes dual contact holders. I have two 1/2" X 9" long CAT50 DC holders coming in.
  11. Just like all things in life, you get out what you put in. If you go through the work for one tool and you use it ten times in one year then nine of those times you just added a tool in a few seconds. With every tool you add you become that much more efficient. Right now (after around 17 years) I might add 5 tools a month and they are usually tools from another material that will need speeds, feeds and pecks or no pecks changes if it's a drill.
  12. Here's my tool library list. The aluminum folder has over 1100 tools.
  13. Keep working them crazy^millman. You catch more bugs than anyone else and we appreciate it.

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...