计算机绘图机图纸输出排放系统
<DD>当前计算机绘图在工程各个部门都在逐渐取代的手工绘图。图形在计算机上画好后要藉助于绘图机绘制在图纸上而后输出。而一台机器或一项工程的一套图纸,大大小小少到几十张,多到几百张甚至几千张。如果不按一定次序与规律,在绘图机上绘制,势必显得杂乱无章,对绘图纸也是一种浪费。一般滚筒式绘图机在宽度方向稍大于A0号图纸的宽度,在长度方向上每次绘图的范围约在2米以内。现在我们要想达到的目的是在宽度方向尽量排满,在长度上整齐地一段一段的绘出,使绘图纸作到充分利用。因此我们研制了一套图纸输出排放软件。只要输入全套图纸的图号及其数量,软件即可通过运算而显示出合理的排放方式,告诉操作者在绘图机上绘制各号图纸的先后顺序。这不但节约了纸张,而且对图纸的管理、保存及复制也带来了方便。<H1><FONT size=2>1 图纸输出排放系统的原理及方法</FONT></H1>
<DD>根据国家工程图纸现行标准,图纸共分A0、A1、A2、A3、A4、A5共6种图号。对A0~A4号图每一号图又有若干种加长型的图纸。我们首先考虑五种标准图纸,对加长型图放在后面讨论。设整套图纸每种型号的张数分别为b<SUB>0</SUB>、b<SUB>1</SUB>、b<SUB>2</SUB>、b<SUB>3</SUB>、b<SUB>4</SUB>、b<SUB>5</SUB>,其长度 为l<SUB>0</SUB>、l<SUB>1</SUB>、l<SUB>2</SUB>、l<SUB>3</SUB>、l<SUB>4</SUB>、l<SUB>5</SUB>,宽度为w<SUB>0</SUB>、w<SUB>1</SUB>、w<SUB>2</SUB>、w<SUB>3</SUB>、w<SUB>4</SUB>、w<SUB>5</SUB>,面积为S<SUB>0</SUB>、S<SUB>1</SUB>、S<SUB>2</SUB>、S<SUB>3</SUB>、S<SUB>4</SUB>、S<SUB>5</SUB>。不难发现,A0 号图纸的宽度就等于A1号图纸的长度,而其长度又等于两倍A1号图的宽度,其面积为A1号图的两倍。其余各号图纸也有相同的规律。即有
<DD>
<TABLE width=560>
<TBODY>
<TR>
<TD><FONT size=2>I<SUB>i</SUB>=2W<SUB>i+1</SUB><BR>W<SUB>i</SUB>=I<SUB>i+q</SUB><BR>S<SUB>i</SUB>=2S<SUB>i+1</SUB><BR>i=0~4</FONT></TD>
<TD width=10><FONT size=2>(1)</FONT></TD></TR></TBODY></TABLE>
<DD>发现这样的规律,给我们的排放带来了方便。我们的方法是在宽度方向上尽量排满,长度方向上顺延,根据绘图机长度方向上的绘图能力,在适当位置截断,又重新开始绘制。这样一来,就可得到整齐的输出。我们第一步是把各号图纸都拼成与A0号图纸相同大小的块。即2张A1、4张A2、8张A3……都可拼成1张A0号图纸。由此可得:
<DD>
<TABLE width=560>
<TBODY>
<TR>
<TD><FONT size=2>R<SUB>i</SUB>=b<SUB>i</SUB>/2<SUP>i</SUP><BR>I<SUB>i</SUB>=b<SUB>i</SUB>mod2<SUP>i</SUP></FONT></TD>
<TD width=10><FONT size=2>(2)</FONT></TD></TR></TBODY></TABLE>式中:R<SUB>i</SUB>为某号图纸拼合后的块数:I<SUB>i</SUB>为拼合之后余下各号图纸的数量:\为取整数运算符:mod为求余数运算符。
<DD>对于已经拼好的图纸,由大到小优先绘制输出,其拼合的格式如下图-a,这时候要绘制输出每号图纸的数量为R<SUB>i</SUB>2<SUP>i</SUP>张,余下没有绘制的图纸为I<SUB>i</SUB>张。
<DD>对于剩下的各号图纸,我们再作如下的处理,A0号图纸已经没有了,其余各号图纸的张数I<SUB>i</SUB>可按下式计算:
<DD>
<TABLE width=560>
<TBODY>
<TR>
<TD><FONT size=2>I<SUB>i</SUB>≤2<SUP>i</SUP>-1</FONT></TD>
<TD width=10><FONT size=2>(3)</FONT></TD></TR></TBODY></TABLE>
<DD>因为1张A1号图,2张A2号图或A3号图,4张A4号图或A5号仍然可以拼成与A0号图相同的宽度,我们再作一次按下图-b的方式排放,这时候有:
<DD>
<TABLE width=560>
<TBODY>
<TR>
<TD width=200><FONT size=2>RR<SUB>2</SUB>=I<SUB>2</SUB>\2<BR>RR3=I<SUB>3</SUB>\2<BR>RR<SUB>4</SUB>=I<SUB>4</SUB>\4<BR>RR<SUB>5</SUB>=I<SUB>5</SUB>\4</FONT></TD>
<TD><FONT size=2>II<SUB>2</SUB>=I<SUB>2</SUB>mod2<BR>II<SUB>3</SUB>=I<SUB>3</SUB>mod2<BR>II<SUB>4</SUB>=I<SUB>4</SUB>mod4<BR>II<SUB>5</SUB>=I<SUB>5</SUB>mod4</FONT></TD>
<TD width=10><FONT size=2>(4)</FONT></TD></TR></TBODY></TABLE>式中:RR<SUB>i</SUB>——按第二次方式拼排的块数:
<DD>II<SUB>i</SUB>——未拼完的各号图纸的数量
<DD>经过两次排放输出的结果,剩下的A2号及A3号图纸小于或等于1张,A4及A5号图纸小于或等于3张。现在我们排放的策略是:先大后小,先左后右,先上后下。从图纸的左下角开始排放,尽量排列整齐,使面积为最小。其结果的形式如下图-b的左端。
<DD>对于加长型的图纸,1、3号图为加长A0号图宽度1/4的整数倍。0、2、4号图为加长A0号图纸长度1/8的整数倍。我们限定,各号加长图纸只有两种类型,并以A1+、A1++、A2+、A2++、A3+、A3++、A4+、A4++(A1+加长的倍数为1,A1++加长的倍数为2,依此类推)。此时还是按先大后小、先左后右、先下后上、适当填充的原则进行排放。对A1号两种加长的图纸,只得根据其顺序排放,上部空挡用A4+、A4++进行填充。对A2+、A2++可以并列顺序排放,在尾部不整齐处,用A3+填充,对于A3+、A3++只得竖着排放。对余下的A4+、A4++,根据其长短,横着4个一组进行排放(如下图-c、-d)。
<H1><FONT size=2>2 图纸输出排放举例</FONT></H1>
<DD>设有图纸一套,各号图纸张数如下,经过运算后,绘图输出的先后次序如下图。<BR>
<TABLE align=center>
<TBODY>
<TR>
<TD align=middle><FONT size=2><IMG height=250 src="http://news.mechnet.com.cn/upload/0904031654119385.bmp" width=600><BR><B>图纸绘制输出排放格式</B></FONT></TD></TR></TBODY></TABLE>
<DD>A0=13 A1=27 A2=39 A3=43 A4=55 A5=67 A0++=1 A0+=1 A1++=1 A1+=2 A2++=3 A2+=3 A++=4 A3+=2 A4++=A4+=5<BR>13A0,13×2A1,9×4A2,5×8A3,3×16A4,2×32A5,1×1A1,1×2A2,1×2A3,1×4A4,<BR>1A2,1A3,3A4,3A5,1A0++1A0+,1A1++,2A1+,5A4,6A3,7A4
<DD>上图图形解释如下:
<OL>
<LI>图-a表示绘图输出的顺序为A0图纸13张(图形上并未表示出,所有A0图可以首先绘制输出)。A1图纸每块2张,共输出13块26张。A2图纸每块4张,共输出9块36张,其余类推:
<LI>图-b表示剩余图纸的排列方式:
<LI>图-c、-d为加长型图纸的排列方式。A0++及A0+可先绘制输出,没有表示在图上。
<LI>图-a、-b、-c、-d每段后的空白可紧接着排放要绘制输出的图纸。只是为了识别清楚才分割为4段表示出来,实际上可以连续输出。</LI></OL></DD><A href="http://www.mechnet.com.cn" >【MechNet】</a></p>
页:
[1]