找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
打印 上一主题 下一主题

[原创] 后处理是这样写滴

[复制链接]
头像被屏蔽
11
发表于 2006-8-17 21:50:22 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽
12
发表于 2006-8-20 16:56:57 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
13
发表于 2006-8-21 05:41:20 | 只看该作者
今天接着来,NCI。这个NCI么,其实结构是非常简单的。打开一个NCI文件,会发现它是以每两行作为一个功能结构。MP语言在读取NCI的时候也是两行两行的读取的。例如:

1
41 1.5 2.5 -0.125 3.2

每两行中的第一行,只有一个参数,而且和控制器代码(G Code)有不少相似之处,比方说, 1代表直线移动,0代表快速移动,2代表顺时针圆弧移动,81代表钻孔过程开始等等。但是不可将这两种G Code混淆起来。两行中的第二行,就是对应第一行G Code的参数行。每个G Code所对应的参数各不相同,而且同一个G Code在不同的加工过程(车削,铣削等)中参数也不相同。在上面的例子中,具体的每个参数的意义如下:

铣削
参数                含义                对应系统变量                预定值
1                刀径补偿        cc / ccomp                40-取消 41-左补偿 42-右补偿 140-最后移动时取消
2                X位置                x / xnci
3                Y位置                y / ynci
4                Z位置                z / znci
5                进刀速率        fr                         正值-速率 -1-不变 -2-快速移动
6(可选)                控制标志        cur_cflg               

车削
参数                含义                对应系统变量                预定值
1                刀径补偿        cc / ccomp                40-取消 41-左补偿 42-右补偿 140-最后移动时取消
2                Z位置                z / znci
3                X位置                x / xnci
4                置空
5                进刀速率        fr                         正值-每分钟进给量 负值-每周进给量
6(可选)                控制标志        cur_cflg               

MP语言在处理刀路信息的时候,先读取NCI的G Code, 然后根据读取到的G Code去调用相应的预定义后处理块。比方说,如果读到的G Code是0,就会调用prapid或pzrapid。然后,第二行的参数就会储存到相应的系统预定义变量中,用来输出或做相关的计算。大体上这就是Mstercam用后处理把NCI翻译成机器代码的简要过程。

不过,说起来挺容易,具体里面怎么跑的可没法子一句话说得清楚。这么多的NCI代码,这么多的后处理块,看起来都TMD头晕。如果各位老大不怕头晕的话,嘿嘿,下面我来讲怎么输出相关信息来了解这整个翻译的过程。用文本编辑器打开后处理器,找到这一块:

fastmode    : yes   #Enable Quick Post Processing, (set to no for debug)
bug1        : 2     #0=No display, 1=Generic list box, 2=Editor
bug2        : 40    #Append postline labels, non-zero is column position?
bug3        : 0     #Append whatline number to each NC line?
bug4        : 1     #Append NCI line number to each NC line?

bug1,不要动他,2就好了。

bug2比较重要。如果是一个非零正值的话,在输出机器代码的时候,会把输出这一行所被调用的第一个后处理块的名称附上。因为一个后处理块可以调用其他的后处理块,所以如果还有其他的后处理块被调用的话,最后一个被调用的后处理块的名称也会被附上。这些附加信息输出的起始列数就是所属入的非零正值数。在上面的例子中,第一个和最后一个被调用的后处理块名称输出开始于第四十列。


如果是一个非零负值的话,所有被调用的后处理块名称都会被输出,不论有没有输出机器代码。这是非常有用的,有助于了解后处理里面的逻辑是怎么跑的,但是,结果有时候会变得非常非常的长。当然,如果bug2是零的话这些附加信息就没有了。

bug3,不要管他,没啥用,历史原因留在这里,保持零就好了

bug4,另一个很重要的参数。如果为1的话,会输出当前所到的NCI文件的行数。对比NCI文件就可以知道后处理逻辑跑到什么地方了。设为其他值另有用处,以后再说。

以上这些调试信息,如果fastmode是yes或1的时候是不会出现的。把fastmode改为no或0,调试信息就会出现在输出里面了。

这是V9版本的。如果用的是X的话,改fastmode是没有用的。X和V9很大的不同就是很多后处理开关变量被移到机器定义(Machine Definition)和控制器定义(Control Definitoin)中了,fastmode就是其中之一。改动Control Definiton -> NC Output -> Post Debug Information来输出调试信息。还有,如果是X的话,所有预定义变量名和后处理块后面都要加"$"。

今天就先来这么多。小弟这周要出差,估计要到这周末才能再更新了。大家可以说说看想了解点什么方面的,我也好写起来有个谱。
头像被屏蔽
14
发表于 2006-8-21 20:14:42 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
15
发表于 2006-9-19 16:24:56 | 只看该作者
又见一个人才.ddDD
16
发表于 2006-9-19 19:08:21 | 只看该作者
怎么我看楼主有点像杜公子啊!
17
发表于 2006-9-19 19:09:09 | 只看该作者
怎么我看楼主有点像杜公子啊!
18
发表于 2006-9-19 21:03:11 | 只看该作者
支持,期待下一贴
19
发表于 2006-9-20 17:31:15 | 只看该作者
原帖由 dingnixxx 于 2006-9-19 19:09 发表
怎么我看楼主有点像杜公子啊!


有点像
20
发表于 2006-9-20 18:50:30 | 只看该作者
支持楼主!!如果有视频语音教程的现好~~先Ding先了!谢谢共享~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2025-2-28 03:02 , Processed in 0.036287 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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