您的位置:网站首页 > Solidworks

基于SolidWorks 采用VisualC++开发模具标准件库

时间:2010-06-02 08:00:00 来源:
副标题#e#

    SolidWorks软件是完全基于 Windows 的 CAD/CAE/ CAM/ PDM 桌面集成系统 ,它的核心技术是在 Windows 环境下生成的 ,充分利用和发挥了Windows的强大威力和OLE技术,具有用户界面友好,上手快的优点。该软件支持 Visual Basic、Visual C++或其它 OLE 开发语言,免费提供二次开发工具API,用户二次开发的应用程序,可直接挂在SolidWorks菜单下,形成统一的界面。然而SolidWorks 与许多商品化的 CAD/ CAM 系统如PRO/E、UG、AUTOCAD 等一样 ,它们虽然在模具行业中得到了广泛应用 ,但由于这些 CAD/ CAM 系统都是作为通用机械设计与制造软件来设计的,不是特别针对模具的,因此为了提高模具设计的效率,需要对其进行二次开发。
   
    1用VISUAL C++ 开发 SolidWorks 的原理

   
    SolidWorks 通过 OL E 技术为用户提供强大的二次开发接口 API ,其中包括含有数以百计的功能函数。API 接口采用面向对象的方法 ,所有的函数都是有关对象的方法或属性。这些对象涵盖了所有 SolidWorks的数据模型 ,通过这些对象属性的设置和方法的调用 ,用户可以在自己开发的 DLL 中实现与 SolidWorks 相同的功能。
   
    这些 API 函数可被 Visual C++ 、Visual Basic、Delphi、VBA ( EXCEL 、ACCESS) C、C++ 或 SolidWorks 的宏文件调用 ,使得开发出的程序具有直接访问 SolidWorks的能力。当使用 Visual Basic 进行开发时 ,只能采用外挂的工作模式 ,即需要用户的应用程序和 SolidWorks之间进行前台后台切换 ,所以降低了设计效率。而使用 Visual C++ 开发的应用程序可以直接嵌入到 SolidWorks 内部 ,加载成功后应用程序菜单直接出现在 SolidWorks 的主菜单上 ,如同 SolidWorks的自带功能一样进行工作 ,极大地提高了设计效率。
   
    2用VISUAL C++ 开发 SolidWorks 的关键技术
   
    2. 1 组件对象模型(COM)
   
    开发 *.DLL 需要了解 COM 技术。COM 是微软公司、数字设备公司(DEC) 及其他一些公司所支持的一种软件结构的"工业标准"。SolidWorks 作为基于 Windows 的原创软件 ,为便于用户开发的程序与 SolidWorks通信 ,提供了采用 COM 技术开发应用程序的方法。用户开发的代码可以作为独立的EXE 文件或 DLL 文件存在 ,它们就是 COM 模块。采用 COM 技术在 SolidWorks 平台上作二次开发时 ,通过直接访问 SolidWorks 底层对象可以方便地扩充 SolidWorks的功能。
   
    2. 2 动态链接库(DLL) 的建立
   
    独立的 EXE 文件和 DLL 文件都可以作为COM 的组件 ,但是编写 EXE 程序时 ,必须每次在做原型改变时都重建并测试。与此不同 ,可以创建较小的 DLL 模块 ,并单独测试 ,客户程序在运行时很快装载并连接用户的 DLL。SolidWorks 提供了DLL 加载的接口 ,能够将用户的 DLL 通过加载嵌入到 SolidWorks内部。
   
    2. 3 数据库的创建
   
    系统采用 Access 作为管理数据库的工具。使用DAO (Data Access Objects) 技术对数据库操作。Visual C++ 开发 DAO 数据库应用的方法和步骤与ODBC(Open Data Base Connectivity) 基本类似 ,但Visual C++ 的 MFC 包含的 DAO 类比 ODBC 类更加丰富 ,使得利用 DAO 实现某些数据库操作(如数据库查询)更加简单、方便。
   
    3 开发思路及技巧
   
    3. 1 开发思路

   
    SolidWorks 是基于参数化和特征造型技术的软件 ,对其进行二次开发应遵循参数化 CAD 的原则。即对于企业中系列化、通用化和标准程度高的产品 ,其包含的拓扑信息基本上是一样的 ,不同的仅是几何信息。对于这类产品 ,可以将已知条件及其它随着产品规格而变化的基本参数用相应的变量代替 ,然后根据这些已知条件和基本参数 ,由 SolidWorks查询数据库 ,或由 SolidWorks 计算出所需的全部数据 ,自动完成设计 ,并在屏幕上显示出来。
   
    3. 2 开发方式的选择
   
    采用参数化原则设计标准件库大体分两种:程序驱动法;尺寸参数驱动法。选用程序驱动法时 ,可在用户界面的对话框中输入初始参数并对数据库进行查询 ,然后用从数据库中提取的参数进行绘图。其中绘图部分代码要靠程序员完成 ,程序驱动法可以借助SolidWorks 的宏记录功能。SolidWorks 的宏可以记录标准件模板生成的全部过程并生成 VBScript 程序代码 ,然后由人工转换为 Visual C++程序。
   
    选用尺寸参数驱动法时 ,首先在 SolidWorks 中绘制标准件的模板零件并保存为*.sldprt 文件 ,同时对要进行尺寸驱动的尺寸命名 ,如"L @草图 1"。然后等用户选择完参数后 ,在内存中打开已存的 *.sldprt 文件 ,并用从数据库中提取的参数替换"L @草图 1"尺寸 ,重新建模 ,生成新的零件。
   
    3. 3  开发步骤及技巧
   
    (1) 从 SolidWorks 公司网站下载向导文件SWIZARD. awx ,将其添加到 MicrosoftVisualstudio/Common/ MSDev98/ Template 目录下。然后 ,在 Visual C++ 中用该向导创建工程 ,添加相关代码 ,编译生成 *.DLL 文件。