- 9
- 0
- 约1.69万字
- 约 16页
- 2017-02-22 发布于四川
- 举报
在PCB中添加汉字或图形
在PCB中添加汉字或图形
我们在绘制PCB板图时经常会希望在板上添加一些汉字,或者将自己公司的标志图形画在板上,一般的制板软件往往无法满足要求。本文介绍了一种将汉字或者图形转换为PROTEL的PCB格式文件的方法,并给出了用C语言实现的源程序。
基本实现原理
我们在使用电子线路板图软件PROTEL时发现保存文件可以选择一种称为“PCB ASCII files”格式的PCB文件类型。这种格式实际上是纯文本型的,使用其他文本编辑软件,如notepad(记事本)等均可打开编辑。
例如,我们新建一个PCB板图文件,在板上只放一个焊盘和一条线,然后保存为“PCB ASCII files”格式的文件。用记事本程序打开此文件,可以看到以下内容:
第一行内容:“|RECORD=Board|FILENAME=C:\Client98\1.pcb
|KIND=Protel_Advanced_PCB|VERSION=3.00|DATE=18-Nov-2004|TIME=15:37:20|ORIGINX=0mil|ORIGINY=0mil|BIGVISIBLEGRIDSIZE000|VISIBLEGRIDSIZE=200000.000|ELECTRICALGRIDRANGE=8mil|ELECTRICALGRIDENABLED=TRUE|SNAPGRIDSIZE=200000.000|TRACKGRIDSIZE=200000.000|VIAGRIDSIZE=200000.000|COMPONENTGRIDSIZE=200000.000|CURRENTWORKINGLAYER=TOP|DOTGRID=FALSE|DISPLAYUNIT=1|PLANE1NETNAME=(NoNet)|PLANE2NETNAME=(NoNet)|PLANE3NETNAME=(NoNet)|PLANE4NETNAME=(NoNet)”
往下还有其他行,最后两行,我们发现了关键的内容:“|RECORD=Pad|SELECTION=FALSE|LAYER=MULTILAYER|LOCKED=FALSE|X=1140mil|Y=1620mil|XSIZE=60mil|YSIZE=60mil|SHAPE=ROUND|HOLESIZE=30mil|ROTATION=0.000|PLATED=TRUE|NAME=0|DAISYCHAIN=Load|CPGV=TRUE|CCWV=TRUE|CENV=TRUE|CAGV=TRUE|CPEV=TRUE|CSEV=TRUE|CPCV=TRUE|CPRV=TRUE|CPG=NOCONNECTION|CCW=10mil|CEN=4|CAG=10mil|CPE=0mil|CSE=4mil|CPC=20mil|CPR=20mil”,这就是我们放的焊盘,其中的类别“Pad”、层“MULTILAYER”、X位置、Y位置、X大小、Y大小、孔大小等等都十分清楚。还有:“|RECORD=Track|SELECTION=FALSE|LAYER=TOP|LOCKED=FALSE|X1=1020mil|Y1=2040mil|X2=2500mil|Y2=2040mil|WIDTH=10mil|USERROUTED=FALSE|TEARDROP=FALSE|SUBPOLYINDEX=0”,这就是我们放的线条,其中的信息也十分直观明了。
我们通过分析以上文件的格式,直接修改文本,然后模仿着增加一些焊盘和线条,保存以后在PROTEL中可以打开,新增的焊盘和线条都准确地显示出来。通过进一步的文件格式分析和试验,发现除了文件的第一行比较关键的几项和焊盘线条等,其他的可以忽略。第一行可以缩减为以下几项:“|RECORD=Board|KIND=Protel_Advanced_PCB|VERSION=3.00”。
了解“PCB ASCII files”格式后,我们就可以用程序自己生成PCB文件了。将汉字或图形按照点阵数据读出来,再用焊盘或线条将汉字或图形画出来,最后按照PCB格式保存。在画PCB板图时就可以将这些汉字或图形拷贝到您的电路板上了。
程序设计
程序包含两部分:将图形文件转换为PCB文件(BMP2PCB)和将汉字文本文件转换为PCB文件(TXT2PCB)。
BMP2PCB
设计BMP图形文件到PCB文件的转换程序,除了了解PCB文件的格式,还需要了解BMP图形文件格式。
要转化为PCB文件的BMP图形文件只能是黑白二位图形,windows的黑白BMP文件格式如下:
在文件偏移0x00和0x01处是字符“B”和“M”
在文件偏移0x02至0x05处是文件长度(long)
在文件偏移0x0a至0x0d处是位图数据开始偏移值(long)
在文件偏移0x
原创力文档

文档评论(0)