开发环境,我们日常工作的99%都是在它上面完成的。很多人理所当然的认为,它就是Visual C++。其实不然,虽然Developer Studio提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能。Developer Studio并不是专门用于VC的,它也同样用于VB,VJ,VID等Visual Studio家族的其他语言。所以Developer Studio只是Visual C++的一个壳子。
第二部分MFC:从理论上来讲,MFC也不是专用于Visual C++。Borland C++,C++ Builder和Symantec C++同样可以处理MFC。同时,用Visual C++编写代码也并不意味着一定要用MFC,用Visual C++来编写SDK程序,或者使用STL,ATL,一样没有限制。不过,Visual C++本来就是为MFC打造的,Visual C++中的许多特征和语言扩展也是为MFC而设计的,所以用Visual C++而不用MFC就等于抛弃了Visual C++中很大的一部分功能。但是,Visual C++也不等于MFC。
第三部分Platform SDK:它才是Visual C++和整个Visual Studio的精华和灵魂。Platform SDK是以Microsoft C/C++编译器为核心,配合MASM,辅以其他一些工具和文档资料来完成整个程序工作的。
Visual C++的编译器、调试器、连接器、编辑器、和资源管理器都是非常强大的,在编译器中还提供了自动语句生成功能。编译器不仅仅界面友好,而且还自动提示函数的参数、对象的成员。集成调用工具以及支持一套联机文档。
使用Developer Studio,可以完成创建、调试、修改应用程序等各种操作。Visual C++是和Windows联系最为密切的开发工具。Visual C++还提供了应用程序向导来提供用户迅速生成应用程序框架。
使用Visual C++来编写应用程序,主要的就是它的执行效率。用户可以利用Visual C++以两种方式编写Win32应用程序,一种方式是基于Windows API的C编成方式,另一种是基于MFC的C++编程方式。由于C语言程序的开发难度与开发的工作量都是非常大的。而C++编程方式相对于C编程方式,代码的运行效率稍微低一点,但是C++编程方式的开发难度小、开发的工作量小、源代码效率高。所以一般在Windows下编写应用程序追求代码的运行效率时都会采用C++编程方式。
总结起来,Visual C++与其它开发语言比较具有以下优势:
第一,与Windows紧密结合。第二,强大的类库支持和改造能力。第三,拥有高效率的运行速度。
图2.2 Visual C++菜单
2.3 Visual C++开发SolidWorks的原理
SolidWorks软件是完全基于Windows的CAD/CAE/CAM桌面集成系统,它的核心技术是在Windows环境下生成的,充分利用和发挥了Windows的强大威力和OLE技术,具有用户界面友好,上手快的优点。该软件支持Visual Basic、Visual C++或其它OLE开发语言,免费提供二次开发工具API[13]。用户二次开发的应用程序,可直接挂在SolidWorks的菜单下,形成统一的界面。然而SolidWorks与许多商品化的CAD/CAM系统如Pro/E、UG、AUTOCAD等一样,它们虽然在设计行业中得到了广泛应用,但由于这些CAD/CAM系统都是作为通用机械设计与制造软件来设计的,不是特别有针对性,因此为了提高设计的效率,需要对其进行二次开发。
SSolidWorks 通过 OLE(Object Linking and Embedding ,对象的链接和嵌入) 技术为用户提供了强大的二次开发接口 API(Application Programming Interface ,应用程序界面) ,API 中包含了数百个可以在 Visual Basic、VBA(Excel 、Access 等) 、C、C++ 或 SolidWorks 宏文件调用的函数。SolidWorks API 接口采用面向对象的方法 ,所有的函数都是有关对象的方法或属性。用户通过对这些对象属性的设置和方法的调用 ,就可以在用户自己开发的程序中对 SolidWorks 进行各种操作控制 ,完成零件草图的绘制和修改;零件各种特征的建立和修改;零件的特征信息、装配信息及工程图纸信息的提取等。
使用Visual C++开发应用程序,可以直接嵌入到SolidWorks内部,加载成功后应用程序菜单直接出现在SolidWorks主菜单上,如同SolidWorks自带功能一样进行工作,极大地提高了设计效率。SolidWorks类库由Visual C++类库生成器生成,支持C++面向对象语言的三大特性:封装、继承和多态性。因此,利用此特性,可以派生出大量应用程序的新类,这样既能充分利用SolidWorks的类,又可以通过用户接口API用户继承并开发自己的新类[14] 。
SolidWorks系统本身是由Visual C++开发的,因此,继续用Visual C++进行二次开发无疑将会提高系统本身的兼容性,二次开发的模块可以完全嵌入到SolidWorks中而没有被排斥,这种寄主开发可以作到"无缝集成"。通过Visual C++编写基于 COM的动态连接库 DLL(Dynamic Link Library)文件 ,能直接在 SolidWorks 的界面下添加菜单、工具条等 ,如图2.3所示。在注册表中注册成功即可成为 SolidWorks 的插件 ,实现了与 SolidWorks 的兼容,是众多二次开发方法中的首选。
图2.3 SolidWorks添加的菜单
2.4 Visual C++开发SolidWorks的关键技术
利用Visual C++进行SolidWorks二次开发,需要对两者各自的关键技术进行大致的了解。同时,对两者之间的链接技术,需要重点的掌握。
2.4.1三维特征建模
在对标准件库进行开发的时间,首要的是对标准件进行建模。
SolidWorks的三维模型库由若干的三维模型组成。对于系列产品来说,可按照成组技术的原理进行分类,一组相似的零部件可建立一个三维模型,即所谓的三维模型板[15]。
模型样板的生产方式比较灵活,不仅可以在建库时由程序员构建,也可以根据需要随时进行修改和替换。一个模型样板可以认为是一组尺寸不同、结构形式相似的系列化零部件的基本模型,赋予其不同的一组参数值即可生成新的三维模型,因此,模型样板应包含该组零部件的所有特征,并用一组设计变量来控制其几何尺寸和拓扑关系。
特征是组成零件实体模型的基本元素,它体现了产品的功能要素和工程含义,是描述产品信息的集合。设计人员直接用特征来定义零件的几何结构,其操作对象不再是原始的线条和体素,而是产品的功能要素,诸如凸台、倒角、圆角、螺纹孔和键槽等。它使产品设计工作在更高的层次上进行,因此,基于特征的设计更符合设计人员的设计思路,更有利于发挥设计者的创造力和想象力。
实体特征是构成零件实体的基本要素,是基于特征的实体建模的含义所在,是创建基体特征和进行细节特征操作的主要部分。特征是各种单个的加工形状,当将它们组合起来时,就形成各种零件。有些特征是由草图生成,有些特征是通过选择适当的工具或者菜单命令,然后定义所需的尺寸或者特征所生成。
任何零件模型的建立都是建立特征和特征修改的结合过程。SolidWorks参数化特征建模技术,不仅提供了功能强大的建模工具,而且为修改特征提供了最大限度的方便。在Feature Manager设计树或图形区域,通过相应的操作,可修改相应的尺寸值,可编辑当前特征的草图,可修改特征草图平面,可重新定义所选特征的有关参数,如终止条件、参数值等内容。
除此以外,SolidWorks还提供了动态修改特征工具,可以在图形区域直接用鼠标拖动来移动、旋转和调整拉伸及旋转特征的大小。在修改工程中遵循特征的父子关系和特征的先后顺序。动态修改特征工具可以修改特征的内容如下:特征的位置和尺寸、草图的绘图平面、草图元素的尺寸和草图中的几何关系。
图2.4 SolidWorks的特征
2.4.2 参数系列化
参数化是指对零
上一篇:
solidworks二次开发毕业设计论文(完美版修改)(1)(word论文)
下一篇:
基于JSP邮件收发系统论文