发明内容
本发明的目的在于提供一种标牌刻度值绘制方法,利用ObjectARX2008针对AutoCAD2008进行二次开发,重点是解决刻度值定位点不精确的技术问题。
本发明的目的通过以下技术方案予以实现:
一种标牌刻度值绘制方法,该方法包括以下步骤:
1)绘图时用户首先输入要绘制的标牌主刻度弧的参数,输入刻度线的参数;
2)绘制圆弧和刻度线;
3)输入标牌刻度值所在路径弧的圆心和半径;
4)选择刻度值的文字样式,输入刻度值的字体高度、宽度因子、字符间距、确定是否加粗;
5)确定刻度值的旋转方向,选择垂直、向圆心、反向圆心、自定义角度四种方式之一;
6)确定刻度值是否均分,如果是均分刻度值,输入均分刻度值起始角度、终止角度、起始数值、终止数值和步长值;
7)根据起终角度、起终数值和步长值以等差序列的方式计算得到每个刻度值的偏转角度,转到步骤9);
8)如果是不均分刻度值,就逐一输入刻度值和偏转角度;
9)根据刻度值路径弧的圆心、半径和每个刻度值的偏转角度分别计算得到刻度值的定位点,该定位点是刻度值的左上角点Location(x,y);
10)根据刻度值的旋转方向和偏转角度分别计算出每个刻度值的旋转角度并保存;
11)根据已设定的刻度值的字体参数用多行文字的方式在刻度值的定位点位置上逐一绘制刻度值;
12)通过范围函数逐一得到绘制好的刻度值的范围边框,即刻度值的高度值h和宽度值w,刻度值的定位点即左上角点Location(x,y);
13)将每个刻度值从点Location(x,y)向-x轴方向移动计算出的宽度值w的二分之一,向y轴方向移动高度值h的二分之一,使刻度值的左上角点成为刻度值的中心点;
14)根据所述每个刻度值的旋转角度将每个刻度值分别旋转相应的角度,刻度值绘制完成;
15)经过分色拼版,制版完成,照排机打印。
与现有技术相比,本发明的有益效果是:
对于有规律的刻度值能通过等差序列方式自动计算出每个刻度数值和实际偏转角度,能统一设置刻度值的宽度和间距,能设置刻度值的旋转方向并计算出实际旋转角度,解决了现有绘制方法刻度值定位不精确的问题,减少了绘制时间,提高了工作效率。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
标牌制作系统一般由绘图用计算机和激光照排机组成,计算机与照排机互联进行通讯,计算机将绘制好的标牌图形文件转换成和激光照排机兼容的文件格式输出到照排机,照排机打印出胶片后进行生产。本发明利用ObjectARX2008针对AutoCAD2008进行二次开发,如图2所示,本发明包括以下步骤:
1)绘图时用户首先输入要绘制的标牌主刻度弧的参数,输入刻度线的参数;
2)绘制圆弧和刻度线;
3)输入标牌刻度值所在路径弧的圆心和半径;
4)选择刻度值的文字样式,输入刻度值的字体高度、宽度因子、字符间距、确定是否加粗;
5)确定刻度值的旋转方向,选择垂直、向圆心、反向圆心、自定义角度四种方式之一;
6)确定刻度值是否均分,如果是均分刻度值,输入均分刻度值起始角度、终止角度、起始数值、终止数值和步长值;
7)根据起终角度、起终数值和步长值以等差序列的方式计算得到每个刻度值的偏转角度,转到步骤9);
8)如果是不均分刻度值,就逐一输入刻度值和偏转角度,该刻度值不需进行计算,所以可以输入非数字,比如英文字符、汉字等,如果角度均分的刻度值是无规律的,也可以在不均分刻度值的参数输入窗口中逐个输入刻度值和偏转角度。
9)根据刻度值路径弧的圆心、半径和每个刻度值的偏转角度分别计算得到刻度值的定位点,该定位点是刻度值的左上角点Location(x,y);
10)根据刻度值的旋转方向和偏转角度分别计算出每个刻度值的旋转角度并保存;比如向圆心方式旋转角度是偏转角度减90度,反向圆心方式旋转角度是偏转角度加90度,垂直方式和自定义方式无须计算,垂直方式是90度,自定义角度即旋转角度。
11)根据已设定的刻度值的字体参数用多行文字的方式在刻度值的定位点位置上逐一绘制刻度值;
12)通过范围函数逐一得到绘制好的刻度值的范围边框,即刻度值的高度值h和宽度值w,刻度值的定位点即左上角点Location(x,y);
13)将每个刻度值从点Location(x,y)向-x轴方向移动计算出的宽度值w的二分之一,向y轴方向移动高度值h的二分之一,使刻度值的左上角点成为刻度值的中心点;
14)根据所述每个刻度值的旋转角度将每个刻度值分别旋转相应的角度,刻度值绘制完成;
15)经过分色拼版,制版完成,照排机打印。
具体的,绘制一个均分的标牌实施例,标牌参数如下:圆弧圆心(0,0),半径50mm,起始角度320度,终止角度220,刻度线圆心,刻度线半径、起终角度与圆弧一样,刻度线均分50格,长刻度均分5格,刻度值起始值0,终止值400,步长值40,刻度值所在路径弧的圆心(0,0)和半径45mm,刻度值高度3mm。在绘制好圆弧、刻度线后,按以下步骤绘制刻度值:
①先输入标牌刻度值所在路径弧的圆心(0,0)和半径45;
②选择刻度值的文字样式,输入刻度值的字体高度、宽度因子、字符间距,确定是否加粗,此处的加粗是AutoCAD系统自带的加粗功能;
③选择刻度值的旋转方向,分为四种:垂直、向圆心、反向圆心和自定义;
④选择刻度值是否均分,因为标牌刻度线均分50格,长刻度均分5格,刻度值起始值0,终止值400,步长值40,符合均分条件,选择均分;
⑤输入均分刻度值起始角度320度、终止角度220度、起始数值0、终止数值400和步长值40;
⑥根据起终角度、起终数值和步长值以及起始角度320度、终止角度220度以等差序列的方式计算得到每个刻度值的偏转角度;
⑦根据刻度值路径弧的圆心(0,0)、半径45和每个刻度值的偏转角度分别计算得到刻度值的定位点,根据AutoCAD的绘制方法,AutoCAD绘制多行文字时不是以定位点作为中心点进行绘制的,该定位点是刻度值的左上角点Location(x,y),所以沿着圆弧逐一进行绘制时刻度值的位置会偏向一边,因而这个定位点后续要进行调整;
⑧根据刻度值的旋转方向(四种旋转方式之一)和偏转角度分别计算出每个刻度值的旋转角度并保存,向圆心方式旋转角度是偏转角度减90度,反向圆心方式旋转角度是偏转角度加90度,垂直方式和自定义方式无须计算,垂直方式是90度,自定义角度既是旋转角度;
⑨根据前面的刻度值的字体参数(文字字体、字体高度、宽度因子、字符间距,是否加粗等)用多行文字的方式在刻度值的定位点位置上逐一绘制刻度值,如图1所示,刻度值的位置有偏斜;
⑩通过范围函数遍历,逐一得到绘制好的刻度值对象的范围边框,即得到刻度值的高度值h和宽度值w,每个刻度值都不一样,所以刻度值对象的范围边框也不一样,刻度值的高度值h和宽度值w也不一样,刻度值的定位点Location(x,y)就是上面计算得到的左上角点;
将每个刻度值从点Location(x,y)向-x轴方向移动宽度值w的1/2,向y轴方向移动高度值h的1/2,使刻度值的左上角点成为刻度值的中心点,因为刻度值的左上角点是沿着圆弧计算得出的,定位点很精确,再分别根据每个刻度值的宽度、高度和Location点将刻度值对象进行上述移动,保证了每个刻度值的左上角点成为了中心点,如图3所示;
最后根据上述计算出的每个刻度值旋转角度参数将每个刻度值分别旋转相应的角度,刻度值绘制完成,刻度值定位精确,如图4所示。
刻度值绘制完成后,经过分色拼版,制版完成,照排机打印胶片后,车间进行生产。
除上述实施例外,本发明还可以有其他实施方式,凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围内。