您的位置:网站首页 > Solidworks

探究SolidWorks文件属性与自定义开发

时间:2010-11-13 09:37:54 来源:

  本文探究了SolidWorks文件属性与自定义开发相关内容。

  SolidWorks是美国SolidWorks公司在基于Windows平台上开发的全参数化三维机械设计软件,它具有强大的建模和装配能力并且工程图操作灵活方便,是进行三维机械设计的有效工具,能通过标准格式与其它各种制图软件完全兼容。该软件在国内的航空、航天、铁道、兵器、电子、机械等领域已有广泛的应用,在国内拥有广大的用户群体,但由于该软件是由国外公司编写的,在一些具体细节上与中国国情不吻合或使用不方便,如何充分发挥SolidWorks的强大功能又充分利用其用户自定义接口,实现系统方便、快捷使用是许多工程技术人员探索的目标。

  本文在应用SolidWorks的过程中,发现可以充分利用SolidWorks文件属性的开放功能,并在充分利用SolidWorks API函数基础上进行系统的自定义开发,充分保证工程图、总明细目录等信息的一致性,实现SolidWorks数据信息的"一次输人,全局使用;源头产生,源头维护",如图1所示,从而大大减轻工程设计人员的工作量及提高工作效率,进而将主要精力放在设计上,尤其是针对复杂系统,利用该方法可以避免很多失误,大大减轻工作量。

图1

  1 改进SolidWorks设置

  1. 1自定义文件属性

  在系统安装文件目录(…langChinese-simpli-fled)中,有properties. txt文件。用记事本打开该文件就可以直接维护文件属性的内容。需要注意的是,记事本中一行名称对应SolidWorks文件属性的一栏,为便于工作将常用的功能放在前面,设置好后保存该文件,启动SolidWorks时就自动载人预设的文件属性参数。

  1. 2设置三维零件和装配体属性

  设计人员设计好各个三维零件和按装配关系设计好三维装配体后,再设置所需要的每一个零部件的文件属性。操作步骤是点击零部件实体的文件*属性,选择"配置特定"页面,如图2所示。在这里维护好每一个三维零件和装配体的详细属性信息,该信息提供给整个系统使用。如果相关信息发生修改,只需要修改该内容就可以在整个系统任何需要的地方读取该信息。

图2

  1. 3改进标题栏

  用户可以在SolidWorks所提供的工程图模板上自定义所需要的工程图模板,将特定标题栏中的信息链接到系统定义好的文件属性上。操作步骤是:在任意空白工程图中,右键中点击编辑图纸格式后,选中所要修改的标题栏中的注释框,再右键点击属性,就可以在注释文字栏中设置链接的信息,比如:$PRP-SHEET;"代号",将在三维零件图中的零件代号内容自动链接过来,实现信息共享;用:$PRP ;"系统属性"格式调用零件文件中的系统属性值,如:$PRP; "SW-图纸比例",其它属性类推如此。一般需要保存为适合自己需要的工程图模板,就可以在下次需要使用时直接调用选择。

  1. 4改进材料明细表

  对于装配体的工程图,设计人员还需要提供材料明细表,SolidWorks本身已提供BOM ( Bill of Material,物料清单)表的标准模板,但该模板却与需求相差较远,故需要改进。首先将标准模版引人任意一装配工程图,再选中材料明细表(最好先选中需要修改的列)并右键选择插人列功能,就会在Property Manager中出现如图3所示的自定义属性的下拉框,在下拉框中选择需要的信息并设置好列宽后,就得到工程图的材料明细表,如图4所示。此时设计人员可以将自定义设置好的BOM模板另存起来,便于下次直接调用。

图3

  2产品总明细目录自定义开发

  2. 1当前现状

  在完成产品设计和全部零部件工程图时还需要提交产品总明细目录。通常设计人员制作总明细目录的操作流程是:在系统总装配图里的材料明细表类型中选择仅限顶层、仅对于零件或缩进式装配体设置,得到不同材料明细表信息后,再另存为csv或txt文件。最后使用MS Excel打开所保存的文件进行编辑生成所需编制的总明细目录。一般还需要按照文件、部件、零件、标准件和外购件分别汇总存放在总明细目录中。

  这样的工作流程对于复杂系统设计是很繁琐又极易出错,既不便于设计自检,也不便于校对、审核、标检和审定。如果在利用SolidWorks本身提供的信息共享能力的基础上,采用其它软件进行二次自定义开发,直接调用系统所需要的信息自动导出总明细目录将是一件非常有意义的事情。

  2. 2理论基础

  SolidWorks软件本身支持OLE ( Object Linking and Embedding,对象连接与嵌人)的通用标准,完全实现了OLE自动化。作为一个自身的OLE服务器,SolidWorks提供了大量的OLE对象,以及这些对象所拥有的方法和属性。用户通过自定义开发软件操控这些OLE对象及其方法和属性的操作。而SolidWorks API是SolidWorks的OLE应用程序开发接口,可以用它并通过支持OLE编程的工具,创建用户专用的SolidWorks自定义软件,这样可以大大方便使用。

图4

  2. 3系统实现

  可用于SolidWorks自定义开发的软件编辑平台非常多,比如VC、VB等。鉴于Delphi是目前Windows平台下的优秀可视化开发工具,支持各类最新的Windows技术,特别是与API函数的无缝集成,拥有强大的数据库编程能力,利用Delphi对SolidWorks进行自定义开发,可以将数据库技术与SolidWorks的强大设计能力相结合,实现功能强大的自定义开发软件。在实现方式上,Delphi对OLE的支持有多种方式,如使用OLE控件或在运行时创建OLE对象等方法。程序运行时创建OLE对象可以充分利用SolidWorks的API接口,实现对SolidWorks对象的完全控制,有更好的自由度。

  另一方面,Excel作为现代办公常用的电子表格制作工具,以它的易操作性和实用性,得到了各行业办公人员的青睐,同时也对外提供功能强大的API函数接口,使用Delphi可以对Excel进行完全控制。

  基于上述研究,本文采用Delphi主要对SolidWorks总装图的材料明细表进行操控,并将所需要的实体内容直接导入到Excel中,从而自动生成所需要的产品总明细目录,如图5所示。在进行自定义软件开发出产品总明细目录时,一定要做好算法研究,保证所生成的Excel报表按照需求进行分类和按照规定。

图5

  3总结

  本文通过对SolidWorks的文件属性进行研究,优化系统文件属性配置,并在此基础上进行自定义开发,并在SolidWorks系统本身不能提供的基础上,进行二次开发自动生成产品总明细目录的Excel文件。在实践中大大减轻工作量并从源头上杜绝了出错的可能性,获得了良好的效果。