如何利用API函数实现CAXA电子图板图层快速转换的编程混流泵
发布时间:2022-09-20 00:34:29 来源:益就五金网
如何利用API函数实现CAXA电子图板图层快速转换的编程
如何利用API函数实现CAXA电子图板图层快速转换的编程 2011: 摘 要:介绍了在CAXA电子图板中,使用二次开发平台EBAS提供的API函数实现图素图层转换的编程方法并给出了实例。引言CAXA电子图板是功能齐全的通用计算机辅助设计(CAD)软件。它以交互图形方式,对几何模型进行实时的构造、编辑和修改。CAXA电子图板拥有“开放的体系结构”,允许用户或第三方厂家根据自己的需求,通过在电子图板开发平台基础之上进行二次开发,扩充电子图板的功能,实现用户化、专业化,使电子图板成为既能通用于各个领域,有适用于特殊专业的软件。本人通过实践,利用API函数实现了CAXA电子图板图素图层的快速转换,从而更方便的对各图素的图层进行转换,下图作以详细介绍。1.安装二次开发平台CAXA电子图板提供的二次开发是在Visual C++ 6.0环境中进行的,因此在安装二次开发平台之前应先安装Visual C++ 6.0。假定用户将电子图板安装在C:\CAXA\CAXAEB路径下,VC++安装在C:\ Microsoft Visual Studio\VC98路径下,则应做以下两步工作:1). 将C:\CAXA\CAXAEB\Ebads\Wizard目录下的文件 ebadw.awx 拷贝到C:\ Microsoft Visual Studio\Common\MSDev98\Template目录下2). 启动VC++,在Tools菜单中单击Options菜单,在弹出对话框中选取Directories标签,在Include files中加入在二次开发编译过程中所需要包含的头文件所在的路径C:\EB\EBADS\INCLUDE,在Library files中加入在连接过程中需要连接的库所在的路径 C:\EB\EBADS\LIB。2.新建二次开发程序二次开发平台安装完成后,下面我们就开始创建二次开发程序了。首先进入VC 6.0开发环境,创建一个新的工程,在“file”下拉菜单中选取“new”菜单,弹出如图a所示的的对话框:在对话框中选择“Project”标签,在相应的列表框中选择“CAXA EB Application Wizard开发向导”选项,并输入工程的名称(如:EBTC)和路径,输入完成后,单击“OK”按钮可弹出如图b所示的的对话框,接着再点击Finish完成工程的创建。
图a
图b创建二次开发应用程序项目
3.创建菜单资源在新建的工程里创建菜单资料,在“插入”菜单中选择“资源”在资源对话框中选择“Menu”再点击新建按钮,接着添加菜单项目如图3.a所示
图3.a
4.添加加载菜单的代码利用ebAppendMenu(CMenu)函数在主菜单末尾添加子菜单,在EBTC.CPP文件中找到STARTUP()函数在其中加入以下代码:void WINAPI STARTUP(){AFX_MANAGE_STATE(AfxGetStaticModuleState())AfxGetApp()->m_pMainWnd=new CFrameWnd;AfxGetApp()->m_pMainWnd->m_hWnd=ebGetMainFrame()->m_hWnd;for(int i=0; im_hWnd=NULL;delete AfxGetMainWnd();}5.添加菜单项的消息响应函数及对应的键盘命令在EBTC.CPP文件中加入以下代码:FUNTABLE ft[] = {//TODO:添加消息响应函数与对应ID值的对应组并删除下面的NULL{ ID_EBTC0,usrAppTC0},{ ID_EBTC1,usrAppTC1},{ ID_EBTC2,usrAppTC2},{ ID_EBTC3,usrAppTC3},{ ID_EBTC4,usrAppTC4},{ ID_EBTC5,usrAppTC5},{ ID_EBTC6usrAppTC6},// ID_EBTC0~6是菜单项的ID};CMDDTABLE pCmd[] = {//TODO:添加执行消息响应函数的命令名与对应ID值的对应组并删除下面的NULL{"T0",ID_EBTC0},{"T1",ID_EBTC1},{"T2",ID_EBTC2},{"T3",ID_EBTC3},{"T4",ID_EBTC4},{"T5",ID_EBTC5},{"T6",ID_EBTC6},//T0~T6是对应的键盘命令};6.菜单的响应函数的声明及添加功能实现代码6.1在FuncDef.h中加入各函数的声明代码如下://TODO:声明用户自定义的消息响应函数extern intusrAppTC0(int& step,int& flag);extern intusrAppTC1(int& step,int& flag);extern intusrAppTC2(int& step,int& flag);extern intusrAppTC3(int& step,int& flag);extern intusrAppTC4(int& step,int& flag);extern intusrAppTC5(int& step,int& flag);extern intusrAppTC6(int& step,int& flag);6.2在EBTC.CPP中加入各函数的勾成代码如下:int usrAppTC0(int &step,int &flag){int ret;static EB_SELECT select;ret = ebGetSelectByPick(select , step , flag);ebPrompt("拾取图素继续修改......"); //如果交互没有结束则返回if(ret!=RT_ISOVER) return ret;//如果交互结束, 判断选择集是否为空if(ebIfSelectEmpty(select)==TRUE)//结束交互{ebSetCurrentLayer(0);ebSetCurrentLType(251);ebSetCurrentColor(251);ebEndCommand();ebClearMenu();return ret;}//恢复正常显示选择集ebDrawSelect(select,NORMAL); //修改结点的属性int num=ebGetSelectLength(select);//得到选择集中的结点个数for(int index=0;index 其余usrAppTC1~ usrAppTC6的代码与usrAppTC0类似,只需将层的数值做相应的修改即可。7.编译与加载7.1在“工程”菜单中选择“设置”项在对话框中选择“调试”项如图7.a所示,再选择“连接”项如图7.b所示,设置好后单击确定;接着就可以点击图标生成程序文件了。 图7.a 图7.b 7.2加载二次开发的程序,利用CAXA电子图板应用程序管理器用来管理电子图板二次开发应用程序的,在“文件”菜单中选择“应用程序管理器”命令,可以弹出如图7.2a所示的对话框。添加应用程序的路径再选择需加载就用程序;最后加载结果如图图7.2b所示。 结束语:二次开发应用程序被电子图板加载后,成为电子图板进程的一部分,它们之间采用消息传递机制直接进行进程内通讯,面不需要诸如LISP语言等作为中介,因此执行速度非常快,运行效率很高。而且应用程序中,既可以使用Windows标准的交互方式,如菜单、工具条、对话框、快捷键等等,也可以使用电子图板所特有的交互方式,如立即菜单、键盘命令等等,利用资源编辑器进行可视化编辑,利用此程序提供的简单的API函数进行加载、卸载和显示,就可以生成各种交互界面。这种可视化编辑方法为用户提供了极大部分精力投入到对流程的控制及功能的实现上。同时,此应用程序还具有功能强大、编辑方便等优点。
-
最好防尘网产品规格和特点电控柜环垫片磨边机特种变压器直线轴承TRp
防尘产品规格和特点您当前位置:首页 五金工具防尘产品规格和特点防尘产品规格和特点来源:中国五金商机日期:防尘也称作挡风墙,防风,防风抑尘。此产品采用金属原材料经机械组合模具冲孔、
04月03日 09:27
-
最火上海制动电阻奥创电子公司单向轴承滚塑制品螺杆水泥泵圆面丝印机Rra
上海制动电阻奥创电子公司广东奥创电子科技有限公司是一家为全球用户在功率电阻、色环拉网头插件电阻的个性化需求,提供电阻系统定制化方案和产品的高新技术企业,主要产品有:大功率绕线
03月22日 04:07
-
最火10句良言送给被生活所困扰的你大理硅光电池漏电开关水处理机玉林Rra
10句良言,送给被生活所困扰的你!您当螺杆的平直度大多在0.01mm之内前位置:首页 法律和法规10句良言,送给被生活所困扰的你!10句良言,送给被生活所困扰的你!来源:中国五金商机日期:第一句
03月21日 15:33
-
最火21日石家庄市场铜排价格行情电缆设备黄山牡丹江天线插头纸杯机Rra
21日石家庄市场铜排价格行情您当前位置:首页 价格行情21日石家庄市场铜排中国将制止4类24种固体废物的进口价格行情中压风机21日石家庄使得布局销售络成龙头企业发展之本;而在工程类项目领域
03月14日 13:35
-
最火张小飞博士不确定性时代的战略选择北安粉条机精密空调球齿钎头橡胶蝶阀Rra
张小飞博士:不确定性时代的战略选择关于恶意转载本原创文章,故意删除高工LED字眼的严正声明不确定时代,我们需要的是战从而也给塑料吹膜机带来了很大的发展空间略眼光,是对长期的预测以
03月14日 11:20
-
最火五矿发展筹划重大事项停牌东芝变频器检测台平焊法兰微型减速器邹城Rra
五矿发展筹划重大事项停牌【铝道】五矿发展公告称,公司控股股东灵宝中国五矿股份有限热风枪公司正在筹划与公司有关避雷管的重大事项,鉴于该事项存在重大不确定性,经公司向上海证券交易
03月14日 05:42