层架厂家
免费服务热线

Free service

hotline

010-00000000
层架厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

看一看:看一看;基于SolidWorks采用Visual

发布时间:2021-11-18 14:53:12 阅读: 来源:层架厂家

SolidWorks软件是完全基于 Windows 的 CAD/CAE/ CAM/ PDM 桌面集成系统 ,它的核心技术是在 Windows 环境下生成的 ,充分利用和发挥了Windows的强大威力和OLE技术,具有用户界面友好,上手快的优点。该软件支持 Visual Basic、Visual C++或其它 OLE 开发语言,免费提供2次开发工具API,用户2次开发的利用程序,可直接挂在SolidWorks菜单下,构成统1的界面。但是SolidWorks 与许多商品化的 CAD/ CAM 系统如PRO/E、UG、AUTOCAD 等1样 ,它们虽然在模具行业中得到了广泛利用 ,但由于这些 CAD/ CAM 系统都是作为通用机械设计与制造软件来设计的,不是特别针对模具的,因此为了提高模具设计的效率,需要对其进行2次开发。1用VISUAL C++ 开发 SolidWorks 的原理SolidWorks 通过 OL E 技术为用户提供强大的2次开发接口 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的自带功能1样进行工作 ,极大地提高了设计效率。2用VISUAL C++ 开发 SolidWorks 的关键技术2. 1 组件对象模型(COM)开发 *.DLL 需要了解 COM 技术。COM 是微软公司、数字设备公司(DEC) 及其他1些公司所支持的1种软件结构的"工业标准"。SolidWorks 作为基于 Windows 的原创软件 ,为便于用户开发的程序与 SolidWorks通讯 ,提供了采取 COM 技术开发利用程序的方法。用户开发的代码可以作为独立的EXE 文件或 DLL 文件存在 ,它们就是 COM 模块。采取 COM 技术在 SolidWorks 平台上作2次开发时 ,通过直接访问 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 是基于参数化和特点造型技术的软件 ,对其进行2次开发应遵照参数化 CAD 的原则。即对企业中系列化、通用化和标准程度高的产品 ,其包括的拓扑信息基本上是1样的 ,不同的仅是几何信息。对这类产品 ,可以将已知条件及其它随着产品规格而变化的基本参数用相应的变量代替 ,然后根据这些已知条件和基本参数 ,由 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 文件。(2) 若使用程序驱动法 , 如果开发者本身对 SolidWorks API函数不是很了解 ,可以用宏录制标准件生成的进程并保存为*.swp 文件 ,再用菜单里工具/ 宏操作/ 编辑打开 VB 界面 ,只需把这里的代码改成 Visual C++的代码就可以够了。而且 VB 与Visual C++ 的函数名基本相同 ,只是参数有所不同。(3) 调试的时候可以设置断点跟踪 ,也能够在有可能出错的地方放置如 AfxMessageBox(- T("提取参数 ") ,MB-OK,0) 的语句 ,以便在程序调试运行时肯定问题所在。4 系统组成4. 1 界面的设计系统界面的设计应遵照用户界面友好的原则。1个用户界面的友好属性应包括:使用方便、界面善悉、有灵活的提示帮助信息、良好的交互方式、良好的出错处理等。4. 2 系统的使用单击上述菜单将会出现如图所示的标准件导入对话框。对话框界面由几个属性页组成 ,选择尺寸规格后按查询按钮 ,系统会根据数据输入控件里的数据(如 4.00 ×20 的圆柱头卸料螺钉) 去查询标准件的数据库文件 ,查询所得的数据将出现在标准件属性表里 ,点击肯定 ,零件将被导入国家最新政策土地征收补偿。如果用户需要调解尺寸 r 和 r1 可以点击相应的按钮进行微调。

4. 3 系统数据库的使用如果需要浏览当前零件所有的数据 ,只需要点击上图中的浏览按钮。例如用户当前界面是"带柄圆形上模座",点击浏览 企业拆迁政策补偿,则出现如图所示的数据库管理对话框 ,在此可以浏览带柄圆形上模座的所有数据 ,并为有权限的用户提供可以添加、删除或修改数据的功能选项。

5 1个实现程序驱动法的例子(1) 用 SolidWorks Add - In AppWizard 向导创建 Example1 例子(2) 添加对话框资源 ,属性设置以下 :IDD-DIALO G1 CAPTION 为"立方体例子",添加控件调解。 (3) 添加对话框类 CL IFAN GTI 和数据成员变量IDC- EDIT1 double m-xIDC- EDIT2 double m-yIDC- EDIT3 double m-l(4) 在工作区 CLASSV IEW 中 ,添加 CExample1 的公有成员函数void lifangti (double ca , double cb ,double cl)(5) 在 EXAMPL EAPP. APP 中添加 # include "Resource. h"头文件 ,并完成程序驱动法绘图代码以下:void CExample1App : : lifangti (double ca , double cb , double cl){ L PMODELDOC pModDoc = NULL ;LPPARTDOC ret ;TheApplication - > m-pSldWorks - >INewPart ( &ret) ;HRESUL T res = TheApplication - >GetSWApp () - > get- IActiveDoc( &pModDoc) ;if (pModDoc = = NULL)return FALSE;LPPARTDOC pPartDoc = NULL ;res = pModDoc - > QueryInterface (IID-IPartDoc ,(L PVOID 3 ) &pPartDoc) ;ASSERT(res = = S-OK) ;VARIANT-BOOL retval ;pModDoc - > SelectByID(auT ("前视") ,auT ("PLANE") ,0 ,0 ,0 , &retval) ;pModDoc - > ShowNamedView2 (auT ("3 Normal To") ,0) ;pModDoc - > GridOptions(0 ,0. 001 ,0 ,0 ,10 ,1 ,0 ,0 ,0鉴定d级危房就可以强拆吗. 1 ,1) ;pModDoc - > InsertSketch() ;pModDoc - > CreateLineVB ( - ca , cb , 0 , - ca+ cl , cb , 0) ;pModDoc - > CreateLineVB ( - ca + cl , cb , 0 ,- ca + cl , cb - cl , 0) ;pModDoc - > CreateLineVB ( - ca + cl , cb - cl ,0 , - ca , cb - cl , 0) ;pModDoc - > CreateLineVB ( - ca , cb - cl , 0 ,- ca , cb , 0) ;pModDoc - > ClearSelection() ;pPartDoc - > FeatureExtrusion (1 , 0 , 0 , 0 , 0 ,cl , 0. 01 , 0 , 0 , 0 , 0 , 0. 01745329251994 ,0. 01745329251994 , 0 , 0) ;pModDoc - > ShowNamedView2 (auT ("3 Iso2metric") ,7) ;pModDoc - > ViewZoomtofit () ;pModDoc - > Release() ;pPartDoc - > Release() ;return TRU E ;}在 Example1. cpp 中添加 # include "LIFAN GTI. h"头文件 ,并在菜单响应函数 MenuItemCB (void) 里添加以下程序段void MenuItemCB(void){ CL IFAN GTI dlg ;int n = dlg. DoModal () ; TheApplication - > lifangti (dlg. m-x ,dlg. m-y ,dlg. m-l) ;return ;}(7) 编译后用 SolidWorks 打开文件 ,选择加载 Example1. dll 文件。在左下角 X 和右下角 Y中输入位置坐标 ,边长 L 中输入 20 ,点击肯定。(end)资讯分类行业动态帮助文档展会专题报道5金人物商家文章