热门关键词:

基于CAXA和Visual C++的接管法兰绘制程序的二次开发

  • 该文件为pdf格式
  • 文件大小:182.5KB
  • 浏览次数
  • 发布时间:2014-09-03
文件介绍:

本资料包含pdf文件1个,下载需要1积分

Secondary Development of Pipe Connecting Flange DrawingProgram Based on CAXA and Visual CCA I Hong-tao(School of Mechanical and Electrical Engineering,W uhan Institute of Technology,W uhan Hubei 430074,China)Abstract:Describe the secondary development method and course of pipe connecting flangedrawing program based on domestic softwares CAXA and Visual C.including the developmentenvironment,procedural framework construction and flange size data processing method,etc.Partprogram code and partial running program results are provided。

Key words:pipe connecting flange; secondary development; procedural framework; dataprocessing;program debug问题的提出目前市场上流行的计算机辅助绘图软件大都是交互 式 的 ,具有 功 能 强 大、应 用 面广 的优点口],但是也有针对性差、绘图效率低的缺点。

利用基于约束的参数化设计绘图技术对这类软件进行二次开发,定制专业特点突出的个性软件可以很好地解决这个问题。该技术是指编制图形程序绘制基本结构相似的零部件 ,当给出图形各个部分的控制参数时便能迅速生成零部件图形的绘图方法 ]。国产软件 CAXA 系统提供 了基于vC 的二次开发平台。本文利用此平台开发了HG20592-2009《钢制管法兰、垫片、紧固件》中三种管法兰的参数化绘图软件 guanfalan.eba。

将此软件加载到 CAXA系统 中,能在 CAXA 的主菜单后 生成 HG20592”主菜单 ,此菜 单下有对应于 板式平焊法兰”、带颈平焊法兰”及带颈对焊法兰” 的子菜单 ,分别点击,则得 到各个接管法兰的几个视图。

2 二次开发环境要安装 Microsoft Visual C 6.0和 CAXA系统。程序的编译 、连接及调试均在 VC6.0中进 行。CAXA 的 二 次 开 发 平 台 EBADS(Electronic Board Application Develop System)提供了对应于 CAXA交互式绘图命令的 API函数。这些函数包括:交互实现、系统操作、实体部分、数据管理、几何运算和图形编辑等,基本收稿 日期 :2013 05-27作者简介:蔡洪涛 (1966-),男,湖北应城人,副教授,从事压力容器与设备的设计与研究工作。

兰第 3期 蔡洪涛 :基于 CAXA和 Visual C的接管法兰绘制程序的二次开发 ·87·可以实现所有的图形操作L3]。

完成安装后将文件 cAxA/EBADS/wizard/ebadw.aWX拷 贝 到 Microsoft Visual Studio/Common/MSDev98/Template目录下。在 VC界面的主菜单 TOOLs的子菜单项 Options中加入CAXA的头文件和库文件的目录路径,它们分别 是 CAXA/EBADS/INCLUDE 和 CAXA/EBADS/LIB。

3 构建程序框架在 VC6.0下利用 CAXA 电子图板应用程序开发 向导”创建-个新的工程,命名 为 guanfalan”。此 工 程 生 成 的 文 件 有 SourceFiles”、 Header Files”和 Resource Files”。

主要 文 件 是 funcdef.h,guanfalan.cpp和 std-dl1.epp。

在资源编辑器中添加菜单资源及子菜单资源。完成后的界面如图 1所示。

图 1 添加菜单资源(Fig.1 appending menu resource)在 guanfalan.cpp文件 中添加实现菜单 ,点击并得到响应的代码。代码为FUNTABLE ft r]//TODO:添加消息响应函数与对应 ID值的对应组并删除下面的 NULLIDR-RF1,plfalanrf,IDR-FF1,plfalanff),IDR FF1,sofalanff,IDR RF2,sofalanrf,IDR-FF2,sofalanff2,IDR MFM1,falanmfml,IDR-TG1,falantgl,IDR-RF3,falanff3,IDR-FF3,falanff3,IDR-MFM2,falanmfm2,IDR-TG2,falantg2),IDR-RJ,falanrj,);其中,IDR-RF1”等是各种法兰子菜单的标识符, plfalanrf”等是消息响应函数的名称。消息响应函数名称应与 funcdef.h文件中申明的函数名称-致。本例的此文件全部内容如下。

