QQ登录

只需一步,快速开始

快捷登录

登录 或者 注册 请先

UG爱好者

查看: 50978|回复: 631
打印 上一主题 下一主题

[分享] [代码分享]再度降低你的编程失误风险!不同刀具使用相同刀号时出现提示

  [复制链接]

版主

闪光的蜗牛

Rank: 10Rank: 10Rank: 10

18

主题

510

帖子

1万

积分

论坛元老

跳转到指定楼层
楼主
发表于 2019-4-8 16:38:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 destiny0515 于 2019-4-8 16:45 编辑

有人(就是我)在编程时由于粗心,出现不同刀具却用了同一个刀号的情况,轻则废活废刀,重则撞机。
前阵子看到有人提出来这个问题,可是大神们懒得细说,萌新们又找不到门径。我班门弄斧的写了一些代码,经过测试可用。那么就把代码放在这里,大神可以给些建议,萌新拿去学习,欢迎大家讨论,共同进步。觉得好的同学们给个赞吧
效果图:

[第一个刀具]下任意位置插入下段代码(如果第一个刀具没有内容则跳过此段):
global mom_tool_number mom_tool_name
global tn tNo
set tn [list $mom_tool_name]
set tNo [list $mom_tool_number]


[自动换刀]下任意位置插入下段代码:
global mom_tool_number mom_tool_name
global tn tNo
if {[lsearch $tn $mom_tool_name]==-1} {
lappend tn $mom_tool_name
if {[lsearch $tNo $mom_tool_number]!=-1} {
MOM_display_message "\n\n 闪光蜗牛提示:刀具 $mom_tool_name 与其他刀具使用了相同刀具号 请确认\n\n"
}
lappend tNo $mom_tool_number
}


补充内容 (2019-4-9 10:02):
129楼更新代码:提示相同的两把刀具名称,可更快捷的知道哪把刀出现错误输入

补充内容 (2019-4-9 13:17):
注:此代码中的“MOM_display_message”只能在NX9.0及以上版本使用,如果是低版本,可以替换为“MOM_abort”

补充内容 (2019-4-13 09:15):
更正一处错误:主贴中第一段代码在无论[第一个刀具]有无内容,均需插入,可降低报错的可能性。感谢@zhaopengg的反馈。

补充内容 (2019-6-3 01:12):
559楼更新代码:原代码在一定条件下会误报重复刀号,请直接跳至559楼使用新代码。
感谢大家的反馈。

点评

大神,有没有什么代码用公差或者余量来控制出,开粗公差0.03以上G5.1 Q1 R1;精加工公差0.01以下出G5.1 Q1 R10  发表于 2021-8-4 02:30
ENEN!  发表于 2019-4-13 18:41
你好.能分享下你收集的MOM代码的介绍吗  发表于 2019-4-8 18:59

评分

参与人数 12G币 +106 元宝 +1 收起 理由
NX_PM制作后处理 + 3 分享加分!
iyowey + 3 楼主是大神!膜拜!
mezhangyj + 2 不错!有一定水平
UG—爱好者 + 3 有BUG,如果是程序头输出刀具清单,会出错.
lixiaowei03 + 3 楼主是大神!膜拜!
相思无用* + 10 分享加分!
西瓜虫 + 10 分享加分!
xie76646687* + 15 大佬帮我看下我的这个是什么情况?213楼
3D世界网-零 + 50 + 1 分享加分!
房小箭 + 3 不错,支持你!
gn02362507 + 3 分享加分!
442592633 + 1 不错,支持你!

查看全部评分

有奖推广贴子: 

回复

使用道具 举报

版主

闪光的蜗牛

Rank: 10Rank: 10Rank: 10

18

主题

510

帖子

1万

积分

论坛元老

来自 2#
 楼主| 发表于 2019-6-3 00:51:56 | 只看该作者
本帖最后由 destiny0515 于 2019-6-3 01:04 编辑
gn02362507 发表于 2019-6-2 21:57
一次后处理多个刀具及刀号时且不按照顺序,提醒刀具名称有误。

经过一段时间的测试,发现贴中代码在一些情况下会有bug出现。经过向前辈请教,更正了代码,并在小圈子内进行了测试,暂未出现误报情况。
本次使用了[数组]命令,使得代码更加精简。

使用以下代码时,需移除本帖中已使用的其他所有代码。将以下代码插入至"工序起始序列">>"刀轨开始"下。


global mom_tool_number mom_tool_name tool_seq tool_name_array tool_num_array
if {![info exists tool_seq]} {
    set tool_seq 0
}
set tool_name_array($tool_seq) $mom_tool_name
set tool_num_array($tool_seq) T[format "%.2d" $mom_tool_number]
set i 0
while {$i<$tool_seq} {
    if {$tool_num_array($i)=="T[format "%.2d" $mom_tool_number]"} {
        incr tool_seq -1
        if {![string equal $tool_name_array($i) $mom_tool_name]} {
            MOM_display_message "闪光蜗牛提示:刀具 $mom_tool_name 与\
$tool_name_array($i) 使用了相同刀具号 请检查"
        }
    }
    incr i
}
incr tool_seq

评分

参与人数 1G币 +2 收起 理由
378625256 + 2 这个回答对我有用,赞一个!

查看全部评分

回复 支持 4 反对 0

使用道具 举报

三级士官

Rank: 3Rank: 3

3

主题

72

帖子

563

积分
推荐
发表于 2019-4-24 13:12:54 来自手机 | 只看该作者
destiny0515 发表于 2019-4-24 06:23
语法有错误。你复制过去后,不要修改,点确定试试

