十五年专注于
液压缸筒生产

全国咨询热线:
400-086-9833

   热门关键词修理 加工 活塞杆 缸筒 不锈钢

无标题文档

天圆液压产品中心

当前位置:主页 > 行业资讯 >

AutoCAD图形中绗磨管标准图纸图栏系统的开发

时间:2016-11-13 09:00来源:天圆网站 作者:admin 点击:
随着计算机技术的发展,计算机操作系统已经逐渐由DOS系统转向Windows系统,AutoCAD自从12版本开始,已经有Windows的版本,直至14版本以后,已经是完全的Windows版本。AutoCAD除了操作简便之外,它还可以让用户重新定义其界面以及建立自己的程序运行,国内

随着计算机技术的发展,计算机操作系统已经逐渐由DOS系统转向Windows系统,AutoCAD自从12版本开始,已经有Windows的版本,直至14版本以后,已经是完全的Windows版本。AutoCAD除了操作简便之外,它还可以让用户重新定义其界面以及建立自己的程序运行,国内各不同的电脑开发商也通过对AutoCAD的二次开发而开发出应用于不同领域的实用软件。自从AutoCAD R12版开始,AutoCAD引进了对话框技术——DCL对话框语言,它通过与AutoLISP语言相结合,能够编写出界面友好的实用程序。

本人所在公司旧版的图栏填写是基于AutoCAD R10版本而开发出来,操作过程是通过命令行提示,让用户根据提示,逐一输入相应的内容。这种方法程序编写简单,基本的语句如下:

(setq txmc(getstring "图形名称:")) ;提示用户输入图形名称
(command "text" pt txmc) ;填写图形名称到图形中

采用此种方法填写的图栏内容与图形中的其他文字一样,编辑时也是通过文字编辑进行操作,不太方便,在制图的过程中,图栏内容的编辑也占用了很大部分的时间。

一. 总体方案:

图栏分为图样栏、标题栏、明细栏、附加栏、更改表、签名表共六部分,标准图纸的图幅分为A0图、A1图、A2图、A3图、A4图共五种,所以系统应该能生成此五种图幅的图样栏以及相应的标题栏等。由于其他除图样栏外其他图栏内容都是依附于图样栏中,所以在更改图样栏的图幅时,其他图栏的相应位置会随着图样栏的改变而改变。由于该系统必须与旧版系统兼容(本公司的全部图纸都由旧版图栏生成,如果手工修改,所费时间将无可估计),所以进入该系统后,系统必须自动地将旧版的图栏更改为新的图栏格式。 图栏的格式采用在图块中增加属性,通过属性的方法显示图栏的文字内容。而图栏的填写是通过在插入图块的同时输入属性的内容。而图栏的编辑则通过对相应图块的属性进行提取而显示于对话框中让用户进行修改。 图1为图样栏的工作流程图,图2为标题栏的工作流程图。

图 1 图样栏的工作流程图

图 2 标题栏的工作流程图

二. 程序的设计

程序设计的重点主要有以下几个方面:①对话框的设计;②怎样通过对话框的形式编辑图栏内容;③怎样能将旧版的图栏转换为新版的图栏,以省去大量的手工转换工作;④图样栏的大小怎样才能直接地显示在窗口的状态栏中;⑤图样栏中设计单位名称的显示处理;⑥图栏程序的调用。
下面介绍各部分的具体设计。

1. 对话框的设计:

AutoCAD软件包从AutoCAD R12以来最大的进步之一是它提供的新的可编程对话框(PDB)工具,使用DCL对话框语言再配以AutoLISP语言,就可以设计出与AutoCAD软件包风格完全一致的应用程序。

通过DCL对话框语言,对图栏的各对话框进行设计,在设计过程中,主要是考虑对话框界面的协调性及各控件安排的合理性。在图样栏的对话框中,使用选项按钮(radi0_button)选择标准图纸的图幅大小,使用弹出列表框(popup_list)列出预置的设计单位名称,而使用编辑框(edit_box)填写在单位列表框中没有列出的单位名称。

在标题栏中,使用编辑框填写名称、图号、材料、比例、重量、总页数、页码等,而使用选项按钮选择阶段标记。

各种图栏的外观见图3所示。

图3 各种图栏的外观

全部的图栏对话框都分为填写功能和编辑功能两种,由于对话框语言有类似于“类”的具有继承性的功能,通过将对话框的内容部分使用一个名称保存,然后在另外的对话框内引用保存过的对话框内容,这样就可以使用不同的标题显示同样外观的对话框内容(如“填写图样栏”和“编辑图样栏”)。

另外,由于图样栏已经定义了图纸图幅的大小,所以标题栏等其他图栏也就不必提示用户选择图幅而自动找到填写的位置。所以在对话框中除图样栏外,其他图栏的对话框都不必出现“图纸大小”的选项按钮。

以下列出图样栏对话框的程序内容:


//填写图样栏部分
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_accept=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语言来调用及驱动对话框。在显示图栏对话框前,必须初始化对话框中各项的值,对于没有相应内容的项目,使用默认值。而对于具有相关内容的项目,则显示其内容供用户修改。

通过对话框,使用图栏的修改更为直观方便,操作也更为简单。

2. 图栏内容的编辑设计:

旧版的图栏只有填写功能,无自动编辑功能,只能通过文本编辑功能对内容逐一进行编辑,而且对于图样栏的大小无法编辑,只能删除旧图样栏再插入新图样栏,并且更换图样栏后标题栏等内容的位置无法与新图样栏对齐,只能靠手工进行调整。这些问题必须在程序中进行完善。

为了方便各种图栏的移动及图栏内容的提取,使用图块的属性保存各种图栏的内容。填写图栏时,是在插入图块的同时将图栏的文字内容作为图块的属性内容插入图形中,编辑图栏时,首先将相应图栏的图块的属性通过属性的提取而取出,并提供用户作修改,并将修改后的内容通过图块的属性更新而重新显示于图形中。图栏内容的移动就是图块的移动。

对于图样栏,不同的图样栏的大小采用不同名称的图块,在修改图样栏大小时,采用的是通过程序的控制,首先取出图块中设计单位的名称,并显示于对话框中,然后删除该图块,然后再插入新的图块,并将设计单位的属性附于图块上,同时,程序控制移动标题栏、附加栏、签名表等图栏到新的图样栏的相应位置上。这样实现了图样栏中图纸大小的编辑修改。

以下为图样栏编辑的程序设计内容,从中可以看到图样栏是怎样编辑的:

(责任编辑:admin)
分享按钮
------分隔线----------------------------