QQ登录

只需一步,快速开始

快捷登录

登录 或者 注册 请先

UG爱好者

 
搜索
查看: 8002|回复: 22
打印 上一主题 下一主题

[分享] 分享一段代码

[复制链接]

少校

Rank: 6Rank: 6

19

主题

237

帖子

7568

积分
跳转到指定楼层
楼主
发表于 2024-2-1 15:57:07 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 tombai691019 于 2024-2-1 17:33 编辑

在旧版后处理构造器中可以加代码使每个工序都输出换刀命令,在换刀命令后面可以写代码输出Zmax,Zmin等。现在玩PC的少了,新版后理配置器中怎么在每个工序都输出换刀命令,并在换刀命令后输出Zmax,Zmin,刀号,刀具直径及刀补信息。这样可以使程序更容易看懂,每个工序都是什么刀具在加工及刀补信息。这里分享可以实现这个功能的代码。与旧版构造器相比,实现相同功能,后处理配置更方便,代码相对来说简单一些(把代码粘上来)
代码段1
MOM_do_template tool_change
global mom_tool_name zmin zmax Tnumber Tname  Tdd Tddd d_cutcom xystock zstock mom_stock_floor mom_stock_type mom_operstion_type mom_stock_part mom_tool_type tool_type
set zmin     [LIB_SPF_get_pretreatment limit,z,min 0 ]
set zmax     [LIB_SPF_get_pretreatment limit,z,max 0 ]
set Tnumber  [LIB_SPF_get_pretreatment mom_tool_number 0 ]
set Tname    [LIB_SPF_get_pretreatment mom_tool_name 0 ]
set Tdd      [LIB_SPF_get_pretreatment mom_tool_cutcom_register 0 ]
set d_cutcom [LIB_SPF_get_pretreatment mom_cutcom_type 0 ]
set tool_type [LIB_SPF_get_pretreatment mom_tool_type 0 ]

if { $d_cutcom == 0 } {
   set Tddd "D-"
} else {
  set Tddd "D$Tdd"
}
MOM_output_literal "([format "%-2s %-3s %-3s %-10s %-7s" T$Tnumber $Tname $Tddd Zmin=$zmin Zmax=$zmax])"

if {$mom_tool_type == "Drilling Tool"} {
      set xystock 0
      set zstock  0
} else {
if { [info exists mom_stock_part]} {
          set xystock  [LIB_SPF_get_pretreatment mom_stock_part 0 ]        
    }

if {[info exists mom_stock_floor]} {
if {[info exists mom_stock_part_use]} {
if { $mom_stock_part_use == 1} {
#底部余量:
set zstock   [LIB_SPF_get_pretreatment mom_stock_part 0]
  return
}
}
#底部余量:
set zstock   [LIB_SPF_get_pretreatment mom_stock_floor 0]
}
MOM_output_literal "(XYstock=[format "%.2f" $xystock],Zstock= [format "%.2f" $zstock ])"
#MOM_do_template tool_change
}


代码段2
proc MOM_first_move_LIB_ENTRY {position} {
   switch -- $position {
      "start"
      {      
        #Your code before the event goes here
         MOM_force once T
         MOM_do_template tool_change
        global mom_tool_name zmin zmax Tnumber Tname  Tdd Tddd d_cutcom xystock zstock mom_stock_floor mom_stock_type mom_operstion_type mom_stock_part mom_tool_type tool_type
             set zmin     [LIB_SPF_get_pretreatment limit,z,min 0 ]
             set zmax     [LIB_SPF_get_pretreatment limit,z,max 0 ]
             set Tnumber  [LIB_SPF_get_pretreatment mom_tool_number 0 ]
             set Tname    [LIB_SPF_get_pretreatment mom_tool_name 0 ]
             set Tdd      [LIB_SPF_get_pretreatment mom_tool_cutcom_register 0 ]
             set d_cutcom [LIB_SPF_get_pretreatment mom_cutcom_type 0 ]
             set tool_type [LIB_SPF_get_pretreatment mom_tool_type 0 ]
        if { $d_cutcom == 0 } {
                      set Tddd "D-"
           } else {
                set Tddd "D$Tdd"
           }
          MOM_output_literal "([format "%-2s %-3s %-3s %-10s %-7s" T$Tnumber $Tname $Tddd Zmin=$zmin Zmax=$zmax])"

         if {$mom_tool_type == "Drilling Tool"} {
            set xystock 0
            set zstock  0
         } else {
         if { [info exists mom_stock_part]} {
            set xystock  [LIB_SPF_get_pretreatment mom_stock_part 0 ]        
         }

        if {[info exists mom_stock_floor]} {
        if {[info exists mom_stock_part_use]} {
        if { $mom_stock_part_use == 1} {
#底部余量:
            set zstock   [LIB_SPF_get_pretreatment mom_stock_part 0]
       return
       }
       }
#底部余量:
            set zstock   [LIB_SPF_get_pretreatment mom_stock_floor 0]
       }
        MOM_output_literal "(XYstock=[format "%.2f" $xystock],Zstock= [format "%.2f" $zstock ])"
#MOM_do_template tool_change
       }
         MOM_force once G_motion G_mysys G_mode G_adjust H S M M_spindle M_coolant Z X Y T F_mytap Q_mytap
         MOM_do_template rapid_move_first_move
         #MOM_force once G_adjust H S M M_spindle M_coolant Z X Y T
         MOM_do_template rapid_move_first_G43

      }
      "end"
      {
         #Your code after the event goes here
         # MOM_force once T
         #MOM_do_template tool_change
         #MOM_force once G_motion G_mode G_adjust H S M M_spindle M_coolant Z X Y T
        #MOM_do_template rapid_move_first_move
         #MOM_force once G_adjust H S M M_spindle M_coolant Z X Y T
        # MOM_do_template rapid_move_first_G43
      }
   }
}


