计算机绘图与参数化绘图

出处:按学科分类—工业技术 北京理工大学出版社《新编液压工程手册上册》第191页(3960字)

(1)计算机绘图

计算机绘图是液压CAD中不可缺少的重要组成部分。实现计算机绘图,一般包括图形信息的输入、输出、显示图形的变换及交互式绘图。除了配备有图形显示器的计算机及必要的硬件设备(包括输入、输出图形设备或的硬件系统)外,还配有能够进行编辑、编译、计算和实现图形输入、输出信息加工处理的软件。软件由系统软件、支撑软件及图形软件组成。

计算机绘图使绘图工作脱离了手工方式,利用计算机具有存储量大,及编辑、修改的功能,在计算机控制下由绘图机自动绘制。绘制图纸的速度、质量及复杂程度大大超过人工操作。对于一些标准产品的图纸,可根据存储的图形迅速地绘制,而对于单件或非标准的产品图纸也可通过编辑、修改,生成新的图纸。

A图形软件的类型

绘制图纸仅有硬件是不够的,还必须有相应的图形软件,提供计算机进行绘图工作的指令和功能。目前已研制了一些图形软件。

根据图形软件的功能可分为绘图指令软件、图形支撑软件及专用图形软件。

绘图指令软件 这类软件常用汇编语言,甚至用机器语言编写。通常是一些基本的绘图指令,如画点、线、弧、圆等。这些基本绘图功能由计算机厂家或公司编写,提供给用户,如BASIC语言、C语言都提供了简单的绘图指令,但距离CAD系统的要求相差很远。

图形支撑软件 这类软件可用汇编语言编写,也可用高级语言编写。除提供基本绘图指令外,还可以对图形进行编辑、修改控制等,功能较强、适应范围广。

这类软件工作方式有两种形式,一种是子程序软件包的形式,用户通过调用功能子程序来实现绘图。属于该类工作方式的软件有GIS图形软件及Calcomp图形软件,它们都是在FORTRAN程序中调用子程序。使用的优点是没有给用户增加新的语种,用户使用方便,修改或补充也很方便。另一种是交互式绘图系统,用户可以通过输入、输出装置与计算机交流信息,采用人机对话方式绘图及对图形进行变换操作,如变比例、旋转、平移、改变颜色等操作,此类系统在国内、外使用范围较宽。美国AutoDesk公司开发的AutoCAD图形软件就属于此类。该软件从1983年问世以来,经历多次版本修改,已发展到13.0,而且版本可以分别采用DOS操作系统或WINDOWS操作平台。此外国内一些单位,如北京大恒公司和凯恩公司相继开发了CAD产品,基本上也适用于液压CAD。CAD人员通常在此类系统的支持下开发自己的图形系统。

专用图形软件 专用图形软件是在某种基本绘图指令软件或支撑软件基础上开发的,针对某种特定领域、特定专业或特定用途的图形软件,如标准机械零件图形软件、机械装配图绘制软件、电子线路板绘图软件等。

B.图形软件的功能

不同的图形软件系统,功能不完全相同。一般说来,系统提供的子系统及命令语句多,功能就强些。通常有以下几方面功能:

·定义窗口与视区,即定义用户作图区域与屏幕显示区域或绘图机绘图区域;

·图形描述,包括点、线、圆、圆弧、矢量、字符文本等最基本的能力以及相应的多边形、椭圆、曲线;

·图形编辑与变换,对已有图形进行删除、修改、完善,实现对图形的各种几何变换,如放大、缩小、平移、旋转等;

·图形控制,包括显示控制、图形输出控制等;

·图形文件处理,对于一些比较复杂的图形的集合,如某个零件的某一个视图,或典型的三角形、多边形等,可分别将它们定义成文件(或块)然后进行处理,并可进行调度管理,提高图形处理效率;

·数据交换功能,图形存储方式应该便于和其他软件交换。如AutoCAD,以*.DWG方式存储也可转换成*.DXF形式(图形内部更换文件)或其他存储方式,如*.BMP(位图)方式等;

