QQ登录

只需一步,快速开始

快捷登录

登录 或者 注册 请先

UG爱好者

查看: 1968|回复: 32
打印 上一主题 下一主题

[分享] 刀具余量信息输出,基本可以算完整吧,哪里不对希望指正

[复制链接]

中尉

Rank: 5Rank: 5

17

主题

218

帖子

4663

积分
跳转到指定楼层
楼主
发表于 2024-8-24 11:42:54 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
之前发过贴,求助论坛的坛友有关余量代码信息, 通过论坛朋友不断的提醒帮助,(当然自己还是不会写),用百度AI算是给写出来了, 测试也没有发现什么问题,先把以前大多数人用的代码和问题说出来。   这个差不多是之前多数人用的代码和问题。   
global mom_stock_part mom_stock_floor mom_operation_type
if { ![info exists mom_stock_floor] } {
set mom_stock_floor 0
} else {
if { $mom_operation_type != "Point to Point" && $mom_operation_type != "Drilling" } {
MOM_output_literal "(XY=[string trimright [format "%.2f" $mom_stock_part] "0"]mm Z=[string trimright [format "%.2f" $mom_stock_floor] "0"]mm)"
}
} 这个是修改后的代码
global mom_stock_floor mom_stock_part mom_wall_stock mom_stock_part_use
global sidestock floorstock mom_operation_type




if {[info exists mom_stock_part]} {
    set sidestock $mom_stock_part
   
    if {[info exists mom_wall_stock] && $mom_wall_stock != 0} {
        set sidestock $mom_wall_stock
    }
} else {
   
    set sidestock 0
}




if {[info exists mom_stock_floor]} {
   
    if {[info exists mom_stock_part_use] && $mom_stock_part_use == 1 && [info exists mom_stock_part]} {
        set floorstock $mom_stock_part
    } else {
        
        set floorstock $mom_stock_floor
    }
} else {
   
    set floorstock 0
}




if {([info exists sidestock] && $sidestock != 0) || ([info exists floorstock] && $floorstock != 0)} {
    if {$mom_operation_type != "Point to Point" && $mom_operation_type != "Drilling"} {
      
        MOM_output_literal "(XY=[string trimright [format "%.2f" $sidestock] "0"]mm Z=[string trimright [format "%.2f" $floorstock] "0"]mm)"
    }
}



有奖推广贴子: 

回复

使用道具 举报

中尉

Rank: 5Rank: 5

17

主题

218

帖子

4663

积分
来自 6#
 楼主| 发表于 2024-8-24 14:33:17 | 只看该作者
global mom_stock_floor mom_stock_part mom_wall_stock mom_stock_part_use
global sidestock floorstock mom_operation_type


if {[info exists mom_stock_part]} {
    set sidestock $mom_stock_part
   
    if {[info exists mom_wall_stock] && $mom_wall_stock != 0} {
        set sidestock $mom_wall_stock
    }
} else {
   
    set sidestock 0
}


if {[info exists mom_stock_floor]} {
   
    if {[info exists mom_stock_part_use] && $mom_stock_part_use == 1 && [info exists mom_stock_part]} {
        set floorstock $mom_stock_part
    } else {
        
        set floorstock $mom_stock_floor
    }
} else {
   
    set floorstock 0
}


if {([info exists sidestock] && $sidestock != 0) || ([info exists floorstock] && $floorstock != 0)} {
    if {$mom_operation_type != "Point to Point" && $mom_operation_type != "Drilling"} {
      
        MOM_output_literal "(XY=[string trimright [format "%.2f" $sidestock] "0"]mm Z=[string trimright [format "%.2f" $floorstock] "0"]mm)"
    }
}
回复 支持 反对

使用道具 举报

中尉

Rank: 5Rank: 5

17

主题

218

帖子

4663

积分
来自 28#
 楼主| 发表于 2024-9-1 09:34:26 | 只看该作者
不知道为代码哪里有问题会出现以下情况,                                                   

global mom_operation_type
global mom_stock_part
global mom_stock_floor
global mom_stock_part_use
global xy xy1 z1



if {![info exists mom_stock_floor]} {
    set mom_stock_floor 0
}


if {![info exists mom_stock_part]} {
    set xy 0
} else {
    set xy1 $mom_stock_part
}


if {![info exists mom_stock_part_use] || $mom_stock_part_use != 1} {

    if {$mom_operation_type != "Point to Point" && $mom_operation_type != "Drilling"} {
        MOM_output_literal "(XY= [format "%.2f" $mom_stock_part]mm Z= [format "%.2f" $mom_stock_floor]mm)"
    }
} else {

    set xy1 $mom_stock_part
    set z1 $mom_stock_part
    MOM_output_literal "(XY= [format "%.2f" $xy1]mm Z= [format "%.2f" $z1]mm)"
}

回复 支持 反对

使用道具 举报

中尉

Rank: 5Rank: 5

1

主题

338

帖子

4208

积分
33#
发表于 2024-9-10 10:18:14 来自手机 | 只看该作者
jianfeng13148 发表于 2024-8-28 09:05
余量,好像只能显示0.02 如果是0.015,就是0了
可以了后加改成3位数就可以了

%.2f改成%.3f就是3位小数
回复 支持 反对

