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:

Cycle time ?


Recommended Posts

29 minutes ago, crazy^millman said:

Going to never be correct with drilling cycles IMHO since they are internal canned cycles on machines. Trying to have the post determine the accel and deaccel in a machine controlled canned cycle is going to take some serious work.

 

Hey CrazyMillMan,
   This is what I've got.  I have created a small post block just for individual toolpath cycle time.

 


image.png.f49f555f71750b9af136c90f6d37c165.png

 

 

====================
%
O5112(XXXXXXXXXX-001-REVB-OP2.NC)
(XXXXXXXXXX-001-REVB.MCAM)
(DEC.31.2024, 13:45 PM)
(*)
(MACHINE = 3 AXIS - FANUC)
(TOTAL TOOLS = 😎
(*)
(T1   - 1/2 BULL EM, 2X - R.03)
(T14  - 1/16 EM, 3X)
(T3   - 3/64 EM, 3X)
(T2   - 1/4"X135 SPOT/ STARTER DRILL)
(T8   - 1/4 EM, 2X DIA)
(T16  - 1/16 EM, 3X)
(T15  - Ø.0989X66X.015BRX.005TR - R.015)
(T7   - 3/16X90 CHMF)
(*)
(CYCLE TIME = 9MINs, 37.31SECs)
(*)
(*** BEGIN WORK OFFSET INFO ***)
(G55 = OP2)
(XY0 = CENTER)
(Z0= TOP, PART THICKNESS)
(*)
(*** END WORK OFFSET INFO ***)
(*)
(*)
(*)
N1(ROUGH OUT TOP SURFACE, CUT#23)
G0 G17 G40 G49 G80 G90
G53 Z0. M19
T1 M6(1/2 BULL EM, 2X)
G0 G17 G90 G55
X-1.475 Y.6749 S4500 M3
G43 H1 Z1.(DOC= Z.065)
T14 M8
Z.3
G1 Z.065 F25.
X1.475
(CUTTING)
X1.475
G0 Z1.
M9(1MIN, 17.35SECs)
G53 Z0. M5
G53 Y0. M19
M1
(*)
(*)
N14(ROUGH OUT ENTRY HOLE, CUT#24)
G0 G17 G40 G49 G80 G90
G53 Z0. M19
T14 M6(1/16 EM, 3X)
G0 G17 G90 G55
X.0112 Y.1845 S3500 M3
G43 H14 Z1.(DOC= Z.005)
T3 M8(.095CMD(Z STK= .0025)
(XY STK= .0025)
Z.125
G1 Z.0156 F2.5
G3 X-.0112 Y.1865 Z.0147 R.0112 F10.
X.0112 Y.1845 Z.0138 R.0112
(CUTTING)
Y.1993 R.0138
G0 Z.25
Z1.
M9(20.4SECs)
G53 Z0. M5
G53 Y0. M19
M1
(*)
(*)
N3(ROUGH OUT GROOVE, CUT#25)
G0 G17 G40 G49 G80 G90
G53 Z0. M19
T3 M6(3/64 EM, 3X)
G0 G17 G90 G55
X0. Y.1855 S4500 M3
G43 H3 Z1.(DOC= Z-.0515)
T2 M8(Z STK= .0025)
Z.125
G1 Z.0141 F3.5
(CUTTING)
Y.1855 R.1855
G0 Z1.
M9(38.68SECs)
G53 Z0. M5
G53 Y0. M19
M1
(*)
(*)
N2(SPOT 6X .136 +/-.005, THRU HOLES, CUT#27)
G0 G17 G40 G49 G80 G90
G53 Z0. M19
T2 M6(1/4"X135 SPOT/ STARTER DRILL)
G0 G17 G90 G55
X-.5 Y0. S1000 M3
G43 H2 Z1.(DOC= Z.0141)
T8 M8(2X -.03'CSINK)
G98 G81 Z-.03 R.125 F1.
X.5
G80
S500 M3
M9(18.63SECs)
(*)
N202(SPOT 3X .156 THRU HOLE, CUT#28)
G0 G17 G90 G55 X0. Y0.
S500 M3(T2 - 1/4"X135 SPOT/ STARTER DRILL)
G43 H2 Z1.(DOC= Z.0031)
M8(1X -.035'CSINK)
G98 G81 Z-.035 R.125 F1.
G80
M9(28.25SECs)
G53 Z0. M5
G53 Y0. M19
M1
(*)
M0(RECLAMP THE PART)
(*)
N8(FINISH TOP SURFACE, CUT#31)
G0 G17 G40 G49 G80 G90
G53 Z0. M19
T8 M6(1/4 EM, 2X DIA)
G0 G17 G90 G55
X-1.3 Y.5874 S4500 M3
G43 H8 Z1.(DOC= Z-.0078)
T16 M8
Z.125
G1 Z.0025 F15.
(CUTTING)
X1.3 F25.
G0 Z1.
M9(3MINs, 10.47SECs)
G53 Z0. M5
G53 Y0. M19
M1
(*)
(*)
N16(FINISH ENTRY HOLE, CUT#32)
G0 G17 G40 G49 G80 G90
G53 Z0. M19
T16 M6(T16, 1/16 EM, 3X)
G0 G17 G90 G55
X.0057 Y.1912 S3500 M3
G43 H16 Z1.(DOC= Z-.0187)
T15 M8(.095CMD,.0125OVLP)
Z.125
G1 Z-.054 F7.
(CUTTING...)
G1 G40 X.0041 Y.1925
G0 Z.25
Z1.
M9(5.63SECs)
G53 Z0. M5
G53 Y0. M19
M1
(*)
(*)
N15(FINISH MID GROOVE, CUT#33)
G0 G17 G40 G49 G80 G90
G53 Z0. M19
T15 M6(Ø.0989X66X.015BRX.005TR)
G0 G17 G90 G55
X0. Y.1855 S4500 M3
G43 H15 Z1.(DOC= Z-.0296)
T7 M8
Z.125
(CUTTING...)
Y.1855 R.1855
G0 Z1.
M9(23.07SECs)
(*)
N1502(FINISH GROOVE OUTTER WALL, CUT#34)
G0 G17 G90 G55 X-.001 Y.1889
S4500 M3(T15 - Ø.0989X66X.015BRX.005TR R.015)
G43 H15 Z1.(DOC= Z-.0406)
M8
Z.125
G1 Z-.054 F2.5
(CUTTING)
Y.187 R.187
G1 G40 X.001
G0 Z1.
M9(55.65SECs)
(*)
N1503(FINISH GROOVE INNER WALL, CUT#35)
G0 G17 G90 G55 X-.0009 Y.1874
S4500 M3(T15 - Ø.0989X66X.015BRX.005TR R.015)
G43 H15 Z1.(DOC= Z-.0515)
M8
Z.125
G1 Z-.054
(CUTTING)
G40 Y.1874
G0 Z1.
M9(1MIN, 28.05SECs)
G53 Z0. M5
G53 Y0. M19
M1
(*)
(*)
N7(DEBURR PROFILE, CUT#36)
G0 G17 G40 G49 G80 G90
G53 Z0. M19
T7 M6(T7, 3/16X90 CHMF)
G0 G17 G90 G55
X.0469 Y-.45 S6000 M3
G43 H7 Z1.(DOC= Z-.03)
T15 M8(5X, .005 CHAMFERS)
Z.125
G1 Z.0887 F10.
Y-.4031 Z-.0362
(CUTTING)
G1 Y-.45 Z.0887
G0 Z1.
M9(27.84SECs)
G53 Z0. M5
G53 Y0. M19
M1
(*)
(*)
N1504(FINISH GROOVE OUTTER WALL, RE-RUN, CUT#37)
G0 G17 G40 G49 G80 G90
G53 Z0. M19
T15 M6(Ø.0989X66X.015BRX.005TR)
G0 G17 G90 G55
X-.001 Y.1889 S4500 M3
G43 H15 Z1.(DOC= Z-.035)
T1 M8
Z.125
G1 Z-.054 F2.5
(CUTTING)
G1 G40 X.001
G0 Z1.
M9(32.59SECs)
(*)
N1505(FINISH GROOVE INNER WALL, RE-RUN, CUT#38)
G0 G17 G90 G55 X-.0008 Y.1875
S4500 M3(T15 - Ø.0989X66X.015BRX.005TR R.015)
G43 H15 Z1.(DOC= Z.0025)
M8
Z.125
G1 Z-.054
(CUTTING)
G40 Y.1875
G0 Z1.
M9(1MIN, 4.99SECs)
G53 Z0. M5
G53 Y0. M19
T1 M6(FIRST TOOL)
M30
%
(9.128 KB)

 

 

=========================

#Region, pToolPathCycleTime
pToolPathCycleTime		 #Output "times"
 pthrminsec #Convert minutes to hr/min/sec format
 if time_format = two,
 [
 #Output 'HOURS'
 if thrs = one, *thrs, no_spc$, "HR, "
 if thrs > one, *thrs, no_spc$,, "HRs, "
 #Output 'MINUTES'
 if tmin = one, *tmin, no_spc$, "MIN, "
 if tmin > one, *tmin, no_spc$, "MINs, "
 #Output 'SECONDS'
 if tsec > zero, *tsec, no_spc$, "SECs"
 ]
 else,
 [
 result = newfs(five, tsec)
 #Output 'HOURS'
 if thrs > zero, *thrs, "h "
 #Output 'MINUTES' and 'SECONDS'
 *tmin, no_spc$, ":", no_spc$, *tsec
 ]
#EndRegion, pToolPathCycleTime

 

=========================

#Region, pretract - End of toolpath, toolchange
pretract        #End of tool path, toolchange
      sav_absinc = absinc$
      absinc$ = one
      sav_coolant = coolant$
      coolant$ = zero

#      if nextop$ = 1003, #Uncomment this line to leave coolant on until eof unless
#        [                 #  explicitely turned off through a canned text edit
        if all_cool_off,
          [
          #all coolant off with a single off code here
          if coolant_on, *sall_cool_off,
          coolant_on = zero
          ]
        else,
          [
          local_int = zero
          coolantx = zero
          while local_int < 20,
            [
            coolantx = and(2^local_int, coolant_on)
            local_int = local_int + one
            if coolantx > zero,
              [
              coolantx = local_int
              scoolantx, no_spc$
              ]
            coolantx = zero
            ]
          coolant_on = zero
          ]
#        ]
      [
       ttltime = tltime + trtime		 #Calc. current Tool Time
       scomm_str, no_spc$, pToolPathCycleTime, no_spc$, scomm_end, e$
	   if tmin > 5.99 & tmin < 60, [if mprint(sCycleTimeCheckMinutes, 2) = 2, exitpost$]
	   if tmin > 59, [if mprint(sCycleTimeCheckHours, 2) = 2, exitpost$]
     ]
      phsm_off

      #cc_pos is reset in the toolchange here
      cc_pos$ = zero
      if convert_rpd$ = one,
        [
        gcode$ = one
        feed = maxfeedpm
        ipr_type = zero
        ]
      else, gcode$ = zero

    if tool_op$ = 19 & not(OldMR1 = 5),
             [
              result = newfs(2, z$)
              if tool_op$ = 19, "G0 G90", [z$ = z$ + 3, *z$], [if ProgramQCIO = 1, no_spc$, "(PIN CLEARANCE)"], e$
             ]

      sccomp, psub_end_mny, e$
      pcancel_rot_coord
      #pbld, sgabsinc, sgcode, [if gcode$ = 1, sgfeed], *sg28, "Z0.", [if gcode$ = 1, feed], scoolant, e$
      if strstr ("VERTICAL", sMachineDefinitionManagerDescription), # sgabsinc, sgcode,
       [
        "G53 Z0.", *sm05, e$
        "G53 Y0.", [if not(tool_op$ = 19), "M19"], protretinc, [if gcode$ = 1, feed], scoolant, e$
       ]

      if strstr ("HORI", sMachineDefinitionManagerDescription),
       [
        "G91 G28 Z0.", *sm05, e$
        "G28 Y0.", protretinc, [if gcode$ = 1, feed], scoolant, e$
       ]

#      if lock_codes = one & rot_on_x, *sunlock, sunlockcomm, e$
#      pbld, n$, *sg28, "X0.", "Y0.", protretinc, e$
#      if lock_codes = one & rot_on_x & cuttype = 0, *slock, slockcomm, e$
      if abs(fmtrnd(cabs)) > 360 & nextop$ <> 1003 & not(index),
        [
         if lock_codes = one & lock_codes = one, *UnlockPalletMCode, e$ # PALLET UNLOCK HERE 
         rotretflg = 1
         `sg28, protretinc, e$
         rotretflg = 0
         if lock_codes = one & lock_codes = one, *LockPalletMCode, e$ # PALLET LOCK HERE
        ]
      absinc$ = sav_absinc
      coolant$ = sav_coolant
      uninhibit_probe$
#EndRegion, pretract - End of tool path, toolchange

 

 

 

 

#Region, ptlchg0$ Call from NCI null tool change (tool number repeats)
ptlchg0$         #Call from NCI null tool change (tool number repeats)

      toolchng0 = one
      if op_id$ <> last_op_id,
       [
        rd_params$  # Read parameters - pparameter
        pmisccheck
       ]
      pcuttype
      toolcount = toolcount + 1
      if toolcountn <= tooltotal, nexttool = rbuf(4,toolcountn)
      else, nexttool = first_tool$
      retractflg = 0
      if (mi10$ & (op_id$ <> last_op_id | (op_id$ = last_op_id & xform_op_id$ <> op_id$)))
        | ((tlplnno$ <> last_tlplnno | rotary_type$ <> last_rotary_type) & ret_on_indx)
        | (mr1$ = 2 & op_id$ <> last_op_id & mr2$ <> last_mr2) | (rotated_coord_flg & op_id$ = xform_op_id$ & not(sub_level$)),
        [
        phsm_off
        if mi10$,
          [
          pretract
          *sm00, e$
          result = force(spdir2,spdir2)       #Force spindle output after M00
          result = force(speed,speed)         #Force speed output after M00
          ]
        else, pretract0
        retractflg = 1
        ]
      else,
        [
        if mr1$ <> last_mr1 | mr2$ <> last_mr2, phsm_off
        ]
      pcom_moveb
      pcheckaxis      #Check for valid rotary axis
      !op_id$
      inhibit_probe$
      c_mmlt$ #Multiple tool subprogram call
      comment$
      pcomment3
      #pcan
      if plane$ < 0 | opcode$ = 3 | opcode$ = 16, plane$ = 0
      if op_id$ <> last_op_id, sgplane, e$
	  
      pspindchng
      
      #if coolant$ <> 0 & coolant$ <> sav_coolant & sav_coolant, pbld, n$, sm09, e$
      #pbld, n$, scoolant, e$
      if op_id$ <> last_op_id,
       [
        cltnum = abs(t$) # Second Time Tool Sequence Counts
        if opcode$ <> 25,
         [
          ToolSequenceNumber = t$
          PToolSquenceFirstTimeUsed
          pNextM0SequenceNumber
         ]

      sav_coolant = coolant$
      coolant$ = zero #PROGRAM JUMPS COOLANT HERE
	  
#      if nextop$ = 1003, #Uncomment this line to leave coolant on until eof unless
#        [                 #  explicitely turned off through a canned text edit
        if all_cool_off,
          [
          #all coolant off with a single off code here
          if coolant_on, *sall_cool_off,
          coolant_on = zero
          ]
        else,
          [
          local_int = zero
          coolantx = zero
          while local_int < 20,
            [
            coolantx = and(2^local_int, coolant_on)
            local_int = local_int + one
            if coolantx > zero,
              [
              coolantx = local_int
              scoolantx, no_spc$
              ]
            coolantx = zero
            ]
          coolant_on = zero
          ]
#        ]

      [
       ttltime = tltime + trtime		 #Calc. current Tool Time
       scomm_str, no_spc$, pToolPathCycleTime, no_spc$, scomm_end, e$
	   if tmin > 5.99 & tmin < 60, [if mprint(sCycleTimeCheckMinutes, 2) = 2, exitpost$]
	   if tmin > 59, [if mprint(sCycleTimeCheckHours, 2) = 2, exitpost$]
      ]

      phsm_off

      if opcode$ = 3 & nextdc$ = 18 & strstr ("SER", sOperationComment),
       [
        scomm_str, no_spc$, "CHECK TRAVELER CURRENT SERIAL#", no_spc$, scomm_end, e$
        scomm_str, no_spc$, "CHANGE N9999 #501 = XX AT THE END OF THE PROGRAM", no_spc$, scomm_end, e$
       ]

         if rot_on_x,
          if (fmtrnd(cabs) <> fmtrnd(prv_cabs) | cinc) &
           (srot_label = "A" | srot_label = "B"), # Removed (fmtrnd(cabs) <> fmtrnd(prv_cabs) | cinc) &
           "(FROM", prv_cabs, no_spc$, "° TO", *cabs, no_spc$, "°)", e$
           #From B" + no2str(prvcabs) + ", to B" + no2str(curcabs)

           if rotretflg = 0 & cinc 0 <> 0.001 & ((abs(ClearancePlaneValue) - abs(OpTopOfStock)) < 2.9999) &
            srot_label = "A" & (prv_t$ = t$ | last_tool$ <> t$ | t$ = next_tool$),
            result = mprint(sIndexHeigthCheck), exitpost$, e$

           if rotretflg = 0 & cinc 0 <> 0.001& srot_label = "A" & #ClearancePlaneValue < CalculatedIndexClearanceValue &
            (prv_t$ = t$ | last_tool$ <> t$ | t$ = next_tool$),
            result = mprint(sVerticalIndexARotationHomeDemands), exitpost$, e$

           if rotretflg = 0 & cinc & srot_label = "B" & #ClearancePlaneValue < CalculatedIndexClearanceValue &
            (prv_t$ = t$ | last_tool$ <> t$ | t$ = next_tool$),
            result = mprint(sHorizontalBRotationHomeDemands), exitpost$, e$

           if srot_label = "B" & not(index) & strstr("INDEX", sOperationComment) &
            UseClearanceOnlyAtTheStartAndEndOfOperationIO = 1 &
            (prv_t$ = t$ | last_tool$ <> t$ | t$ = next_tool$) &
            (abs(ClearancePlaneValue) - abs(OpTopOfStock)) < 3,
            result = mprint(sHorizontalClearanceValueWarn), exitpost$, e$

        "(*)", e$

        *ToolSequenceNumber,  no_spc$, scomm_str, no_spc$, sOperationComment, no_spc$, ", CUT#", no_spc$, sToolPathNumber, no_spc$, scomm_end, e$
		#[if cinc & prv_cabs <> cabs & srot_label = "B" & OldMr9 = 0, [if mprint(sPalletUnLockCode, 2) = 2, exitpost$]]
		[if rot_on_x & UnlockPalletMCode > 0, *UnlockPalletMCode, e$] # UNLOCK PALLET HERE 
        "G0 G17 G90", *g_wcs, 
		[if cinc | strstr ("HOR", sMachineDefinitionManagerDescription) | sWCSPlaneName <> sToolPlaneName, *cabs, e$],
		#[if cinc & prv_cabs <> cabs & srot_label = "B" & OldMr10 = 0, [if mprint(sPalletLockCode, 2) = 2, exitpost$]]
		
        [if rot_on_x & UnlockPalletMCode > 0 & LockPalletMCode > 0, *LockPalletMCode, e$],# LOCK PALLET HERE
        pfxout, pfyout, e$ # NULL TOOL CHANGE
		
        if tcr$>0, pfspindleout, no_spc$, scomm_str, no_spc$, *t$, "-", plistcomm, [if not(tool_typ$ = 11), *tcr$, ""], no_spc$, scomm_end, e$ # TOOL RADIUS
        if tcr$=0, pfspindleout, no_spc$, scomm_str, no_spc$, *t$, "-", plistcomm, no_spc$, scomm_end, e$

        if retractflg = 0 & op_id$ <> last_op_id,  #output if not forced output above with the G43
         [
          if mr1$ > 0 | (mr1$ = 2 & mr2$ <> last_mr2), phsm1_on
          phsm2_on
         ]

        if MakinoHorizontalCellSystem = 1, tlngno$ = 1, e$
		if MatsuuraHorizontalCellSystem = 1, tlngno$ = 90, e$
		if MazakHorizontalCellSystem = 1, tlngno$ = 70, e$
        "G43", *tlngno$, pfzout, pDOC,# SECOND G43, NON TOOL CHANGE, (SAME TOOL)

        #pCircleMill, pHelix, pSlotMill, pMultiPass, pPocket, PThreadMill, pChamferCounts, pChamfer,
        e$
       ]

      if sav_mi9 = 1, workofs$ = sav_workofs
      if (wcstype > one & workofs$ <> prv_workofs$) | (tlplnno$ <> last_tlplnno) | retractflg,
        [
        if convert_rpd$ = one,
          [
          gcode$ = one
          feed = maxfeedpm
          ipr_type = zero
          ]
        sav_absinc = absinc$
        absinc$ = zero
        pindex
        if retractflg,
          [
          if safe_index,
            [
            if lock_codes = one & not(index) & rot_on_x, *UnLockPalletMCode, e$ # & cuttype = 0
            pgear, e$
            *sgcode, [if not(index), sgabsinc, pwcs], pfcout, pspindleout, e$
            if lock_codes = one & not(index) & rot_on_x & cuttype = 0, *LockPalletMCode, e$
            pfxout, pfyout, e$
            ]
          else,
            [
            if lock_codes = one & not(index) & rot_on_x, *UnLockPalletMCode, e$ # & cuttype = 0
            pgear, e$
            *sgcode, [if not(index), sgabsinc, pwcs], pfcout, pfxout, pfyout, pspindleout, e$
            if lock_codes = one & not(index) & rot_on_x & cuttype = 0, *LockPalletMCode, e$
            ]
          phsm1_on        #must remain before G43
          if MakinoHorizontalCellSystem, tlngno$ = 1, e$
		  if MatsuuraHorizontalCellSystem = 1, tlngno$ = 90, e$
		  if MazakHorizontalCellSystem = 1, tlngno$ = 70, e$          "G43", *tlngno$, pfzout, scoolant, e$
          phsm2_on        #must remain after G43
          ]
        else,
          [
          if fmtrnd(prv_cabs) <> fmtrnd(cabs),
            [
            if safe_index,
              [
              if lock_codes = one & not(index) & rot_on_x, *UnLockPalletMCode, e$ # & cuttype = 0
              [if not(index), sgabsinc, pwcs], pfcout, e$
              if lock_codes = one & not(index) & rot_on_x & cuttype = 0, *LockPalletMCode, e$
              pfxout, pfyout, e$
              ]
            else,
              [
              if lock_codes = one & not(index) & rot_on_x, *UnLockPalletMCode, e$
              [if not(index), sgabsinc, pwcs], pfcout, pfxout, pfyout, e$
              if lock_codes = one & not(index) & rot_on_x & cuttype = 0, *LockPalletMCode, e$
              ]
            pfzout, e$
            ]
          else,
            [
            sgabsinc, [if not(index), pwcs], pfxout, pfyout, pfzout, pcout, e$ # SUB PROGRAM HERE, EXTRA VAUE HERE
            ]
          ]
        pe_inc_calc
        ps_inc_calc
        absinc$ = sav_absinc
        ]
        
      #if lock_codes = one & cuttype <> last_cuttype & cuttype > 0, *UnLockPalletMCode, e$
      #if cuttype = zero, ppos_cax_lin
      #if lock_codes = one & cuttype <> last_cuttype & cuttype = 0 & fmtrnd(prv_cabs) = fmtrnd(cabs), *LockPalletMCode, e$
      if gcode$ = one, plinout
      else, prapidout
      pcom_movea
      
      #if retractflg = 0 & op_id$ <> last_op_id,  #output if not forced output above with the G43
        #[
        #if mr1$ <> 2 | (mr1$ = 2 & mr2$ <> last_mr2), phsm1_on
        #phsm2_on
        #]
        
      c_msng$ #Single tool subprogram call
      plast
      toolchng0 = zero
#EndRegion, ptlchg0$ Call from NCI null tool change (tool number repeats)
  • Haha 1
  • Huh? 1
Link to comment
Share on other sites

You are really out there in your thought process I give you that. What determines your excess run time pop up? What factors were taking into account to make that determination? Material characteristics? Overall length, width and height of the part? Depthness of features? Rigidity of tools, holders ,machines, fixtures, material stiffness, plasticity, thermal growth, tooling efficiency? Wear factors? Tool Life management? Wrong Material? Out of balance holder? Coolant PH? Coolant temperature? 1000 TSC? Coolant Chiller? Someone having a bad day? Power outages? Acts of God? Where does your post take just this small fraction of items and consider them when putting up that?

  • Thanks 1
Link to comment
Share on other sites
24 minutes ago, crazy^millman said:

You are really out there in your thought process I give you that. What determines your excess run time pop up? What factors were taking into account to make that determination? Material characteristics? Overall length, width and height of the part? Depthness of features? Rigidity of tools, holders ,machines, fixtures, material stiffness, plasticity, thermal growth, tooling efficiency? Wear factors? Tool Life management? Wrong Material? Out of balance holder? Coolant PH? Coolant temperature? 1000 TSC? Coolant Chiller? Someone having a bad day? Power outages? Acts of God? Where does your post take just this small fraction of items and consider them when putting up that?

 

CrazyMillMan,
   I have dealt with some truly hardheaded setup men.  When I do a spot drill (even with 90 degrees) and not calculate right for the depth as I was wrong within .005" he screams the entire floor.  Forgetting coolant, the entire company would know.  Wrong holder type, he stopped the machine.  That is why I have so many checks in my check list.



Thank you for your suggestion and I really appreciate that,
   S.Luong

Link to comment
Share on other sites
44 minutes ago, S.Luong said:

 

CrazyMillMan,
   I have dealt with some truly hardheaded setup men.  When I do a spot drill (even with 90 degrees) and not calculate right for the depth as I was wrong within .005" he screams the entire floor.  Forgetting coolant, the entire company would know.  Wrong holder type, he stopped the machine.  That is why I have so many checks in my check list.



Thank you for your suggestion and I really appreciate that,
   S.Luong

Those are completely different that what you are currently showing here.

image.png.63e371ad3d5c710fef1b89f4c606f61d.png

Tool Long Improve it!!

This is what I am referring to.

Link to comment
Share on other sites

Holymoly! How can you possibly leave it up to a post processor to determine if a toolpath is taking too long? 

Ron asked some extremely valid questions r.e. what defines "too long" ??

Also, if your setup guy is a hothead mayhaps have a chat with HR. That kind of behavior is not only dumb, it can cost the company a lot in lost personnel and/or lawsuits for abuse.

And please, for the love of God, never EVER post giant walls of text like that again.

  • Thanks 1
  • Haha 2
Link to comment
Share on other sites

I ran X+ from Gunther.

1x click and it would give "cycle time"  for each path. And overall part.

And what the G5X work offset was called for each op.

And whether coolant was called or not for each tool. 

And speed and feed for each tool called.

And H And D for that tool.

1x click and within a second it was all there on the screen, so no searching etc. Right in front of you....  🤷‍♂️

  • Thanks 1
Link to comment
Share on other sites
On 1/3/2025 at 3:32 PM, Mr. Saturday said:

Holymoly! How can you possibly leave it up to a post processor to determine if a toolpath is taking too long? 

Ron asked some extremely valid questions r.e. what defines "too long" ??

Also, if your setup guy is a hothead mayhaps have a chat with HR. That kind of behavior is not only dumb, it can cost the company a lot in lost personnel and/or lawsuits for abuse.

And please, for the love of God, never EVER post giant walls of text like that again.

 

Good morning Mr.Saturday,
   Thanks for your feedback.  In the past I have reported to HR 4 time as being harassed, it was only good for only 2 weeks and things happening again. If I choose to stay with the company, I would use my own post to "debug" everything by myself then using the company's post to generate the g-codes.  Honestly, it works for me in this case.

 

 

Have a great day,
   S.Luong 

  • Thanks 1
Link to comment
Share on other sites
On 1/3/2025 at 11:34 PM, Newbeeee™ said:

I ran X+ from Gunther.

1x click and it would give "cycle time"  for each path. And overall part.

And what the G5X work offset was called for each op.

And whether coolant was called or not for each tool. 

And speed and feed for each tool called.

And H And D for that tool.

1x click and within a second it was all there on the screen, so no searching etc. Right in front of you....  🤷‍♂️

 

Hello Newbee,
   I got the same ideas as you said (10 years ago), it's just my own format. 

ps: please see below

 

Thank you for your feedback.

++++++++++++++++

image.png.486fbfb70f2483496cb5fef6df5dceaa.png

Link to comment
Share on other sites
8 minutes ago, S.Luong said:

In the past I have reported to HR 4 time as being harassed, it was only good for only 2 weeks and things happening again

4 times? They have proven history.

Report it. Every. Single. Time. 

If they don't fix it, you have legal options. Or you can find work elsewhere. 

I, for one, would never work under those conditions. I can leave here today and have another job before I got home. You are smart enough to be able to do the same. You have the advantage.

  • Like 4
Link to comment
Share on other sites
18 hours ago, Mr. Saturday said:

4 times? They have proven history.

Report it. Every. Single. Time. 

If they don't fix it, you have legal options. Or you can find work elsewhere. 

I, for one, would never work under those conditions. I can leave here today and have another job before I got home. You are smart enough to be able to do the same. You have the advantage.

Hello Mr. Saturday,

   I don't have tons  of money to hire a law firm to sue them. All I need is waiting a right time when economy getting better I California and then just give them 2 weeks notice. 

Although I have about 13 years experience of CNC (5 YEARS setup, 8 years programming) but I still need to hone up my skill much more to be able to compete to others.

In California, San Jose there are many more canidates as 30 years and 40 years experience.

 

Thanks.

Link to comment
Share on other sites
1 hour ago, S.Luong said:

Hello Mr. Saturday,

   I don't have tons  of money to hire a law firm to sue them. All I need is waiting a right time when economy getting better I California and then just give them 2 weeks notice. 

Although I have about 13 years experience of CNC (5 YEARS setup, 8 years programming) but I still need to hone up my skill much more to be able to compete to others.

In California, San Jose there are many more canidates as 30 years and 40 years experience.

 

Thanks.

you are really smart sir, have you thought about doing contract work? 

  • Like 2
Link to comment
Share on other sites
5 hours ago, S.Luong said:

Hello Mr. Saturday,

   I don't have tons  of money to hire a law firm to sue them.

Although I have about 13 years experience of CNC (5 YEARS setup, 8 years programming) but I still need to hone up my skill much more to be able to compete to others.

In California, San Jose there are many more canidates as 30 years and 40 years experience.

 

Thanks.

Might want to remove the one line I deleted out of the quote. I did the same thing 21 years ago complaining about where I was working on this forum. A former employee who out of the goodness of his heart shared my comments to the owners trying to get me fired. It just so happened he wanted his old job back and had nothing to do with that according to him. He just wanted the owners to know I was unhappy working there. You are a known person by many on this forum and sorry, but they are back actors lurking on this forum and might need to remove that from your response. If you cannot PM Gcode and see if he can get one of the admins to help.

  • Like 2
Link to comment
Share on other sites
4 hours ago, Mr. Saturday said:

In California lawyers will line up to take a suit like that and only bill you if you win.

Chris is right. You could do contract work as well.

Hello Mr. Saturday, 

   I admired for your suggestions. I am a normal man who wants a normal job. When things getting complicated, I'll just wait for the right moment to get a better environment, better pay.

 

All the suing things, they (the company) have billions, I have pennies. They have good great lawyers, I am even strungle to pay any will over a thousand dollars (hahaha).

 

Thanks.

 

  • Like 1
Link to comment
Share on other sites
38 minutes ago, S.Luong said:

Hello Mr. Saturday, 

   I admired for your suggestions. I am a normal man who wants a normal job. When things getting complicated, I'll just wait for the right moment to get a better environment, better pay.

 

All the suing things, they (the company) have billions, I have pennies. They have good great lawyers, I am even strungle to pay any will over a thousand dollars (hahaha).

 

Thanks.

 

Doing battle with a big company like that in court would not be easy.

However, the one "big" company I worked for would absolutely, positively NOT allow that guy to continue with his attitude.  They would shut that xxxx down immediately. Kind of surprised the company you're at would let it continue.

  • Thanks 1
Link to comment
Share on other sites
7 hours ago, CNC CHRIS said:

you are really smart sir, have you thought about doing contract work? 

CNC CHRIS,
   Thank you for your kind words.  As myself, I have tried and I did not get much money for side job.  It's just because they expect "perfect programming not just good enough".  That is why I need to hone my skills up to the level as you guys here in this form then I dare to make a move for the great money.



Thankful for the words,
   S,Luong 

Link to comment
Share on other sites
15 hours ago, S.Luong said:

As myself, I have tried and I did not get much money for side job.  It's just because they expect "perfect programming not just good enough"

"perfect program doesnt exist" but i wish you the best of luck, 

  • Thanks 3
  • Like 2
Link to comment
Share on other sites

Hello CNC CHRIS,
   I do agree with you and in reality is different.  I remember when I was doing side job for the shop, the expect me to write the program then let the operator press the GREEN BUTTON after setting up all tools and pick up the work offsets.

  That is why I had so many checks for my post such as:

If T# and H# not the same, don't post
    (sometimes MasterCam having this issue when old file being open to the new version)

If the same tool with different rotations, ensure to "FORCE TOOL CHANGE"
  a. They had one buy and forgot to do that, the spindle crashed into the part

If the operation comment is "FINISH", ensure leave on wall is "0" (in most cases)
If the cycle is too long, then comeback to check!!!
if coolant is not on, warn (in most cases)

I can go on, go on and on as the checks.  The shop expects these to be a safe proof program and easy to run without calling the programmer.
 

PS: I even had to create a setup sheet which pictures are the most and words are less.
      They hired non-English speakers, so I had to find the way to communicate with them
      through setup sheets and tools sheets.

Thanks.

Link to comment
Share on other sites
On 1/7/2025 at 11:42 AM, crazy^millman said:

Might want to remove the one line I deleted out of the quote. I did the same thing 21 years ago complaining about where I was working on this forum. A former employee who out of the goodness of his heart shared my comments to the owners trying to get me fired. It just so happened he wanted his old job back and had nothing to do with that according to him. He just wanted the owners to know I was unhappy working there. You are a known person by many on this forum and sorry, but they are back actors lurking on this forum and might need to remove that from your response. If you cannot PM Gcode and see if he can get one of the admins to help.


CrazyMillMan,
   If I dare to say it, I dare to take the consequences.  Thank you for your suggestions.


Thanks.

  • Like 2
Link to comment
Share on other sites
On 1/7/2025 at 3:12 PM, S.Luong said:

CNC CHRIS,
   Thank you for your kind words.  As myself, I have tried and I did not get much money for side job.  It's just because they expect "perfect programming not just good enough".  That is why I need to hone my skills up to the level as you guys here in this form then I dare to make a move for the great money.



Thankful for the words,
   S,Luong 

Great money might be out there for some doing it, but I could make a lot more working for a company with paid benefits, insurance and other things. The fact I am working for myself and can spend time with my family is what makes up for the money I am not making. That and the fact I am to honest and tell it like it is.

On 1/8/2025 at 6:27 AM, CNC CHRIS said:

"perfect program doesnt exist" but i wish you the best of luck, 

Exactly. I always give my best but perfection is never obtained.

  • Like 1
Link to comment
Share on other sites
10 hours ago, crazy^millman said:

Great money might be out there for some doing it, but I could make a lot more working for a company with paid benefits, insurance and other things. The fact I am working for myself and can spend time with my family is what makes up for the money I am not making. That and the fact I am to honest and tell it like it is.

Exactly. I always give my best but perfection is never obtained.

 

I guess I don't have many connections s as others. I only work, go home, sleep, eat, the next day working again and nothing else.

That is why I don't do contract job with limited connections. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

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...