APP下载

HPGL矢量图形语言在喷墨绘图仪中的应用

2015-12-18邓光晋深圳市盈瑞恒科技有限公司

纺织科学研究 2015年8期
关键词:链表喷墨字节

邓光晋(深圳市盈瑞恒科技有限公司)

1 引言

HPGL矢量图形语言应用于富怡服装CAD软件设计输出的PLT文件中,而喷墨绘图仪是富怡服装CAD必须配置的硬件设备,主要用于CAD样片纸样输出,排料图输出。

HPGL矢量图形语言应用于喷墨绘图仪,具有打印速度不受图形复杂程度的影响,只与仪器绘图宽度有关的特点,所以特别适合打印那些形状比较复杂、线条较多的图形。而且它是真正的连续打印,没有段接口的问题,打印精度较高,不会产生错位的问题。

2 HPGL矢量图形语言到PLT文件描述

图1为一个简单的图形,使用富怡服装设计放码软件生成HPGL语言的plt文件。

通过这个图形,我们可以清楚地看到这个正方形的描述,生成plt文件:

见图1。

IN;//初始化

SP1;//选择笔号1

LT;//线型

PU40,57956;//抬笔移动到(X:4,Y:57956),乘以0.025得到真实坐标(X:0.1,Y:1448.9)

PD4,4;//落笔从上一坐标点移至当前坐标点

PD180844,4;

PD180844,57956;

PD4,57956;

…………

3 PLT文件到喷墨绘图仪系统

3.1 图形显示

将PLT格式的文件读出,将线条保存进链表,再在图形显示对话框上按相应的比例画出来。主要步骤流程如下所示:

将PLT文件中的线段保存在链表中,不用排序。

按图形大小和显示对话框大小算出画图比例。

按比例画出链表中的线条。

3.2 点阵数据转换

见图2。

生成位图,取点阵

图1

图2

第一步:将PLT文件中的线段按X方向从小到大排列好。因为我们生成位图时是按X方向一小段一小段生成的,因此在VC++中位图是按X方向取点的。

以上图为例,所取点阵为:

0xc0,0x00,0x00,0x03,0x60,0x00,0x00,0x06,0x30,0x00,0x00,0x0c……

第二步:将点阵数据高位和低位对调,即第7位跟第0位对调,第6位跟第1位对调,以此类推。

以上图为例,对调后的点阵为:

0x03,0x00,0x00,0xc0,0x06,0x00,0x00,0x60,0x0c,0x00,0x00,0x30……

第三步:将点阵数据按Y方向2字节一排排好。以上图为例,排好后的数据为:

第一排:

0x03,0x00,0x06,0x00,0x0c,0x00,0x18,0x00,0x30,0x00,0x60,0x00,

0xc0,0x00,0x80,0x01,0x00,0x03,0x00,0x06,0x00,0x0c,0x00,0x18,

0x00,0x30,0x00,0x60,0x00,0xc0,0x00,0x80.

第二排:

0x00,0xc0,0x00,0x60,0x00,0x30,0x00,0x18,0x00,0x0c,0x00,0x06,

0x00,0x03,0x80,0x01,0xc0,0x00,0x60,x000,0x30,0x00,0x18,0x00,

0x0c,0x00,0x06,0x00,0x03,0x00,0x01,0x00.

3.3 点阵数据压缩

未经压缩的数据流量非常大,而且图形中大部分是空白,因此压缩后的数据流量会大大减小。

压缩方式采用自定义的简单压缩方式压缩数据,如果压缩方式复杂的话,虽然减小了数据流量,却会增加绘图仪解压数据的时间。

压缩后的数据格式为:数据个数+数据+数据个数+数据……

数据个数为相同数据的个数。需要注意的是,最大数据个数为255,超过255个相同数据就要分为两次压缩。即如果连续600个0x00的话,压缩后的数据为:0xff,0x00,0xff,0x00,0x5a,0x00。

压缩后,600字节的0x00就只有6个字节了。

3.4 数据传输

通过网络或者USB将压缩后的数据传输到喷墨绘图仪。

3.5 打印驱动

对于喷墨绘图仪,只有简单的单轴运动,没有两轴联动。

单向打印:喷头Y正方向打印一行——喷头回原点——X轴走纸

双向打印:喷头Y正方向打印一行——X轴走纸——喷头负方向打印一行——X轴走纸

猜你喜欢

链表喷墨字节
No.8 字节跳动将推出独立出口电商APP
喷墨怪兽
基于二进制链表的粗糙集属性约简
No.10 “字节跳动手机”要来了?
跟麦咭学编程
基于链表多分支路径树的云存储数据完整性验证机制
简谈MC7字节码
通过刮擦方式实现喷墨头清洁的技术发展趋势分析
喷墨打印墨水在医疗影像中的应用
两项喷墨CTP标准10月1日起施行