欢迎来到天天文库
浏览记录
ID:40917912
大小:312.17 KB
页数:7页
时间:2019-08-10
《基于CAD二次开发的六角螺母库模块》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于CAD二次开发的六角螺母库模块摘要:由于大量的应用领域提供了特有的几何问题,对于这些问题必须建立有效的算法,从而得以画出更加精确的图形,就这样,CAD的二次开发孕育而生。本文着重就基于CAD二次开发的六角螺母库模块进行研究。关键词:CAD二次开发指令六角螺母一、二次开发概述和总体要求1.1二次开发概述二次开发是指在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能。AutoCAD尽管已经提供了肺腑的图形处理命令和线型、图案、文字以及符号库等,但是仍然不能满足用户的专业需要。因此要高效
2、率地使用CAD,就有必要对它们进行扩充与修改,即CAD二次开发。1.2二次开发的总体要求a、必须支持自动化。对自动化的支持使得其他程序能调用CAD系统的文档,可以使用宿主程序调用CAD二次开发系统的文档,并且可以应用宿主程序的自动化接口创建独立的程序。b、创建至少一个语法解释器。语法解释器是执行用户CAD二次开发脚本代码的关键,解释器的性能好坏是CAD二次开发易用和稳定的基础。c、程序需具有动态定义CAD模型的能力。构建CAD模型是CAD系统的根本要求,应用用户编写的脚本调用系统基本模型来构建复杂
3、模型、或用外部语言生成模型模块、在系统中无缝调用是CAD二次开发扩展功能的捷径。d、程序能支持DLL插件。支持DLL插件使得系统具有更强的伸缩性。e、所有的内部CAD模型都有组件封装,并由文档创建。二、方案设计,流程图,程序功能说明2.1方案设计:在VisualStudio软件上使用指令“AddNutPara”、指令“PrintNutPara”和指令“PlaceNut”编辑六角螺母的尺寸参数及其位置,角度等链表式储存和读取的程序,然后添加引用CAD安装包中“acdbmgd”和“acmgd”,最后在
4、CAD调用程序进行调试即可。72.2流程图:基于CAD二次开发的六角螺母库模块PrintNutPara指令PlaceNut指令AddNutPara指令打印所有螺母参数调整螺母的放置位置、角度和X、Y切变量输入公称直径D和对边宽S程序结束程序结束程序结束2.3程序功能说明本程序可以快速在CAD中绘制出用户想要的六角螺母的尺寸,以及可以很方便地调整位置,角度和X、Y切变量,大大地提高了CAD软件的绘图效率。三、程序各开发模块、函数说明3.1开发模块链表模块:主要是将文本框(textbox)的内容通过一
5、个按钮控件赋值给链表。函数用到string,字符串函数是char型的一维数组,可以把字符串中的字符作为数组中的元素访问,或利用char型指针对其访问。类:集合程序中的对象以及相关操作程序,实现操作的内部处理。3.2函数说明math函数:定义数学函数Line():直线Point3d():建立三维坐标Write():写入内容,不换行WriteLine():写入内容,自动换行7四、总结随着科技的快速发展,机械自动化的普及早已不可阻挡,CAD/CAM技术恰好非常适合这样的局势,而这也是我选修这门课程的主要
6、原因。经过了一学期的学习,我不仅对VB,C++等软件更加熟悉,而且认识到了CAD二次开发的重要性。而课程设计”基于CAD二次开发的六角螺母库模块”更是让我见识到了二次开发的高效率绘图方式,我相信将来CAD二次开发将会得到更广泛的应用在各个领域。五、代码附录usingSystem;usingAutodesk.AutoCAD.EditorInput;usingAutodesk.AutoCAD.ApplicationServices;namespaceCircleAndArc{publicclassCi
7、rcleAndArc{[CommandMethod("Fan")]publicstaticvoidFan(){//获取当前图形数据库Databasedb=HostApplicationServices.WorkingDatabase;Editored=Application.DocumentManager.MdiActiveDocument.Editor;using(Transactiontrans=db.TransactionManager.StartTransaction()){//定义六角螺
8、母的六个点doubleRadius=39.55/2;doubleRadius1=Radius*Math.Sqrt(3);doubleRadius2=12;doubleRadius3=0.85*Radius2;doubleStartAngle=0*Math.PI/180;doubleaAngle=60*Math.PI/180;doublebAngle=120*Math.PI/180;doublecAngle=180*Math.PI/180;doubledAngle=240*Math.
此文档下载收益归作者所有