AutoCAD图形中标准图纸图栏系统的开发.doc
《AutoCAD图形中标准图纸图栏系统的开发.doc》由会员分享,可在线阅读,更多相关《AutoCAD图形中标准图纸图栏系统的开发.doc(10页珍藏版)》请在三一文库上搜索。
1、AutoCAD图形中标准图纸图栏系统的开发作者: 郑立楷随着计算机技术的发展,计算机操作系统已经逐渐由DOS系统转向Windows系统,AutoCAD自从12版本开始,已经有Windows的版本,直至14版本以后,已经是完全的Windows版本。AutoCAD除了操作简便之外,它还可以让用户重新定义其界面以及建立自己的程序运行,国内各不同的电脑开发商也通过对AutoCAD的二次开发而开发出应用于不同领域的实用软件。自从AutoCAD R12版开始,AutoCAD引进了对话框技术DCL对话框语言,它通过与AutoLISP语言相结合,能够编写出界面友好的实用程序。本人所在公司旧版的图栏填写是基于A
2、utoCAD R10版本而开发出来,操作过程是通过命令行提示,让用户根据提示,逐一输入相应的内容。这种方法程序编写简单,基本的语句如下:(setq txmc(getstring 图形名称:) ;提示用户输入图形名称(command text pt txmc) ;填写图形名称到图形中采用此种方法填写的图栏内容与图形中的其他文字一样,编辑时也是通过文字编辑进行操作,不太方便,在制图的过程中,图栏内容的编辑也占用了很大部分的时间。一 总体方案:图栏分为图样栏、标题栏、明细栏、附加栏、更改表、签名表共六部分,标准图纸的图幅分为A0图、A1图、A2图、A3图、A4图共五种,所以系统应该能生成此五种图幅的
3、图样栏以及相应的标题栏等。由于其他除图样栏外其他图栏内容都是依附于图样栏中,所以在更改图样栏的图幅时,其他图栏的相应位置会随着图样栏的改变而改变。由于该系统必须与旧版系统兼容(本公司的全部图纸都由旧版图栏生成,如果手工修改,所费时间将无可估计),所以进入该系统后,系统必须自动地将旧版的图栏更改为新的图栏格式。图栏的格式采用在图块中增加属性,通过属性的方法显示图栏的文字内容。而图栏的填写是通过在插入图块的同时输入属性的内容。而图栏的编辑则通过对相应图块的属性进行提取而显示于对话框中让用户进行修改。二 程序的设计 程序设计的重点主要有以下几个方面:对话框的设计;怎样通过对话框的形式编辑图栏内容;怎
4、样能将旧版的图栏转换为新版的图栏,以省去大量的手工转换工作;图样栏的大小怎样才能直接地显示在窗口的状态栏中;图样栏中设计单位名称的显示处理;图栏程序的调用。下面介绍各部分的具体设计。 1. 对话框的设计: AutoCAD软件包从AutoCAD R12以来最大的进步之一是它提供的新的可编程对话框(PDB)工具,使用DCL对话框语言再配以AutoLISP语言,就可以设计出与AutoCAD软件包风格完全一致的应用程序。 通过DCL对话框语言,对图栏的各对话框进行设计,在设计过程中,主要是考虑对话框界面的协调性及各控件安排的合理性。在图样栏的对话框中,使用选项按钮(radi0_button)选择标准图
5、纸的图幅大小,使用弹出列表框(popup_list)列出预置的设计单位名称,而使用编辑框(edit_box)填写在单位列表框中没有列出的单位名称。 在标题栏中,使用编辑框填写名称、图号、材料、比例、重量、总页数、页码等,而使用选项按钮选择阶段标记。 全部的图栏对话框都分为填写功能和编辑功能两种,由于对话框语言有类似于“类”的具有继承性的功能,通过将对话框的内容部分使用一个名称保存,然后在另外的对话框内引用保存过的对话框内容,这样就可以使用不同的标题显示同样外观的对话框内容(如“填写图样栏”和“编辑图样栏”)。另外,由于图样栏已经定义了图纸图幅的大小,所以标题栏等其他图栏也就不必提示用户选择图幅
6、而自动找到填写的位置。所以在对话框中除图样栏外,其他图栏的对话框都不必出现“图纸大小”的选项按钮。以下列出图样栏对话框的程序内容:/填写图样栏部分ddtyl:dialog label=填写图样栏; drtyl; /编辑图样栏部分dmtyl:dialog label=编辑图样栏; drtyl; /图样栏内容部分drtyl:column boxed_size; :boxed_column :popup_list label=设计单位(&S):; key=sign_ro; :edit_box label=其他设计单位(&O):; key=other; edit_width = 20; allow_a
7、ccept=true; ok_cancel; /图纸大小内容部分boxed_size:boxed_radio_row label=图纸大小; :radio_button label=A&0; key=size_0; :radio_button label=A&1; key=size_1; :radio_button label=A&2; key=size_2; :radio_button label=A&3; key=size_3; :radio_button label=A&4; key=size_4; 设计了对话框以后,还必须通过AutoLISP语言来调用及驱动对话框。在显示图栏对话框前,
8、必须初始化对话框中各项的值,对于没有相应内容的项目,使用默认值。而对于具有相关内容的项目,则显示其内容供用户修改。 通过对话框,使用图栏的修改更为直观方便,操作也更为简单。 2. 图栏内容的编辑设计: 旧版的图栏只有填写功能,无自动编辑功能,只能通过文本编辑功能对内容逐一进行编辑,而且对于图样栏的大小无法编辑,只能删除旧图样栏再插入新图样栏,并且更换图样栏后标题栏等内容的位置无法与新图样栏对齐,只能靠手工进行调整。这些问题必须在程序中进行完善。 为了方便各种图栏的移动及图栏内容的提取,使用图块的属性保存各种图栏的内容。填写图栏时,是在插入图块的同时将图栏的文字内容作为图块的属性内容插入图形中,
9、编辑图栏时,首先将相应图栏的图块的属性通过属性的提取而取出,并提供用户作修改,并将修改后的内容通过图块的属性更新而重新显示于图形中。图栏内容的移动就是图块的移动。 对于图样栏,不同的图样栏的大小采用不同名称的图块,在修改图样栏大小时,采用的是通过程序的控制,首先取出图块中设计单位的名称,并显示于对话框中,然后删除该图块,然后再插入新的图块,并将设计单位的属性附于图块上,同时,程序控制移动标题栏、附加栏、签名表等图栏到新的图样栏的相应位置上。这样实现了图样栏中图纸大小的编辑修改。 以下为图样栏编辑的程序设计内容,从中可以看到图样栏是怎样编辑的:(defun ty_modi() (setq hea
10、d(entget(setq head_t(ssname sel_bt 0) ;取得图样栏图块的头部,其中sel_bt为图样栏图块 (setq he_zzdw(entget(entnext(cdr(car head) ;取得设计单位属性文本 (setq zzdw(getent he_zzdw1) ;取得设计单位文本内容,getent为自定义函数 ;调用对话框并初始化、显示 (if (= aaa (getvar useri1);判断图幅是否改变 (progn ;如果没有改变 (setent zzdw he_zzdw 1) ;改变图块中设计单位 (entupd head_t) ;更新图块 ) (pr
11、ogn ;如果图幅改变了 (entdel head_t) ;删除原图样栏 (command purge b tkn n) ;清理相应的图块 (setq tkn(strcat B-GBA (itoa aaa) TY) ;组合出图样图块的名称 (command insert tkn non 0,0 zzdw) ;插入附有属性的图样图块 (modi_ipt B-BTL p2p p2) ;移动标题栏等到新的图样栏的相应位置 ) )3. 旧版图栏的转换: 程序只有保持向下的兼容性才能得以广泛的使用,对于图栏的填写程序,也应该保证能够很好地兼容旧版的图栏,并能顺利地将旧版的图栏转换为新的图栏。 对于标题栏
12、的转换,只需取得相应位置上的标题栏的内容,然后将原来的标题栏内容删除,再插入附有各属性内容的标题栏图块。 对于图样栏,除删除旧的图样栏图块,还必须将该图块通过清理命令将其清理掉,然后再插入新的格式的图样栏,通过这样就可以将图栏进行转换。 图样栏转换的程序如下:(setq head(entget(setq head_t (ssname sel_bt 0) ;取得图块头部(if (getent head 66)1) ;查看图块是否为旧版图块 (progn ;旧版图样栏时 (princ n此图样栏为旧版本,将被更新为新版本。n) (setq zzdw(get_text c (list(+ b_x -
13、1)(+ b_y 55) (list(+ b_x -49)(+ b_y 39) ;从旧图样栏中取得设计单位名称 (if (not zzdw) (setq zzdw ) ;如无单位名称,则为空字串 ) (entdel gead_t) ;删除旧图样栏 (command purge b gead_na n) ;清理旧图块 (command insert head_na non 0,0 zzdw);插入新版图样栏 ) 4. 状态栏中显示图样栏的图幅大小: 由于计算机显示的图形可以放大缩小,所以有些图幅容易造成混淆,如A2图和A3图幅,所以必须在一个显著的位置显示图幅的大小,使用户一目了然。 虽然通过调
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AutoCAD 图形 标准 图纸 系统 开发
链接地址:https://www.31doc.com/p-2508067.html