使用道具 举报

少校

Rank: 6Rank: 6

8

主题

600

帖子

7772

积分
32#
发表于 2024-9-10 07:22:10 | 只看该作者
有的mom前面的$符号都没了,你们用着不报错么?
回复 支持 反对

使用道具 举报

中校

Rank: 7Rank: 7Rank: 7

6

主题

732

帖子

1万

积分
31#
发表于 2024-9-9 22:55:44 | 只看该作者
本帖最后由 ping3721 于 2024-9-9 23:03 编辑
ping3721 发表于 2024-8-30 21:23
你好,你这个我试了下,同一把刀粗精余量不同,后处理全部显示开始的粗余量信息,后面设置的精余量信息就 ...
这是从别的地方抄过来的,用起来还没发现问题,可以代理之前的代码,同一把刀不同余量现示不同,钻头不现示余量


global mom_stock_part mom_stock_floor mom_operation_type
if { ![info exists mom_stock_floor] } {
set mom_stock_floor 0
} else {
if { $mom_operation_type != "Point to Point" && $mom_operation_type != "Drilling" } {
MOM_output_literal "(XY=[format "%.3f" $mom_stock_part]mm Z=[format "%.3f" $mom_stock_floor]mm)"
}
}

sp20240909_230135.png (45.45 KB, 下载次数: 1)

sp20240909_230135.png
回复 支持 反对

使用道具 举报

少校

Rank: 6Rank: 6

20

主题

263

帖子

8044

积分
30#
发表于 2024-9-1 10:28:03 | 只看该作者
张思颖 发表于 2024-9-1 09:34
不知道为代码哪里有问题会出现以下情况,                                                   

global  ...

你在代码开始的地方给XY,XY1,Z给初值0试试。是不是这些变量在内存中没有清除后面继续赋值时乱了。
回复 支持 反对

使用道具 举报

六级士官

Rank: 4

0

主题

24

帖子

1806

积分
29#
发表于 2024-9-1 10:19:32 | 只看该作者
厉害,向大神学习了!
回复 支持 反对

使用道具 举报

中尉

Rank: 5Rank: 5

17

主题

218

帖子

4663

积分
27#
 楼主| 发表于 2024-9-1 09:21:33 | 只看该作者
ping3721 发表于 2024-8-30 21:23
你好,你这个我试了下,同一把刀粗精余量不同,后处理全部显示开始的粗余量信息,后面设置的精余量信息就 ...

我这几天也发现了这个问题,还不知道怎么解决,我把代码变了也不行,global mom_operation_type
global mom_stock_part
global mom_stock_floor
global mom_stock_part_use
global xy xy1 z1



if {![info exists mom_stock_floor]} {
    set mom_stock_floor 0
}


if {![info exists mom_stock_part]} {
    set xy 0
} else {
    set xy1 $mom_stock_part
}


if {![info exists mom_stock_part_use] || $mom_stock_part_use != 1} {

    if {$mom_operation_type != "Point to Point" && $mom_operation_type != "Drilling"} {
        MOM_output_literal "(XY= [format "%.2f" $mom_stock_part]mm Z= [format "%.2f" $mom_stock_floor]mm)"
    }
} else {

    set xy1 $mom_stock_part
    set z1 $mom_stock_part
    MOM_output_literal "(XY= [format "%.2f" $xy1]mm Z= [format "%.2f" $z1]mm)"
}

回复 支持 反对

使用道具 举报

少尉

Rank: 5Rank: 5

33

主题

521

帖子

2208

积分
26#
发表于 2024-8-31 10:58:45 | 只看该作者
NX的二开,太费劲,不友好,建议学学PM的二开框架。
回复 支持 反对

使用道具 举报

少校

Rank: 6Rank: 6

16

主题

314

帖子

8058

积分
25#
发表于 2024-8-31 09:25:51 | 只看该作者
其实你应该这样发代码就不会乱了。
  1. global mom_stock_floor mom_stock_part mom_wall_stock mom_stock_part_use
  2. global sidestock floorstock mom_operation_type


  3. if {[info exists mom_stock_part]} {
  4.     set sidestock $mom_stock_part

  5.     if {[info exists mom_wall_stock] && $mom_wall_stock != 0} {
  6.         set sidestock $mom_wall_stock
  7.     }
  8. } else {

  9.     set sidestock 0
  10. }


  11. if {[info exists mom_stock_floor]} {

  12.     if {[info exists mom_stock_part_use] && $mom_stock_part_use == 0 && [info exists mom_stock_part]} {
  13.         set floorstock $mom_stock_part
  14.     } else {

  15.         set floorstock $mom_stock_floor
  16.     }
  17. } else {

  18.     set floorstock 0
  19. }


  20. if {([info exists sidestock] && $sidestock != 0) || ([info exists floorstock] && $floorstock != 0)} {
  21.     if {$mom_operation_type != "Point to Point" && $mom_operation_type != "Drilling"} {

  22.         MOM_output_literal "(XY=[string trimright [format "%.2f" $sidestock] "0"]mm Z=[string trimright [format "%.2f" $floorstock] "0"]mm)"
  23.     }
  24. }
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

 
 
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-10 00:45

返回顶部