用VB进行Solidworks二次开发的编程技巧与实现方法 0.引言 Solidworks是美国Solidworks公司基于Windows平台开发的著名的全参数化三维实体造型软件,其功能强大、性能优良,易学易用,同时 solidworks具有良好的开放性和兼容性。不仅可以向下兼容二维AutoGAD,同时也可以与许多其它专业软件(如有限元分析软件Ansys、三维实体设计软件UG、Pro/E等)无缝集成为功能十分强大的CAD/GAE/CAM/PDM系统,完全能胜任大型工程与产品的设计、分析、制造和数据管理。当前,各类用户不仅在应用Solidworks的强大功能进行各类专业设计,同时也在积极探索 Solidworks的二次开发技术,力求扩展 Solidworks的功能并使其用户化、专业化、本土化,以提高该软件的附加值与工作效率。本文通过实例介绍了 Solidworks二次开发中有关零部件绘制、插件生成及独立可执行文件生成过程中的编程技巧与实现方法。 1. 三维设计 VB编程实现 对于大多数三维软件使用者来说,主要是单纯的三维建模和装配。可是在实际的三维设计中经常会遇到不好解决的问题,比如频繁出现的尺寸不同但形状相似的零件,齿轮等零件的曲线绘制等。如果想解决这样的问题就必须涉及到二次开发,使用编程可以使零件建模更加快捷或更加真实。 但是对于大多数初学者而言,由于牵涉到许多 solidworks API 底层命令的调用,不容易也不可能全面掌握。因此,利用宏命令进行相关部分的录制,在 VB相关语法规则的约束下进行源代码的改写,用这种录制宏的方法可以快速得到solidworks的操作命令,这比检索全英文的API文档方便,从而有效提高了编程效率。 宏录制的源代码不能直接运行,必须在 VB编辑器中对制作的宏文件进行一些修改,替换相关代码,删除冗余代码,这样的话录制的宏文件才可以得以顺利运行。关于这方面的文章很多,在此不再赘述。特别强调的是,对于Sub main中出现的前七句代码(本文以新建一个文件为例,其他情况类似): Set swApp = Application.SldWorks swApp.ActiveDoc.ActiveView.FrameLeft = 0 swApp.ActiveDoc.ActiveView.FrameTop = 0 swApp.ActiveDoc.ActiveView.FrameState = 1 swApp.ActiveDoc.ActiveView.FrameState = 1 Set Part = swApp.NewDocument("D:\Program Files\SolidWorks\data\templates\零件.prtdot", 0, 0#, 0#) Set Part = swApp.ActivateDoc2("零件1", False, longstatus) 上述创建方法与SW的安装位置有关联,因此使用下面三...