后处理结果.png (333.22 KB, 下载次数: 53)

后处理结果.png

后处理结果2.png (351.76 KB, 下载次数: 41)

后处理结果2.png

程序头也输出刀单信息.png (364.98 KB, 下载次数: 52)

程序头也输出刀单信息.png

有奖推广贴子: 

回复

使用道具 举报

二级士官

Rank: 2

2

主题

13

帖子

360

积分
25#
发表于 2024-7-14 17:55:39 | 只看该作者
怎么我的钻头识别zmin,老是平面的坐标,不是钻的深度?
回复 支持 反对

使用道具 举报

少校

Rank: 6Rank: 6

19

主题

237

帖子

7568

积分
24#
 楼主| 发表于 2024-7-6 14:09:38 | 只看该作者
丶唯一的存在 发表于 2024-7-5 21:56
哪一段代码是第一段代码.另一段又是第二段代码?

如果想要我的原文件后处理,可以跟你换一个四轴带PUI的可修改的后处理。我的原文件里面有很多代码是自已花了很多时间做的,不想公开。有做过配置器的花些时间也可以看懂我的代码。我的QQ:290323591。
回复 支持 反对

使用道具 举报

中尉

Rank: 5Rank: 5

13

主题

222

帖子

4094

积分
23#
发表于 2024-7-5 21:56:16 | 只看该作者
哪一段代码是第一段代码.另一段又是第二段代码?
回复 支持 反对

使用道具 举报

少校

Rank: 6Rank: 6

19

主题

237

帖子

7568

积分
22#
 楼主| 发表于 2024-7-5 09:01:04 | 只看该作者
丶唯一的存在 发表于 2024-7-4 21:11
请问这段代码添加在哪个位置?

第一段代码放换刀命令后面,第二段代码随便放哪里都行,只要在你的文件中都可以。这里是PC配置器代码。
回复 支持 反对

使用道具 举报

中尉

Rank: 5Rank: 5

13

主题

222

帖子

4094

积分
21#
发表于 2024-7-4 21:11:48 | 只看该作者
请问这段代码添加在哪个位置?
回复 支持 反对

使用道具 举报

中尉

Rank: 5Rank: 5

10

主题

170

帖子

3598

积分
20#
发表于 2024-7-4 18:59:29 | 只看该作者
這麽一大段,看着有点头晕呀
回复 支持 反对

使用道具 举报

少校

Rank: 6Rank: 6

19

主题

237

帖子

7568

积分
18#
 楼主| 发表于 2024-7-3 18:14:37 | 只看该作者
青春。论未来。 发表于 2024-7-3 16:28
大神,这代码怎么有的读取不了啊

没看到后处理,不知道什么读不了?
回复 支持 反对

使用道具 举报

中尉

Rank: 5Rank: 5

11

主题

447

帖子

4812

积分
17#
发表于 2024-7-3 16:28:31 | 只看该作者
tombai691019 发表于 2024-2-1 16:02
在编辑,这么快就看到了

大神,这代码怎么有的读取不了啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

 
 
QQ:1359218528
工作时间:
9:00-17:00
 
微信公众号
手机APP
机械社区
微信小程序

手机版|UG爱好者论坛 ( 京ICP备10217105号-2 )    论坛管理员QQ:1359218528

本站信息均由会员发表,不代表本网站立场,如侵犯了您的权利请联系管理员,邮箱:1359218528@qq.com  

Powered by UG爱好者 X3.2  © 2001-2014 Comsenz Inc. GMT+8, 2024-9-24 17:52

返回顶部