Tualar 发表于 2025-5-23 00:01:52

手把手教你制作新代220M-5 Plus五轴机床U380后处理(四)

20.修改"运动->快速移动"事件:
(1).编辑G94 G00 G90 rap1 rap2 rap3行中的G00元素,去掉"格式->编辑->输出前导零"选项前面的√。
(2).找到PB_CMD_check_plane_change_for_swiveling行,编辑代码如下:
   global dpp_ge
   global mom_out_angle_pos
   global mom_prev_out_angle_pos
   global mom_cycle_rapid_to_pos
   global mom_cycle_feed_to_pos
   global mom_cycle_retract_to_pos
   global mom_pos
   global mom_cycle_rapid_to
   global mom_cycle_retract_to
   global mom_cycle_feed_to
   global mom_cutcom_adjust_register
   global mom_mcs_goto
   global mom_pos mom_prev_pos
   global save_mom_kin_machine_type
   global mom_kin_machine_type
   global mom_tool_axis
   global mom_result
   if { || } {
      return
   }
   if {$dpp_ge(toolpath_axis_num)=="3" && $dpp_ge(sys_coord_rotation_output_type)=="SWIVELING"} {
   if {} {
      if {!} {
         set mom_prev_out_angle_pos(0) 0.0
         set mom_prev_out_angle_pos(1) 0.0
      }
      if {! ||\
            !} {
         set dpp_ge(coord_rot)
         if {} {
            for {set i 0} {$i<3} {incr i} {
               set dpp_ge(coord_offset,$i) $offset($i)
               set dpp_ge(coord_rot_angle,$i) $angle($i)
            }
            if {! ||\
                  ! ||\
                  ! } {
               if {} {
                  MOM_force once G_cutcom D
               }
               MOM_force once G_adjust H X Y Z
               VMOV 3 pos mom_pos
               MOM_reload_variable -a mom_pos
               MOM_do_template swiveling_coord_rot
               MOM_do_template auto_align_rotary_axis
               MOM_do_template three_plus_two_suppress CREATE
               for {set i 0} {$i<3} {incr i} {
                  set dpp_ge(prev_coord_rot_angle,$i) $dpp_ge(coord_rot_angle,$i)
               }
            }
         } else {
                if {} {
                   MOM_force once G_cutcom D
                }
                MOM_force once G_adjust H
                set dpp_ge(prev_coord_rot_angle,0) 0
                set dpp_ge(prev_coord_rot_angle,1) 0
                set dpp_ge(prev_coord_rot_angle,2) 0
                DPP_GE_RESTORE_KINEMATICS
                if {"1" == } {
                   set i 0
                   foreach value $mom_result {
                      set mom_pos($i) $value
                      incr i
                   }
                }
                MOM_reload_variable -a mom_pos
                MOM_force Once fourth_axis fifth_axis
             }
          }
       }
    }
(3).找到PB_CMD_check_plane_change_for_wcs_rotation行,编辑代码如下:
   global dpp_ge
   global mom_out_angle_pos
   global mom_prev_out_angle_pos
   global mom_cycle_rapid_to_pos
   global mom_cycle_feed_to_pos
   global mom_cycle_retract_to_pos
   global mom_pos
   global mom_cycle_rapid_to
   global mom_cycle_retract_to
   global mom_cycle_feed_to
   global mom_cutcom_adjust_register
   global mom_mcs_goto
   global save_mom_kin_machine_type
   global mom_tool_axis
   global mom_result
   global mom_prev_pos
   if { $save_mom_kin_machine_type=="5_axis_dual_table" || ||\
          || $dpp_ge(coord_rot) == "LOCAL"} {
      return
   }
   if {$dpp_ge(toolpath_axis_num)=="3" && $dpp_ge(sys_coord_rotation_output_type)=="WCS_ROTATION"} {
      if {!} {
         set mom_prev_out_angle_pos(0) 0.0
         set mom_prev_out_angle_pos(1) 0.0
      }
      if {! || !} {
         set dpp_ge(coord_rot)
         if {} {
            MOM_force once G_cutcom D
         }
         MOM_force once G_adjust H X Y Z
         if {} {
            for {set i 0} {$i<3} {incr i} {
               set dpp_ge(g68_first_vec,$i) $g68_first_vec($i)
               set dpp_ge(g68_second_vec,$i) $g68_second_vec($i)
               set dpp_ge(coord_offset,$i) $coord_offset($i)
               set dpp_ge(coord_offset2,$i) 0
               set dpp_ge(coord_rot_angle,$i) $coord_rot_angle($i)
               set dpp_ge(prev_g68_first_vec,$i) $dpp_ge(g68_first_vec,$i)
               set dpp_ge(prev_g68_second_vec,$i) $dpp_ge(g68_second_vec,$i)
               set dpp_ge(prev_coord_offset,$i) $dpp_ge(coord_offset,$i)
               set dpp_ge(prev_coord_rot_angle,$i) $dpp_ge(coord_rot_angle,$i)
               set mom_pos($i) $pos($i)
            }
            MOM_reload_variable -a mom_pos
            MOM_do_template initial_move_rotation
            if {} {
               if {! || ! || !} {
                  VMOV 3 g68_second_vec g68_first_vec
                  set dpp_ge(g68_first_vec,0) $g68_first_vec(0)
                  set dpp_ge(g68_first_vec,1) $g68_first_vec(1)
                  set dpp_ge(g68_first_vec,2) $g68_first_vec(2)
                  set coord_rot_angle(0) $coord_rot_angle(1)
                  MOM_force once rotate_X rotate_Y rotate_Z rotate_i rotate_j rotate_k rotate_r
                  MOM_do_template g68_first_coord_rot
               } elseif {!} {
                      MOM_force once rotate_X rotate_Y rotate_Z rotate_i rotate_j rotate_k rotate_r
                      MOM_do_template g68_second_coord_rot
                   }
            } elseif {} {
                   MOM_force once rotate_X rotate_Y rotate_Z rotate_i rotate_j rotate_k rotate_r
                   MOM_do_template g68_first_coord_rot
                } else {
                     MOM_force once rotate_X rotate_Y rotate_Z rotate_i rotate_j rotate_k rotate_r
                     MOM_do_template g68_first_coord_rot
                     MOM_force once rotate_X rotate_Y rotate_Z rotate_i rotate_j rotate_k rotate_r
                     MOM_do_template g68_second_coord_rot
                  }
         } else {
                for {set i 0} {$i<3} {incr i} {
                   set $dpp_ge(prev_g68_first_vec,$i) 0
                   set $dpp_ge(prev_g68_second_vec,$i) 0
                   set $dpp_ge(prev_coord_offset,$i) 0
                   set $dpp_ge(prev_coord_rot_angle,$i) 0
                }
                DPP_GE_RESTORE_KINEMATICS
                if {"1" == } {
                   set i 0
                   foreach value $mom_result {
                      set mom_pos($i) $value
                      incr i
                   }
                }
                MOM_reload_variable -a mom_pos
                MOM_do_template initial_move_rotation
            }
      }
   }

a547775071 发表于 2025-5-23 09:18:26

感谢分享

xinruyu369 发表于 2025-5-29 17:53:40

多谢分享,楼主是真的厉害

战士* 发表于 2025-5-31 17:25:24

谢谢分享好好学习
页: [1]
查看完整版本: 手把手教你制作新代220M-5 Plus五轴机床U380后处理(四)