注册名:

密码:

个人注册

企业注册

商务申请

商务管理平台

企业管理平台

个人管理平台

我的工控博客

中国工控网www.chinakong.com

首页 | 新闻中心 | 工控论坛 | 经验视点 | 工控商务 | 电气手册 | 工控博客 | 招聘求职 | 网上调查 | 企业中心 | 供求信息 | 资料中心 | 工控书店

所在位置:工控博客苑 -- 运动控制系统 -- 运动控制系统常用的图形图像文件格式简述

中国工控网搜索:

钟天玉先生

     学历:大学本科
     职称:工程师
     年龄:41岁
       新闻信息(7/2)
       工作图片(0)
       技术论文(2/7)
       交流论坛(19/20)
       留言信箱(4)
       浏览人次:16384
       给我发消息
 我的新闻推荐 更多..
发表人:zhong2010 发表时间:2010/5/9 20:56:00

 

发表新论题

 本栏论题: 运动控制系统常用的图形图像文件格式简述  [8699]
    运动控制系统常用的图形图像文件格式简述
   
    随着运动控制系统的蓬脖发展,由于可以结合PC平台进行二次开发,故其数据来源逐渐由手工输入或教导,转向兼容大量绘图软件所生成的图形图像文件。如:CorlDraw,AutoCAD,MasterCAM,Pro/E等工具。由于这些绘图软件得到普遍大众的使用,并且具备强大的功能,一般而言,作为小型项目开发,只需要把它们所生成的文件读入,并作一些简单的数学处理(如:平移,镜像,旋转,错切)即可。这样也获得较高的开发效率,可以有效地节省开发者及客户使用者的成本。
    以下我们简介几种常用于数控运动的文件格式,以帮助开发人员对此有个大概的理解,更好的把握项目的开发。
   
   
    一、 CNC文件
    CNC由国外流进,早期大量的应用于数控车铣床,故CNC包含的大量指令代码都可以通过机械加工之类的杂志获取,CNC以一种一统天下的海量囊括了所有运动控制动作。有很多指令,可以由用户自行定义(这是威力所在),在国内有很多数控设备厂商,基本上都支持标准CNC代码。如:成都广泰。
    CNC文件格式一般分为非压缩格式及压缩格式两种,非压缩格式其数制形式基本上直接以小数出现。
    压缩格式,数制有前省零,后省零两种,实际数值还需要由整数位和小数位决定。
    如非压缩格式:
    X123.456 即表示当前X数值为123.456
    生成此格式的,常用工具有 MasterCAM、Pro/E等
    压缩格式:
    X123456 (没有小数点)
    若以前零省,4位整数,3位小数,则X=0123.456 = 123.456
    若以后零省,4位整数,3位小数,则X=1234.560 = 1234.56
    生成此格式的,常见于PCB板绘图工具,如:CAM350,V2000,V2001
    Protel。
    支持CNC标准的文件后缀名一般常见有:
    .NC, .CNC, .TXT, .ROT, .GBR, .GBX, .ROU, .DRL等
   
    以下列出CNC常用G代码指令的含义:
    G00 快速定位到有效位置
    G01 直线插补
    G02 顺圆弧插补
    G03 逆圆弧插补
    G04 延时暂停
    G05 钻孔操作
   
    G32 顺铣整圆
    G33 逆铣整圆
   
    G40 取消让刀(让刀一般也称作补偿)
    G41 开始左让刀
    G42 开始右让刀
   
    G84 钻圆操作
    G85 钻槽操作
   
    G90 绝对坐标系
    G91 相对坐标系
    G93 设定工作原点
   
   
    以下列出CNC常用M代码指令的含义:
    M30 程序结束
    M48 程序开始
    M71 公制
    M72 英制
    M15 开始铣削
    M16 结束铣削
   
    模块复制操作指令:
    M25 块头
    M01 块尾
    M02 块操作开始
    M08 块操作结束
    M70 XY交换
    M80 X镜像
    M90 Y镜像
    R 重复排列指令
   
    以上指令,有些有特定的格式,若有需要进一步深入分析,可来电话与我们联系。
   
    二、 DXF文件
   
    DXF文件格式,常见的由AutoCAD, CorlDraw绘图软件生成。DXF具有不同的版本,开发人员在分析DXF文件时,需要注意这一点,DXF文件格式的详细说明,可以到www.google.com网站上,输入“ DXF文件格式”,即能找到相关的资料。
    其操作码的说明,非常之丰富,本人手头的相关电子文档有十几页之多,故在此简单介绍几种常元素。
    1、 直线 LINE
    2、 圆弧 ARC
    3、 折线 LWPOLYLINE
    4、 圆形 CIRCLE
    5、 圆弧 ARC
    6、 椭圆 ELLISPE
    7、 BZ曲线 ELLIPSE
    8、 文字(一般会自选SHX字体文件) MTEXT
   
    DXF文件操作码和数值在文件中各占一行,如:
    10
    100.000
    20
    100.000
    30
    0. 000
    11
    200.000
    21
    100.000
    31
    0.000
   
    以上展示的是一条直线段,起点坐标为(100.000, 100.000, 0.000),终点坐标为(200.000,100.000,0.000)
   
   
    三、 PLT文件
    PLT文件源自于HP绘图仪,在AutoCAD/R14版及CorlDraw软件中可以见到(需要导出),其实基于此类设备的还有EPS的一种矢量格式,即EPS文件,在此不多描述。PLT的操作指令非常丰富,不过常用以下几种指令就差不多够了。
   
    PA 到达指定的绝对位置
    PU 抬笔动作
    PD 下笔动作
    SP 换笔动作
    AA 圆弧动作
    LB 文本路径
   
    PLT的操作码格式有许多形式,如抬笔动作:
    PU10023 23402; 达到指令位置后抬笔
    或 PU10023,23402;
    或 PA10023,23402; PU;
   
    还有就是PA指令:
    PA1234 4567;(注意,两个数值之间有空格或者’,’分隔符)
    PA8324 2345;
    或
    PA1234,4567,8324,2345;(多坐标放在一起)
   
    一般而言,从CorlDraw或AutoCAD/R14版生成的PLT文件,其路径大部分只包含PU,PA,PD,SP有效指令,且路径已经为最优化的运动轨迹了(在此省去开发人员对最短路径的优化处理,而DXF文件则需要根据工艺,需要再次优化,因为它的路径与绘图顺序有关,这样有时频繁编辑或修改出来的图形路径会非常纹乱,不适合直接加工处理,所以还需要开发人员再次优化路径,以达到最好的加工轨迹)。
   
    四、 BMP文件
    以上介绍的图形都属于矢量文件,BMP作为图像文件,几乎在Window的图像编程当中,是路人皆知,其简单的文件结构非常易理解,加上Microsoft的强大MSDN帮助,实在没有赘述的必要。
    在此,考虑到运动控制的计算必须与图像尺寸进行匹配,故还需要提示一下如何设定这种对应关系的方法。实质上,在激光位图扫描或位图雕刻时,常需要这种关系设定,即多少像素对应多少毫米。取得这个当量关系很简单。
    以Win98系统为例,点击“开始”菜单,选择“程序”项,进入“附件”,选择“画图”工具。
    然后打开你所需要的目标文件,选择菜单“图像”的“属性”项,可以看到“单位”信息框中的几个单选项,我想,到此为止,稍微聪明一点的人,也许不用再指点什么东西了吧。
   
    由于BMP文件实在是太普遍了,所以,几乎所有的图像处理软件,看图软件都支持将其它图像文件格式转换成BMP文件格式,如大名鼎鼎的Photoshop及最好用的看图软件ACDSee。
   
    故其它的PCX,JPG,GIF,TGA,PIC图像就不是什么问题了。
   
    五、 其它字体文件简介
    Windows系统的字体文件结构非常复杂,虽然只有两种基本元素,即直线和BZ曲线,若想完成分析明白,还是要下一番苦功,好歹有一些伟大的作家将此事基本了解,可以参见一个华裔作家的《Window图形图像编程》,此书中对Window的字体作了全面的分析,且带光盘,对拿来主义者将是最大的礼物了。
    若没办法购到此书,也不是就绝人之路了,在CDC的对象内,有一套方法,可以取得所有绘图的路径,文字路径就更不在话下了。
    举例:
    1. 开始路径捕捉
    CDC *pDC = GetDC();//自定义
    pDC->BeginPath();
    pDC->TextOut(0,0,”Hello, path!?”);//输出想要的文字
    pDC->EndPath();
    是不是很简单呢
    2. 还原路径
    在还原路径之前,用户还可以任意旋转,镜像,错切路径。
    Int nCount = pDC->GetPath( NULL, NULL, 0 );
    CPoint *pPoint = new CPoint[nCount];
    char *pCtrl = new char[nCount];
    for( int i (0); i
    {
    switch( pCtrl[i] ){//识别控制字,
    case ….
    }
    }
    delete []pCtrl;
    delete []pPoint;
   
    对于AutoCAD的SHX字体,分析起来完全靠代码处理,因此非常困难,若有这方面需求的用户可直接与我们联系。还有早期DOS系统下,TC2.0有BC3.1编译环境还带有一些CHR矢量字库,用户若有需求请联系我们即可。
   
   
 

如果要回复本栏论题,请首先登陆网站

·如果你已经是中国工控网www.chinakong.com成员,请直接登录。

·如果你还不是中国工控网www.chinakong.com成员,请首先注册,注册为免费!

注册名:

密  码:

           注册中国工控网www.chinakong.com
           忘记密码
 
     相关技术论文:

关于我们     免责声明     服务项目     广告联系     友情链接     联系方式     意见反馈     设为首页     加入收藏

 ©2023-2025 中国工控网(www.chinakong.com) 版权所有 豫ICP备17046657号

管理员信箱:chinakong98@163.com  服务热线:13525974529

洛阳博德工控自动化技术有限公司

中国    洛阳