iCAx开思网

标题: 问题:UGPostBuilder中如何实现下面的要求 [打印本页]

作者: phoenixhow    时间: 2006-3-30 15:47
标题: 问题:UGPostBuilder中如何实现下面的要求
暂时不讨论刀具使用的合理性,
下面是我做的后处理,有几处有问题,请老大们指点
( Date          : Thu Mar 30 14:48:12 2006 )
( Programmer    : phoenixhow )
( Part File Name: F:\0wt\test1.prt )
(===============================================================================================)
(                                   T O O L   L I S T                                           )
(===============================================================================================)
(                                                                                               )
(-----------------------------------------------------------------------------------------------)
(MILL                 DESCRIPTION          DIAMETER   COR RAD    FLUTE LEN  ADJ REG             )
(-----------------------------------------------------------------------------------------------)
(D25R5                MILL                 25.0000    5.0000     50.0000    0         )
(D16R4                MILL                 16.0000    4.0000     50.0000    0         )
(D12R1                MILL                 12.0000    1.0000     50.0000    0         )
(===============================================================================================)
% (Phoenixhow_Tech.  By phoenixhow. Date: Thu Mar 30 14:48:12 2006)
O0100 (test1.nc F:\0wt\test1.prt)
G21 G40 G17 G90
(ToolName=D25R5 D=10.00 R=5.00 F=50.00 L=75.00)
N0002 G28 G91 Z0.0
T00 M06
N0004 G00 G90 X4.579 Y.926 S1600 M03
G43 Z20. H00
............
............
G00 Z20.
(Operation Machine Time: 42.33)
(ToolName=D16R4 D=16.00 R=4.00 F=50.00 L=75.00)
N7584 G28 G91 Z0.0
T00 M06
N7586 G00 G90 X-123.134 Y6.399 S2500 M03
G43 Z20. H00
............
............
G00 Z20.
(Operation Machine Time: 54.23)
(ToolName=D12R1 D=12.00 R=1.00 F=50.00 L=75.00)
N7810 G28 G91 Z0.0
T00 M06
N7812 G00 G90 X107.026 Y-35.354 S3300 M03
G43 Z20. H00
............
............
G00 Z20.
(Operation Machine Time: 42.31)
N8254 M30
% (Phoenixhow_Tech.  By phoenixhow. Date: Thu Mar 30 14:48:12 2006)
(cutting_time: 103.3min)
(total machine time: 138.9min)
其一,生成日期不不符合我国的习惯,可以改成全数字形式的,
       Date: Thu Mar 30 14:48:12 2006
其二,在每个操作内生成的刀具信息,第一把刀的刀具信息总是出错,显示的实际值是程序最后一把刀具的具体参数
      (ToolName=D25R5 D=10.00 R=5.00 F=50.00 L=75.00)
其三,对于做模具与产品来说编程有不同的特点,
      我想在此做两个后处理:
            一个不输出刀具补偿的后处理,
            一个 要输出刀具补偿
以上几点,不知怎样处理比较合适,请与指点,先谢了