这个厉害了  而且高级  最主要好玩  哈哈哈

IMG_20190424_130912.jpg (182.93 KB, 下载次数: 454)

IMG_20190424_130912.jpg

IMG_20190424_130858.jpg (140.99 KB, 下载次数: 364)

IMG_20190424_130858.jpg

IMG_20190424_130852.jpg (142.48 KB, 下载次数: 338)

IMG_20190424_130852.jpg

IMG_20190424_130846.jpg (122.19 KB, 下载次数: 452)

IMG_20190424_130846.jpg
回复 支持 3 反对 1

使用道具 举报

版主

闪光的蜗牛

Rank: 10Rank: 10Rank: 10

18

主题

510

帖子

1万

积分

论坛元老

推荐
 楼主| 发表于 2019-4-9 09:47:59 | 只看该作者
本帖最后由 destiny0515 于 2019-4-9 10:07 编辑
jianfeng13148 发表于 2019-4-8 18:14
能同时提示与那把刀相同就好了

经过测试,这个功能已经实现
将主贴第二段代码替换为以下:
global mom_tool_number mom_tool_name
global tn tNo
if {[lsearch $tn $mom_tool_name]==-1} {
lappend tn $mom_tool_name
if {[lsearch $tNo $mom_tool_number]!=-1} {
set st [string first "$mom_tool_number" $tNo]
if {[expr $st > 0]} {
set st [expr $st - 1]
}
set sn [lindex $tn $st]
MOM_display_message "\n\n 闪光蜗牛提示:刀具 $mom_tool_name 与 $sn 使用了相同刀具号 请确认\n\n"
}
lappend tNo $mom_tool_number
}




补充内容 (2019-6-3 01:05):
以上代码在一定条件下会出bug,请使用559楼的新代码
回复 支持 1 反对 1

使用道具 举报

二级士官

Rank: 2

1

主题

36

帖子

470

积分
推荐
发表于 2019-9-7 18:48:44 | 只看该作者
花了不少工夫才把新方案的代码看明白。感觉新方案(使用数组+while语句)其实效率不如原方案(使用列表)。假设有很多条刀路,那么靠后的刀路判断次数过多。在极端情况下,如果有100条路且所用刀具都不重复的话,那么第100刀路需要判断100次;第99条刀路要判断99次。以此类推。即便是有重复的刀具,刀库也一共只有14支刀,那么靠后的刀路也还是会判断14次。这么多次判断,执行效率应该不如旧方案。
回复 支持 1 反对 0

使用道具 举报

少校

Rank: 6Rank: 6

19

主题

447

帖子

9799

积分
推荐
发表于 2019-8-28 07:44:30 | 只看该作者
destiny0515 发表于 2019-6-3 00:51
经过一段时间的测试,发现贴中代码在一些情况下会有bug出现。经过向前辈请教,更正了代码,并在小圈子内 ...

这条代码每个操作都会提示一次,要是100个就会提示100次这样会浪费时间。要是把它修改成相同刀具提示后就不再提醒就好啦
回复 支持 1 反对 0

使用道具 举报

版主

闪光的蜗牛

Rank: 10Rank: 10Rank: 10

18

主题

510

帖子

1万

积分

论坛元老

推荐
 楼主| 发表于 2019-4-22 17:30:03 来自手机 | 只看该作者
(ˇˇ)彬~ 发表于 2019-4-22 14:52
假如需要不同刀具名用同一个刀好怎么办

这个是提示功能,不是报警,所以还是会正常的出程序

评分

参与人数 1G币 +3 收起 理由
乔丙胜 + 3 原创加分!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

少校

Rank: 6Rank: 6

1

主题

639

帖子

7731

积分
推荐
发表于 2019-4-9 11:12:51 | 只看该作者
645+45+45+45+45
回复 支持 0 反对 1

使用道具 举报

二级士官

Rank: 2

0

主题

34

帖子

300

积分
10#
发表于 2019-4-8 16:57:41 | 只看该作者
RE: [代码分享]再度降低你的编程失误风险!不同刀具使用相同刀号时出现提示 [修改]

点评

呵呵,不错哦!  发表于 2019-4-9 11:03
回复 支持 反对

使用道具 举报

少将

Rank: 8Rank: 8

4

主题

522

帖子

1万

积分
11#
发表于 2019-4-8 17:06:48 | 只看该作者
自己动手丰衣足食
回复 支持 反对

使用道具 举报

上校

Rank: 7Rank: 7Rank: 7

51

主题

2052

帖子

1万

积分
13#
发表于 2019-4-8 17:14:58 | 只看该作者
不同刀具使用相同刀号时出现提示
回复 支持 反对

使用道具 举报

上尉

Rank: 6Rank: 6

6

主题

310

帖子

6871

积分
16#
发表于 2019-4-8 17:24:26 | 只看该作者
谢谢楼主的无私分享
回复 支持 反对

使用道具 举报

大校

Rank: 8Rank: 8

25

主题

1189

帖子

1万

积分

活跃会员

17#
发表于 2019-4-8 17:25:49 来自手机 | 只看该作者
学习        
回复 支持 反对

使用道具 举报

上尉

Rank: 6Rank: 6

5

主题

1061

帖子

5510

积分
18#
发表于 2019-4-8 17:34:18 | 只看该作者
谢谢分享@!!@!@
回复 支持 反对

使用道具 举报

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

本版积分规则

 
 
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-11-24 23:41

返回顶部