·交互处理图形功能,CAD软件设计的图形需要人工判断和修改,目前广泛应用的菜单技术,具有命令显示清晰、人机界面良好的特点。

C.绘图程序编制方法

有了图形软件就可以进行应用程序的开发。一般,一个二维图形都是由点、线、弧等最基本的图形元素组成,而任何复杂图形又是由简单图形构成。在编制一个绘图程序之前,应对绘制图形进行分析,确定绘制的途径或方法。常用绘图程序编制方法有:

·调用基本绘图指令画图。这种方式只适宜于结构形状简单的图面;

·调用图形元素指令画图,图形元素是构成图形的最小实用单元。通过对图形元素的拼接变换,可以形成复杂的图形;

·装备专用图形库,将某些常用的图形作为一个子程序存入图形库,根据需要调用图形库。这种方法针对性强、效率高,但通用性差,

(2)参数化绘图程序设计

CAD的实际工程设计中,60%~80%的图形是通过修改已有的设计而形成新设计。而且多数是通过修改设计参数(如参数优化)来实现,所以参数化绘图程序设计具有广阔的应用领域。

参数化绘图又称程序自动绘图。就是根据设计者设计的几何参数自动绘图。在CAD过程中,一般设计部分(包括参数设计、结构设计)要求软件具有较强分析计算数值的功能,以及逻辑判断功能,所以采用中、高级程序设计语言如BASIC,FORTRAN,C语言,而绘图部分要求支撑软件有较强的图形编辑处理能力,为了实现这两部分相互之间数据传递,必须解决两者之间的连接问题。AutoCAD由于其优异的图形处理功能,已成为绘图的主要支撑软件。下面以AutoCAD绘图软件为例,说明AutoCAD与其它语言之间的连接。

A.利用图形交换文件(*.DXF)实现连接

图形交换文件简称.DXF文件,这是具有专门格式的ASCⅡ码,能描述AutoCAD的图形的文本文件。

图形交换文件相当于一个媒介,当AutoCAD与高级语言程序连接时,首先将其内部图形数据库格式(*.DWG格式)转换为.DXF格式,然后由高级语言来读取,将结果写成.DXF格式文件,返回AutoCAD中转换为内部图形数据库格式生成图形。图6.1-9表示了与AutoCAD的连接示意图。

图6.1-9 高级语言与AutoCAD连接

图中接口程序作用就是对一种指定格式的文件进行读写操作,能够按高级语言的格式进行输入,由.DXF文件实现高级语言与AutoCAD的连接。DXFIN是将.DXF文件格式转换成.DWG格式。在AutoCAD中生成图形。DXFOUT则是将.DWG格式转换成.DXF格式,再由高级语言读取数据。

B.用AutoLISP实现联接

AutoLISP是内嵌在AutoCAD绘图软件中的LISP语言,具有LISP语言特点,擅长处理具有不同存储量的数据对象,是一个面向对象、求值的语言,而不是过程的语言。具有简洁的语法,编程简便,程序尺寸短小,它可以把AutoLISP程序和AutoCAD的绘图命令结合起来,使设计和绘图完全融为一体,还可以编程,实现对图形数据库的直接访问、修改、屏幕实时修改、实现交互设计。

AutoCAD利用AutoLISP提供的文件操作函数对数据文件进行读写操作,因而可自动读取其他高级语言程序,运行后产生数据文件中的数据,并且将数据输入AutoLISP绘图程序中,从而实现参数化绘图。

C.用命令组文件(.SCR)实现联接

若AutoCAD具有命令组功能,则可执行用户用若干个AutoCAD命令及选择项缩写的命令序列,命令序列称为命令组,把命令组以文件的形式存储称作命令组文件,代号为.SCR。

在这几种联接方法中,后两种在参数化绘图中使用较多,而且往往将这两种方法联接起来。如对于一个有几个视图组成的图形,为简单起见,可将每一个视图编写一个LISP程序,然后用SCR文件将这几个程序联系起来生成一个图形。

分享到: