基于ObjectARX的标牌参数化绘制的研究


  摘 要:为了提高标牌行业中绘制标牌的工作效率,操作流程的标准化,研究标牌参数化绘制方法及技术,结合ObjectARX2008与Visual Studio 2008中的C#进行了Auto CAD的二次开发。详细阐述了标牌参数化绘图系统的结构、设计流程以及应用设计结果进行参数化绘图的过程,使标牌企业绘制人员在绘制的过程中,只需输入必要参数就可以由计算机自动生成所要绘制的标牌。只要调整必要的参数就可以实现标牌的动态修改,从而大大提高了工作效率并扩展了CAD二次开发的范围。关键词:ObjectARX; AutoCAD二次开发; 标牌; 参数化绘制
  中图分类号:TN874-33; TP39172文献标识码:A
  文章编号:1004-373X(2010)16-0184-04
  
  Research of ObjectARX-Based Parameterization Drawing Method for Scutcheons
  YU Xiao-rong
  (Computer Science & Engineering College, Jiangsu University of Science and Technology, Zhenjiang 212003, China)
  Abstract: In order to improve the efficiency of the scutcheon drawing in the sign industry and achieve the standardization of operational process, the parameterization drawing method and technology are researched. Thecustomised secondary deve-lopment of AutoCAD was performed in the combination with ObjectARX2008 and C# in Visual Studio 2008. The structure of the parameterization cartography system, the design flow and the process of the parameterization cartography using the design result are elaborated. In the process of drawing, the scutcheons are automatically generated with the necessary parameters inputted into a computer directly, and moreover, the dynamic modification of scutcheons can also be achieved by adjusting the parameters. The actual applications show that the proposed method can greatly improve the working efficiency. The scope of AutoCAD secondary developmen is extended by employing the method.
  Keywords: ObjectARX; AutoCAD secondary development; scutcheon; parameterization drawing
  
  0 引 言
  仪器仪表标牌是标牌行业的重要组成部分,无锡宜兴的标牌企业对标牌的绘制在国内占有了很大市场,其中一家标牌企业在20多年的发展中已绘制过十几万种标牌,主要是仪器仪表标牌,在仪器仪表标牌中压力表比重也很大,而压力表的绘制方法在温度表、百分表、冷媒表等类型标牌的绘制中完全适用。无锡宜兴主要的标牌企业在80年代采用手工绘制,从90年代到现在则使用专用软件进行绘制。AutoCAD软件已出现了十几年,但并没有在标牌企业中流行起来,但由于仪器仪表标牌的特殊性,操作起来很复杂,很不方便,很耗时间,所以这些标牌企业仍然使用十几年前开发的软件。
  但现在使用十几年前开发的软件存在很大的问题,由于软件开发年代的限制,操作的复杂性相对较大,一个新的员工完全熟悉该软件需要半年时间;在熟悉软件的情况下,绘制一个标牌的时间还是相对较长,离真正自动绘制还有一段距离,应该说是半自动的方式;最主要的是绘制好的标牌参数不能同时保存,造成了修改的困难;而且鼠标的操作方式和现在的软件有很大的区别,不太方便。参数化设计软件属于专业应用软件,开发这种软件需要在绘图支撑软件的基础上进行[1]。由于AutoCAD具有功能强大,易用性好,运行稳定,用户多等特点,是二次开发的理想平台[2],根据标牌绘制的现状,本文对压力表标牌在AutoCAD中的参数化绘制进行了研究,目的是为了减少绘制标牌的复杂度,缩短新员工的软件培训时间;增加标牌绘制的自动化程度,通过输入必要的参数,加快标牌绘制的速度。参数化设计是基于约束的产品建模方法,用约束描述产品的形状特征,通过改变约束(主要是尺寸约束)来获取不同的产品设计方案[3];增加标牌的动态修改功能。
  1 系统流程
  系统采用ObjectARX[4]程序设计方法来实现,并结合Visual Studio 2008的C#进行二次开发。ObjectARX编程的一大特点是图形数据库的功能,在绘制对象的同时可以将绘制该对象相关的参数保存到专门的数据库中[5],在下次选择对象的同时得到保存的参数,修改参数后可以修改该对象。
  因此本文使用ObjectARX在实现绘制的同时,更主要的是实现方便的修改功能[6]。
  本文是以压力表模块为研究实例,识别压力表模块标牌的通用参数,分别开发绘制圆弧,绘制均分的刻度,绘制刻度值,绘制按角度偏转的线形刻度,绘制按相对位置偏移的线形刻度等功能,用参数化的方式自动绘制出压力表标牌。本系统的优点是解决现有绘制方法绘制标牌操作复杂、绘制耗时的问题,提高了工作效率。绘制的步骤如图1所示。
  图1 绘制步骤图示
  首先用户根据要绘制的压力表标牌的弧的参数,先输入到绘制圆弧的窗口中,生成弧,将弧的参数写入图形数据库中,再根据标牌中刻度的均分与否,进入相应的绘制窗口。如果是均分刻度,进入“绘制均分刻度”窗口,选择刻度方向,输入刻度的旋转参数,均分格数等,所有的刻度将添加到AutoCAD窗口中。在AutoCAD中如果线段的宽度达到一定的值,会出现线段两端是圆头的情况,这样出图照排出来是不合格的,所有在绘制均分刻度包括后面的不均分刻度都转换成了多段线[7]。如果是不均分刻度,由于绘制标牌的企业收到的刻度参数表有2种情况,直接根据角度旋转的刻度作为参数,还有根据某一固定的、均分弧的刻度中偏移倍数作为参数,用户可以分别进入相应的界面进行操作。与均分刻度的区别在于不均分需要用户依次将不同角度或偏移值的刻度加入下方的列表框中,可以一次性加好,也可以分次操作,加好后添加到AutoCAD窗口中;为了方便用户的操作,加快绘制速度,在增加不均分刻度的同时,还可以输入刻度值的参数,将刻度与刻度值一起绘制出来。完成刻度绘制后,进入绘制刻度值的窗口,选择或输入刻度值的参数,刻度值也分为按角度均分旋转和不规则角度2种。两者的区别在于均分刻度值的参数一次性生成在列表框中,不规则角度的刻度值依次输入到列表框中,输入好后生成标牌的刻度值。以上操作都将对象所有的参数写入图形数据库中,当鼠标选择了任意对象,根据对象的类型,自动将参数显示在相对应的窗口中,修改参数后选择“修改”按钮,可实现动态的修改对象[8]。压力表标牌中有多条不同半径弧的时候,重复以上步骤。系统界面主要有绘制圆弧,绘制均分的刻度,绘制刻度值,绘制按角度偏转的线形刻度,绘制按相对位置偏移的线形刻度等。绘制圆弧的界面如图2所示,绘制均分刻度如图3所示,圆弧的起点角度和终点角度与刻度线的起终角度不一定一样,因为刻度线不一定布满整个圆弧,根据刻度线均分格数、短刻度间隔就确定了长短刻度线的多少,而且在同一条圆弧上可以加几种均分刻度,也可以均分与不均分刻度混合。