2. 3 DLL 与 SolidWorks 的集成
用户可以通过 DLL 程序定制 SolidWorks 的菜单 ,工具栏资源等 ,从而实现二次开发的 CAD 系统与SolidWorks 的无缝集成 ,以下为其部分代码 :
·定制 SolidWorks 的菜单。在 CAPITourApp : : docCreateMenu 函数中添加以下代码 :
/ / 添加顶层弹出式菜单[3DCAD]
hres = pFrame2 > AddMenu(auT"(3DCAD( &G) ") , swMenuPosition , &bres) ;
/ / 添加[3DCAD]的下一级菜单[垫套]
hres = pFrame2 > AddMenuItem(auT("3DCAD( &G) ") ,auT"(垫套( &D) . . . ") , swLastPosition ,
auT"(3DCAD @MyFunction") ,&bres) ;
·定制 SolidWorks 的工具栏。在 CAPITourApp : : docCreateMenu 函数中添加以下代码 :
SetResources() ; / / 确保使用自己添加的资源
/ / 加载工具栏图标资源
m SmallToolbar.LoadMappedBitmap (IDR TOOLBAR SMALL) ;
HBITMAP hbmSmallImageWell = (HBITMAP) m SmallToolbar. GetSafeHandle() ;
ResetResources() ; / / 把资源控制权交还给 SolidWorks
2. 4 DLL 的编译和注册
在 VC中编译 DLL 程序时 ,不同的操作系统应该采用不同的设置:Windows95/ 98 应该采用MBCS设置 , Windows NT/ 2000 应该采用Unicode 设置 ,单步调试时应该采用 Pseudo2Debug 设置。编译链接成功后会生成*.dll 格式的文件 ,运行 Windows 系统的 Regsvr32 命令注册此 DLL 文件 ,若 DLL 文件注册成功就可成为 SolidWorks 系统的插件。
3DCAD. dll 注册成功后 ,打开注册表编辑器展开 HKEY LOCALMACHINE SOFTWARE SolidWorks Applications 3DCAD 项 ,会发现一个名字为 CLSID 的字符串值 ,这是 Windows 系统为你的 DLL 所分配的唯一标识字符串。展开 HKEY CLASSES ROOT CLSID 项 ,找到与 CLSID 字符串值相同的项 ,此项有一子项 InprocServer32 和一个默认值 ,InprocServer32 子项用来指明你的 DLL 文件的具体路径 ,默认值可在 SolidWorks 插件对话框中描述你所编写插件的功能(如图 3 所示) 。
2. 5 DLL 程序的运行
如果在 VC++ 调试环境下运行 DLL 程序 ,系统会提示你输入调用此 DLL 的可执行文件名 ,选择SolidWorks 可执行程序的具体路径后 SolidWorks 就会自动运行 ,使用 SolidWorks 的文件/ 打开菜单 ,在文件类型过滤器中选择 Add~Ins ( 3 . dll)就可加载自己的 DLL 程序。DLL 注册成为 SolidWorks 系统的插件后 ,还可使用工具/ 插件菜单打开插件对话框 ,选中需要加载的插件(如图 3 所示) ,以后启动 SolidWorks 就可自动加载该 DLL 程序 ,无须再进行加载操作 ,十分方便。
SolidWorks 加载 DLL 成功后 ,用户可在 SolidWorks 系统中打开 3DCAD/ 垫套菜单或单击工具栏快捷按钮弹出程序运行界面(如图 2 所示) ,用户输入垫套的尺寸参数后 ,单击绘图按钮 ,SolidWorks 就会自动绘出垫套的三维实体造型(如图 1 所示) 。
3结束语
本文探讨了对三维绘图软件 SolidWorks 进行二次开发实现机械零件三维造型参数化设计的方法。设计实例表明 ,采用 Visual C++编程语言建立 SolidWorks 的动态连接库文件可以很好实现与 SolidWorks系统的无缝集成 ,能满足用户二次开发 CAD 系统的需要。
相关文章
- 2021-08-23精通AutoCAD三维设计与开发PDF下载
- 2021-08-22AutoCAD 2013应用与开发系列中文版AutoCAD 2013室内装
- 2021-08-22AutoCAD 2013应用与开发系列中文版AutoCAD 2013机械图
- 2021-08-19数字化成图-最新AutoCAD地形图测绘高级开发PDF下载
- 2021-08-03Autodesk RevitStructure2012应用宝典 [欧特克软件(中
- 2021-08-02Autodesk RevitMEP2012应用宝典 [欧特克软件(中国)有限
- 2021-08-02Autodesk Revit2013族达人速成 [欧特克软件(中国)有限公
- 2021-08-01Visual LISP程序设计(AutoCAD 2006)PDF下载
- 2021-08-01Visual Basic与AutoCAD二次开发PDF下载
- 2021-07-31Autodesk Revit2012族达人速成 [欧特克软件(中国)有限公