昨天让豆包生成了一个卧加坐标转换宏,请大家帮忙看看
; 转台B轴旋转+分中备份一体化宏程序(马扎克专用); 核心逻辑:
; 1. B=0°:将当前G54主坐标系的分中值自动备份到G54 P1(首次分中/回零恢复)
; 2. B≠0°:读取G54 P1备份值+G54 P4旋转中心,补偿G54主坐标系(加工用)
; 3. G54=加工坐标系,G54 P1=分中备份,G54 P4=旋转中心(固定)
; 调用方式:
; - 分中/回零:G65 Pxxxx B0.0
; - 旋转补偿:G65 Pxxxx B[角度] (如G65 P9000 B45.0)
; ====================== 第一步:读取并处理B轴角度 ======================
#130=#102 ; 读取传入的B轴角度(G65 Bxxx → #102)
#130=FUP[#130*1000]/1000 ; 角度四舍五入到千分位,避免0°误判
; ====================== 第二步:读取固定参数 ======================
#5321=#5281 ; 读取G54 P4的X轴旋转中心(固定,无需修改)
#5322=#5282 ; 读取G54 P4的Y轴旋转中心(固定)
#5323=#5283 ; 读取G54 P4的Z轴旋转中心(固定)
; ====================== 第三步:B=0°逻辑(分中备份+恢复原始坐标系) ======================
IF[#130 EQ 0.0] THEN
; 1. 读取当前G54主坐标系的分中值(你手动分中后的G54值)
#200=#5201 ; #5201=G54主坐标系(无P)X值(马扎克专用变量)
#201=#5202 ; #5202=G54主坐标系Y值
#202=#5203 ; #5203=G54主坐标系Z值
; 2. 将分中值备份到G54 P1(永久保存,作为补偿基准)
G90G10L2P1X#200Y#201Z#202
; 3. 强制将G54主坐标系恢复为分中原始值(确保0°时无补偿)
G90G10L2P0X#200Y#201Z#202; P0=G54主坐标系
; 4. 激活G54主坐标系,结束程序
G54
M99
ENDIF
; ====================== 第四步:B≠0°逻辑(旋转补偿G54主坐标系) ======================
; 1. 读取G54 P1的分中备份值(不再读取实时G54,避免覆盖)
#200=#5241 ; #5241=G54 P1 X值
#201=#5242 ; #5242=G54 P1 Y值
#202=#5243 ; #5243=G54 P1 Z值
; 2. 计算旋转前偏移基准(旋转中心 - 分中备份值)
#206=#5321-#200; X轴偏移基准
#207=#201 ; Y轴无补偿
#208=#5323-#202; Z轴偏移基准
; 3. 旋转坐标核心计算(绕Y轴旋转)
#211=#206*COS[#130]-#208*SIN[#130]; 旋转后X理论偏移值
#212=#207 ; Y轴无偏移
#213=#206*SIN[#130]+#208*COS[#130]; 旋转后Z理论偏移值
; 4. 计算补偿差值
#214=#211-#206; X轴补偿差值
#215=#207 ; Y轴无补偿
#216=-#213+#208 ; Z轴补偿差值
; 5. 更新G54主坐标系(加工用,不修改P1)
G90G10L2P0X[-#214+#200]Y#215Z[#216+#202]
; 6. 强制激活G54主坐标系(确保加工用)
G54
; ====================== 第五步:程序结束 ======================
M99; 宏程序结束
我对宏程序不是很了解。没有太多经验。还劳烦大家帮忙提提意见
看不懂,不能太相信豆包吧?:o iuyinxiao001 发表于 2026-3-2 12:11
看不懂,不能太相信豆包吧?
根据其他卧加转换宏让豆包改的 直接VT就好 完全看不懂...我太差了. 狂冰暗影* 发表于 2026-3-2 18:20
直接VT就好
新手一枚还没学,一直都是用三轴还没学VT 我找AI改过后处理,还是需要自己手改部分东西 qingxiansen1 发表于 2026-3-3 15:33
我找AI改过后处理,还是需要自己手改部分东西
用AI 怎么改后处理? 564650752 发表于 2026-3-3 19:35
用AI 怎么改后处理?
找到要改的位置,说出改的要求:lol 我用DEEP SEEK改过,怎么说呢,勉强能用,但是也要手动改,BUG还是有的
页:
[1]
2