基于SolidWorks二次开发的自动建模技术与方法
2013-08-05 by:广州Solidworks培训中心 来源:仿真在线
基于SolidWorks二次开发的自动建模技术与方法
1 引言
SolidWorks软件是基于Windows开发的三维CAD系统,经过十几年的发展现在已经成为了一套包括CAD/CAE/CAM/PDM的桌面集成系统。在强大的设计功能和易学易用的操作协同下,SolidWorks设计是可编辑的,零件设计、装配设计和工程图之间的是伞相关的。但SolidWorks建模过程中,零件二维草图无法类似AutoCAD那样能将图形从一张图纸复制到另外一张图纸,也无法类似proe可以将草图直接导出建模,致使工程师们对于开发同一系列化产品时需要做许多重复的工作,进而延长了产品开发周期。怎样实现产品公共零件模型系列化的建证?这也成为企业技术部门需要考虑的问题。
2 SolidWorks软件自动化建模技术
基于SolidWorks平台二次开发的自动建模技术主要涉及技术有SolidWorks参数驱动技术、基于SolidWorks 的ActiveX Automation技术、数据库和数据库访问技术。
3 ActiveX Automation技术
SolidWorks API是基于ActiveX Automation技术的编程接口,它是基于COM和OLE的技术标准。ActiveX是OLE在网络上的扩展,它是一组可扩充应用程序协议,使SolidWorks应用程序之间能够通过数据嵌入或链接的方式来共享尺寸参数数据。其宗旨是在Windows系统的统一管理下,来协调并且控制不同设备上的SolidWorks应用程序的相互通信问题。符合标准的SolidWorks程序会把其内置的对象体系结构显露出来,从而通过改变其对象的属性就可以实现跨越程序操作的设想。基于该原理,可以将含有嵌入或者链接文档数据的应用程序称为容器程序,提供文档数据编辑的应用程序则称为服务程序。对于基于SolidWorks的二次开发就可以将SolidWorks理解为一个服务程序(Server),而二次开发手段开发出来的程序为客户程序(Client)。用户只要在客户程序上进行操作,客户程序将驱动SolidWorks完成相关的工作。
4 SolidWorks API对象层次结构
为了方便用户进行二次开发,SolidWorks提供了几百个API函数,用户可以使用Visual Basic、VBA、Visual C++、C#、Delphi等高级编程语言对SolidWorks进行二次开发,建立适合用户需要的、专用的SolidWorks功能模块。同时,由于SolidWorks API及其有关帮助文档都包括在SolidWorks软件中,任何用户都可以对其进行二次开发。不管是采用Visual Basic、VBA、Visual C++还是Delphi对SolidWorks进行二次开发,都是通过SolidWorks的对象体系结构来进行的。这种基于ActiveX Automation技术的SolidWorks API将各种功能封装在SolidWorks对象之中供编程调用。显示了SolidWorks API中各个对象相互关系,可以利用这张表的关系进行参考编程。
5 基于ADO的参数数据库访问技术
SolidWorks以VB为开发平台支持三种数据访问技术,即数据访问对象DAO技术、远程数据对象RDO技术和ActiveX数据对象ADO技术。其中ADO技术是通过ADO对象的属性、方法来完成相应的数据库访问。基于VB的ADO数据控件是ActiveX外部控件,它的用途及外形都和Data控件相似,但它是通过Microsoft ActiveX数据对象(ADO)来建立对数据源的连接,凡是符合OLEDB规范的数据源都能连接,而ADO能访问的数据库有ODBC、Access、SQL Server、Oracle等,VB直接支持的数据库是Access。同时ADO数据控件可以通过修改属性来实现对数据源的连接。创建连接时,可以采用下列连接方式之一:一个连接字符串,一个OLEDB文件(MDL)。一个Access数据源名称。ADO访问技术实现SolidWorks尺寸参数数据库访问模型。
通过使用ADO数据控件和DataGrid数据网格控件连接由Access创建的尺寸参数数据库文件,并能湿示数据表,连接DataGrid数据网格控件用户可以很方便地选取一组尺寸参数数据或者通过点击ADO数据控件来选取设计参数。ADO对象模型定义了一个可编程的分层对象集合,主要由三个对象成员Connection、Command和RecordSet对象,以及几个集合对象Errors、Parameters和Fields等所组成。只需要修改属性窗口,更改控件的数据连接参数就能完成数据连接与数据访问,无须更改控件的任何其他属性。这些参数设置被隐藏在VB中,用户无需再对其增加代码。ADO处理数据库的步骤:
(1)创建数据库连接对象;
(2)使用连接对象打开数据库;
(3)操作数据库;
(4)关闭数据库。
6 参数化尺寸驱动技术
SolidWorks系统开发的核心是图形的处理。目前广泛使用的图形处理方法有编码法、参数化尺寸驱动法和基于工程数据库建立图形库。参数化绘图,就是将图形的尺寸与一定的设计条件(或约束条件)相关联,将图形的尺寸看成是“设计条件”的函数,当设计条件发生变化时,图形尺寸便会随之得到相应更新。建立的尺寸参数库中参数传递图。
7 自动建模技术应用实例
本文采用的实例模型为固定球阀10-1500的阀座。阀座自动建模方法实现的具体步骤:
(1)建立尺寸参数库数据表
利用Access数据库软件提供的创建数据表向导的功能,创建Access尺寸参数数据表。
(2)设计阀座参数化设计对话框界面
运用VB开发平台提供的控件创建设计界面。考虑到程序的存在形式既可以是以可执行程序(*.EXE)形式独立存在,也可以是通过VB环境创建ActiveX DLL文件,同时也能创建自定义菜单和SolidWorks工具条和工具条命令按钮,根据建立好的DLL生成SolidWorks插件,方便用户操作。
(3)编写基于VB的阀座自动建模对话框代码
在用VB编写阀座参数化设计对话框的程序代码过程中,SolidWorks API接口函数中的参数采用尺寸参数代替尺寸数据的方式,结合SolidWorks API对象的层次结构关系,并利用SolidWorks平台的尺寸参数驱动技术。
例如:Part.CreateLine20,(D1-D4)/2,0,B1-B2,(D1-D4),2,0,绘制直线就必须用到CreateLine2对象,它的隶属关系如Sldworks.Modeldoc2.Create_Line2,只有当前面两个对象都定义了才能成功地调用CreateLine2对象,另外还必须设定该对象的六位参数,它是直线的起点和终点空间位置坐标,最终实现绘制直线的功能。其他代码可以参考SolidWorks API的帮助文档所提供的函数说明来编写。
(4)设置ADO和DataGrid数据访问控件
ADO数据库访问设置可以借助属性窗口来创建Connection对象。要创建连接,需要选择该控件,并打开其属性对话框,从ConnectionString属性的设置中选择“新建连接”选项。然后在弹出的“数据链接属性”对话框中,选择提供程序和设置服务器名称,数据库名称、登录账户和密码等信息后测试连接是否正确,单击确定完成ConnectionString属性的设置,也就完成了ADO对象的创建。
(5)程序运行
程序运行时,首先链接Access和程序界面的ADO控件和文本框,通过数据的传输为变量赋值。然后在内部自动执行编译好的程序,即可实现模型的建立和更新。值得注意的是,零件模型的空间放置情形应尽量与其实际的情形相一致,以便于后续对零件的装配。选取参数,运行程序。
SolidWorks建模会采用自动约束和捕捉功能,能有效地帮助用户完成实体模型的绘制,但是它们会干涉程序自动建模,需要关闭这种自动约束和自动捕捉功能,特别是关闭水平和垂直方向的捕捉功能。在实例中这种自动建模技术采用参数驱动方式生成模型,以设计参数建模比具体设计数据来驱动尺寸建模的方式速度要快。
相关标签搜索:基于SolidWorks二次开发的自动建模技术与方法 基于SolidWorks二次开发的自动建模技术与方法 SolidWorks培训课程 SolidWorks设计教程 SolidWorks视频教程 SolidWorks软件下载 SolidWorks在建筑室内设计工业设计的应用 SolidWorks基础知识 SolidWorks代做 Fluent、CFX流体分析 HFSS电磁分析 Ansys培训 Abaqus培训