.NC文件的G代码程序仿真软件 求大佬帮忙看看程序哪里出问题了 窗口程序集名 | 保 留 | 保 留 | 备 注 | 口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | 当前X坐标 | 小数型 | | 当前Y坐标 | 小数型 | | 加工速度 | 小数型 | |
画板1.左边 = 10 画板1.顶边 = 10 画板1.宽度 = 500 画板1.高度 = 500 按钮1.标题 = “选择.NC 文件”按钮1.左边 = 10 按钮1.顶边 = 520 按钮1.宽度 = 100 按钮1.高度 = 30 按钮1.可视 = 真 按钮2.标题 = “开始”按钮2.左边 = 按钮1.左边 + 按钮1.宽度 + 10 按钮2.顶边 = 520 按钮2.宽度 = 100 按钮2.高度 = 30 按钮2.可视 = 真 当前X坐标 = 0 当前Y坐标 = 0 加工速度 = 1 通用对话框1.过滤器 = “NC 文件(*.nc)|*.nc”如果真 (通用对话框1. 打开 ()) 编辑框1.内容 = 到文本 (读入文件 (通用对话框1.文件名 )) 变量名 | 类 型 | 静态 | 数组 | 备 注 | 目标X | 小数型 | | | 目标Y | 小数型 | | | 步长X | 小数型 | | | 步长Y | 小数型 | | | 运动时间 | 小数型 | | | 如果真 (指令关键字 = “G00”) 当前X坐标 = 取数值参数 (参数部分, “X”)当前Y坐标 = 取数值参数 (参数部分, “Y”)如果真 (指令关键字 = “G01”) 目标X = 取数值参数 (参数部分, “X”)目标Y = 取数值参数 (参数部分, “Y”)运动时间 = 距离 (当前X坐标, 当前Y坐标, 目标X, 目标Y ) ÷ 加工速度 步长X = (目标X - 当前X坐标 ) ÷ 运动时间 步长Y = (目标Y - 当前Y坐标 ) ÷ 运动时间 判断循环首 (运动时间 > 0 )当前X坐标 = 当前X坐标 + 步长X 当前Y坐标 = 当前Y坐标 + 步长Y 画板1. 画点 (到整数 (当前X坐标 ), 到整数 (当前Y坐标 ), )延迟 (100 ) 运动时间 = 运动时间 - 0.1 判断循环尾 () 返回 (真)变量名 | 类 型 | 静态 | 数组 | 备 注 | 参数位置 | 整数型 | | | 参数值文本 | 文本型 | | |
参数位置 = 寻找文本 (参数文本, 轴标识 + “”, , 假)如果真 (参数位置 > 0 )参数值文本 = 取文本中间 (参数文本, 参数位置 + 1, )返回 (到数值 (参数值文本 )) 信息框 (“未找到指定轴标识对应的参数”, #错误图标, , )返回 (0 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 差值X | 小数型 | | | 差值Y | 小数型 | | | 距离 | 小数型 | | |
差值X = x2 - x1 差值Y = y2 - y1 距离 = 求平方根 (差值X × 差值X + 差值Y × 差值Y )返回 (距离 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 指令行数组 | 文本型 | | 0 | 指令关键字 | 文本型 | | | 参数部分 | 文本型 | | | i | 整数型 | | | 起始位置 | 小数型 | | | 剩余长度 | 小数型 | | |
指令行数组 = 分割文本 (编辑框1.内容, #换行符, ) 计次循环首 (取数组成员数 (指令行数组 ), i )指令关键字 = 取文本左边 (指令行数组 [i ], 寻找文本 (指令行数组 [i ], “ ”, , 假)) 起始位置 = 寻找文本 (指令行数组 [i ], “ ”, , 假) + 1 如果真 (起始位置 > 0 )剩余长度 = 取文本长度 (指令行数组 [i ]) - 起始位置 + 1 如果真 (剩余长度 > 0 )参数部分 = 取文本中间 (指令行数组 [i ], 起始位置, 剩余长度 ) 参数部分 = “默认参数值” 处理G指令 (指令关键字, 参数部分 )计次循环尾 ()
|