Delphi中实现AutoCAD图形的预览及编辑 --
发表:不详 阅读:482次 关键字: 字体:[大 中 小]
在工程技术领域中,人们常常需要查阅、编辑众多参数,绘制大量的图纸及进行图文混排的编辑
工作。随着
计算机技术的飞跃发展,开发基于WINDOWS/NT平台下的这些应用程序变得迅速而简单。如使用Delphi、VF和AutoCAD等
软件。Delphi最大的优越性在于它提供了大量VCL(Visual Component Libraries)。在它的VCL中几乎封装了所有的Windows API(Application Programming Interface)函数,使得编程人员可以很少去直接使用底层的Windows API函数而直接利用VCL实现几乎所有的Windows功能。笔者针对CAPP中的机械加工过程卡编制,对在
Delphi中对AutoCAD图形进行预览、及对它们进行编辑的功能作了一尝试。其过程如下:
首先建立一个窗体(Form),在该窗体上设置TtoolButton、Combobox、Ole和Tpanel等控件(见图1)。其中:TtoolButton的为浏览按钮,这些按钮从左到右依次实现对:第一道工序,上一道工序,下一道工序和最后一道工序的机械加工过程卡进行预览的作用;Combobox为复选框,选择该框下的某一个文件即可对相应机械加工过程卡的图形文件进行预览;Ole是本文的核心部分,Ole是一套由美国公司提出的协议和过程,是应用程序共享数据的方法。它具有一个应用程序中包含另一个应用
程序所创建数据的功能。点击Ole容器中的机械加工过程卡图形,即可联结AutoCAD R2000,进而实现对图形的实时编辑。本程序的主要代码如下:
procedure Tform1.FormShow(Sender:Tobject);
varj:integer;
begin
con:=12;// 预置的工序数目
for j:=1tocondo
combobox1. Items. Add( extractfilepath (application. Exename)+‘g‘ +inttostr(j)+‘.dwg‘); // 复选框内存入工序卡的文件名称
combobox1. ItemIndex:=0;
try
ole. CreateObjectFromFile(combobox1.text, false);
except
on exception do messagedlg(combobox1. Text+‘不能装载‘, mterror, [mbok], 0);
end;
combobox1. OnChange(self);
end;
procedure Tform1. firClick(Sender: TObject); // 翻到第一道工序的按钮
begin
combobox1.itemindex:=0;
combobox1.OnChange(self);
end;
procedure Tform1.nextClick(Sender: TObject); // 翻到下一道工序的按钮
begin
combobox1. Itemindex:=combobox1.itemindex+1;
combobox1.OnChange(self);
end;
procedure Tform1. ComboBox1Change(Sender: TObject); // 由复选框进行工序卡的预览
begin
try
ole.DestroyObject;
ole.Update;
ole.CreateObjectFromFile(combobox1.text.false);
except
on exception do begin messagedlg(combobox1.Text+‘不能装载‘, mterror,[mbok],0);
exit;
end;
在Delphi中对AutoCAD图形进行预览、及对它们进行编辑上述程序,已在Delphi5.0及AutoCAD R2000下通过运行