另在UG PostBuilder中如何在程序末生成极限加工区域,就是下面的XYZ的极限值
N2420 M30
%
(Total machine time:  41.522  Min)
(Xmin:  -161.000  Xmax:  161.000  )
(Ymin:  -151.364  Ymax:  150.177  )
(Zmin:  -39.000  Zmax:  20.000  )
作者: weihehe    时间: 2006-3-30 22:55
标题: 试试我能不能解决
兄弟,你好,我也研究后处理很久了。
对于你的第一个问题:输出的第一把刀是参数最后一把刀具的参数,是因为你用了UG附送的输出TOOL LIST的缘故,因为那个程序执行完,把所有刀具输出以后,刀具自然变成了最后一把刀。你可以做一些修改,具体怎么改,我也没时间去研究。
对于你的第二个问题:只要加一些变量和  if 语句就行了。
有机会多交流。weihehe10031@hotmail.com
作者: phoenixhow    时间: 2006-3-31 21:52
谢谢提醒,我知道是读取了最后一把刀的参数,但不知道具体如何修改,
PB有自带的极限加工区域参数,但无法正常输出相应参数,不知何故?
作者: weihehe    时间: 2006-3-31 22:23
标题: 你没设初始值
你应试在程式最前面把极限值定一个初值,最大值给-999,最小值给999,或绝对值再给大点也无妨
作者: phoenixhow    时间: 2006-3-31 22:44
以下是PB自带的极限区域的程序,但我就是无法使其显示相应的值

  global mom_sys_max_travel
   global mom_sys_min_travel
   global mom_kin_x_axis_limit
   global mom_kin_y_axis_limit
   global mom_kin_z_axis_limit
   global mom_pos
   global mom_cycle_rapid_to_pos
   global mom_cycle_feed_to_pos
   global mom_cycle_retract_to_pos
   global mom_motion_type
   global mom_warning_info

   if {![info exists mom_sys_max_travel]} {

      for {set i 0} {$i < 3} {incr i} {

         set mom_sys_max_travel($i) $mom_pos($i)
         set mom_sys_min_travel($i) $mom_pos($i)
      }

   } elseif {$mom_motion_type == "CYCLE"} {

      for {set i 0} {$i < 3} {incr i} {

         if {$mom_cycle_rapid_to_pos($i) < $mom_sys_min_travel($i)} {
            set mom_sys_min_travel($i) $mom_cycle_rapid_to_pos($i)
         }
         if {$mom_cycle_rapid_to_pos($i) > $mom_sys_max_travel($i)} {
            set mom_sys_max_travel($i) $mom_cycle_rapid_to_pos($i)
         }
         if {$mom_cycle_feed_to_pos($i) < $mom_sys_min_travel($i)} {
            set mom_sys_min_travel($i) $mom_cycle_feed_to_pos($i)
         }
         if {$mom_cycle_feed_to_pos($i) > $mom_sys_max_travel($i)} {
            set mom_sys_max_travel($i) $mom_cycle_feed_to_pos($i)
         }
         if {$mom_cycle_retract_to_pos($i) < $mom_sys_min_travel($i)} {
            set mom_sys_min_travel($i) $mom_cycle_retract_to_pos($i)
         }
         if {$mom_cycle_retract_to_pos($i) > $mom_sys_max_travel($i)} {
            set mom_sys_max_travel($i) $mom_cycle_retract_to_pos($i)
         }
      }
   } else {
   
      for {set i 0} {$i < 3} {incr i} {
         if {$mom_pos($i) < $mom_sys_min_travel($i)} {
            set mom_sys_min_travel($i) $mom_pos($i)
         }
         if {$mom_pos($i) > $mom_sys_max_travel($i)} {
            set mom_sys_max_travel($i) $mom_pos($i)
         }
      }
   }

   if {[expr $mom_sys_max_travel(0) - $mom_sys_min_travel(0)] > $mom_kin_x_axis_limit} {
      set mom_warning_info "Maximum X axis travel exceeded, did not alter output"
      MOM_catch_warning
   }

   if {[expr $mom_sys_max_travel(1) - $mom_sys_min_travel(1)] > $mom_kin_y_axis_limit} {
      set mom_warning_info "Maximum Y axis travel exceeded, did not alter output"
      MOM_catch_warning
   }

   if {[expr $mom_sys_max_travel(2) - $mom_sys_min_travel(2)] > $mom_kin_z_axis_limit} {
      set mom_warning_info "Maximum Z axis travel exceeded, did not alter output"
      MOM_catch_warning
   }
作者: phoenixhow    时间: 2006-4-2 20:28
各位老大帮帮忙啊,有礼了
作者: phoenixhow    时间: 2006-5-2 22:56
自己顶,希望不要就此沉了
作者: camlearning    时间: 2006-5-3 18:09
我的在UG PostBuilder中实现程序末生成极限加工区域的方法。
1.在start of program 下插入PB_CMD_program_posi_limit_define(是自己定义的BLOCK)
作者: camlearning    时间: 2006-5-3 18:10
2.  PB_CMD_program_posi_limit_define的内容如下
作者: camlearning    时间: 2006-5-3 18:11
3.在end of program下插入PB_CMD_program_posi_limit_define
作者: camlearning    时间: 2006-5-3 18:13
4.PB_CMD_program_posi_limit_define内容如下
作者: camlearning    时间: 2006-5-3 18:15
5.在PB_CMD_before_motion下加入PB_CMD_program_posi_limit_calculate
作者: camlearning    时间: 2006-5-3 18:21
6.自己创建一BLOCK  PB_CMD_program_posi_limit_calculate内容如下

