找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 3441|回复: 33

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

[复制链接]

18

主题

218

回帖

5174

积分

上尉

积分
5174
发表于 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)"
}
} 1.png 2.jpg 3.png 4.jpg 这个是修改后的代码
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)"
    }
} 5.jpg 6.jpg 7.jpg 8.jpg



18

主题

218

回帖

5174

积分

上尉

积分
5174
 楼主| 发表于 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)"
    }
}

18

主题

218

回帖

5174

积分

上尉

积分
5174
 楼主| 发表于 2024-9-1 09:34:26 | 显示全部楼层
不知道为代码哪里有问题会出现以下情况,                               11.png                     

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)"
}

18

主题

142

回帖

1000

积分

六级士官

积分
1000
发表于 2025-4-25 06:59:37 | 显示全部楼层
能分享一波吗

1

主题

335

回帖

4278

积分

中尉

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

%.2f改成%.3f就是3位小数

10

主题

778

回帖

8862

积分

少校

积分
8862
发表于 2024-9-10 07:22:10 | 显示全部楼层
有的mom前面的$符号都没了,你们用着不报错么?{:titter:}

6

主题

726

回帖

1万

积分

中校

积分
12854
发表于 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

21

主题

291

回帖

8650

积分

少校

积分
8650
发表于 2024-9-1 10:28:03 | 显示全部楼层
张思颖 发表于 2024-9-1 09:34
不知道为代码哪里有问题会出现以下情况,                                                   

global  ...

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

0

主题

38

回帖

2149

积分

少尉

积分
2149
发表于 2024-9-1 10:19:32 | 显示全部楼层
厉害,向大神学习了!

18

主题

218

回帖

5174

积分

上尉

积分
5174
 楼主| 发表于 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)"
}

49

主题

841

回帖

3626

积分

中尉

积分
3626
发表于 2024-8-31 10:58:45 | 显示全部楼层
NX的二开,太费劲,不友好,建议学学PM的二开框架。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

咨询QQ:1359218528|发帖须知!|Archiver|手机版|小黑屋|UG爱好者论坛 ( 京ICP备10217105号-2 )

GMT+8, 2025-7-15 06:00

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表