//包含用户消息响应函数声明的头文件#ifndef-FUNCDEF#define -FUNCDEF//TODO:声明用户自定义的消息响应函数int extern plfalanff(int.step,intflag);int extern plfalanrf(intstep,intflag);int extern sofalanff(intstep,intflag);int extern sofalanrf(intstep,intflag);int extern sofalanmfm (int step,intflag);int extern sofalantg(intstep,intflag);int extern wnfalanff(intstep,intflag);int extern wnfalanrf(intstep,intflag);int extern wnfalanmfm (int step,intflag):int extern wnfalantg(intstep,intflag);int extern wnfalanrj(intstep,intflag);拉endif4 数据处理及程序框图到目前为止,上述消息响应函数是空的,单击其菜单,无反应。为此应该编写代码,完成对应法兰视图的绘制。EBADS提供的API函数相当于交互式的绘图命令,实体的特征点坐标用变量表示,作为函数的参数。程序中图形绘制的代码的编制与实际绘图的过程相同,那么,剩下的问题就是数据处理了。本文以板式法兰为例予以说明。

HG20592中给 出了法 兰的结构及 尺寸。相同公称压力等级、不同公称直径的法兰尺寸 ,形成-个二维表格。二维表格习惯上用二维数组表示。先将表格编写为-个数据文件 ,然后将数据读入二维数组。板式法兰、带颈平焊法兰和带颈对焊法兰数据表格用三个数据文件。不过,因为二维数组的数据的二维下标没有意义,编程时容易出错 ,本文再将数 据从 数组读入-个结 构体中,以结构体成员变量作为参数参与图形实体特· 88 · 化工设计通讯 第 39卷征点坐标的计算♂构体定义为struct falanlei- - typemt N0;//表格行号lnt DN;//法兰公称直径lnt B;//接管外径i。nt D;//法兰外径m。t K;//螺栓孔中心圆直径mt L;//螺栓孑L直径mt N;//螺栓个数m t C;//法兰厚度mt d;//密封面直径falanlei;根据给定的法兰公称压力和公称直径确定法兰数据数组的第-个下标号,并将相应的数据读入上述结构体 ,得到法兰的尺寸。程序框图如图 2。

打开板式平焊 打开带颈平焊 打开带颈对焊法兰的数据文件 法兰的数据文件 法兰的数据文件I将其数据读人二维数组输入法兰公称压力I输入法兰公称直径Il确定数组行号,读人结构体lII输入接管外伸长度及接管壁厚及插入点II绘制基本视图I结束图 2 绘制法兰的程序框 图(Fig.2 the porgram frame)5 程序调试及运行根据上述框图编制的程序代码即是消息响应函数 plfalan(intstep,intflag)的主要内容。

将此代码保存为-个单独的 .cpp文件,加载到工程 guanfalan中,编译、连接,无错误后,生成 guanfalan.eba文件 。运行 CAXA系统 ,单击主菜单文件下的 应用程序管理器”,加载此文件,则得到如图 3所示界面∩见,在 CAXA系统的主菜单后面生成了 HG20592”主菜单。

此时 全平面法兰”就相当于-个绘圆、绘直线的命令了。试绘制法兰,如果每种法兰都能正确绘制 ,则证 明程序正确 ;否则修 改绘 图部分代码,再编译连接生成 .eba文件,再运行 ,直到结果正确 。图 4是公称压力为 1.0 MPa,公称直径为200mm,接管外 伸长度 为 150 mm,接管 壁厚 为5 mm的两种密封面的板式平焊法兰的绘制结果。

图 3 加载应用程序后 CAXA 系统的界面(Fig.3 the CAXA system interface after loadingthe applications)面 面 (a)突面型 (raisedflat) (b)全平面型 (fldlfla!)图 4 PN1.0、DN200突面 和全平面板式平焊法兰(Fig.4 PN1.O、DN200 RF and FF plate-type slip-on flange)6 结 语CAXA的二次开发平台 EBADS提供了应用程序模板 ,用户只需要在此框架 内添加功能实现代码就可完成相应的程序编制。采用面向图形对象实体的方法编程,与实际的绘图过程类似。其API函数好记易学。利用本文方法编制的管法兰绘制程序能实现各种管法兰的参数化绘图,有快速 、准确的特点,具有较强的实用价值。

正在加载...请等待或刷新页面...
发表评论
验证码 验证码加载失败