[ 本帖最后由 camlearning 于 2006-5-3 18:22 编辑 ]
作者: camlearning    时间: 2006-5-3 18:27
按以上几个步骤就可以了。
在PB_CMD_program_posi_limit_define中的初始值设定可以根据你机床的行程进行调整
         set max_x                                 -9999.9
         set min_x                                  9999.9
         set max_y                                 -9999.9
         set min_y                                  9999.9
         set max_z                                 -9999.9
         set min_z                                  9999.9
可以设为更大,更小的数值。
作者: CLBCNC    时间: 2008-8-28 09:24

作者: seiko    时间: 2009-10-12 09:05
这个好贴,不看后悔啊,郁闷的是没人给楼主加分?

本帖最后由 seiko 于 2009-11-19 16:38 编辑
作者: wupengcheng    时间: 2009-10-12 09:22

作者: winmy    时间: 2009-10-15 09:47
是啊,后处理的深度显示不好搞好,
希望照楼主的方法可以搞定
作者: winmy    时间: 2009-10-15 22:06
搞不好,还是和以前一样
希望楼主能将做好的后处理文件放到论坛里,给我们下载,或者做个教程给我们看看
作者: 进明    时间: 2009-11-20 13:26
顶起
作者: full_bloom    时间: 2009-11-20 16:37
我也碰到过那个刀具显示的问题,最后无奈把刀具表放到程序的最后,希望哪位牛人能彻底解决一下哈
作者: yungezi    时间: 2009-11-24 17:17
camlearning
看得不是很明白。
自己创建一BLOCK  PB_CMD_program_posi_limit_calculate 这一个要放在那里啊?
在PB_CMD_before_motion加入了PB_CMD_program_posi_limit_calculate 这句后,好像没有调用PB_CMD_before_motion。看到这这里我就不明白怎么弄了。请赐教一下
作者: yungezi    时间: 2009-11-24 17:27
好像重复了?
第1步.在start of program 下插入PB_CMD_program_posi_limit_define怎么在第3步还是
3.在end of program下插入PB_CMD_program_posi_limit_define呢??这里都重复了。不明白啊
作者: yungezi    时间: 2009-11-25 16:50
camlearning
快点出来解答啊
作者: yungezi    时间: 2009-11-26 08:52
camlearning
我顶他出来~!
作者: SWORDINHAND    时间: 2009-12-21 16:51
好东西要顶
作者: wdxdyx    时间: 2009-12-22 09:36
camlearning 发表于 2006-5-3 18:21
6.自己创建一BLOCK  PB_CMD_program_posi_limit_calculate内容如下

[ 本帖最后由 camlearning 于 2006-5-3 18:22 编辑 ]



在end of program下插入吧
作者: l168    时间: 2010-1-2 22:33
ddddddddddddddddddddddddddddddd
作者: yungezi    时间: 2011-10-8 03:02
camlearning
这位大哥,都已经几年了还是没有出来解答,到底怎么回事啊?
作者: 范玉忠    时间: 2011-10-8 10:33
顶起 我也不会
作者: yangsen4000    时间: 2017-3-22 11:25
yungezi 发表于 2009-11-24 17:27
好像重复了?
第1步.在start of program 下插入PB_CMD_program_posi_limit_define怎么在第3步还是
3.在en ...

第三步没有重复第三步是PB_CMD_program_posi_limit_display

作者: a8012024    时间: 2017-10-17 06:30
谢谢分享,
作者: dhwdxy    时间: 2019-2-2 19:29

谢谢分享,
作者: a8012024    时间: 2019-2-6 17:40
谢谢分享,




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3