论文部分内容阅读
[摘 要]本文主要描述了六边形擦窗机零件库的建立方法和基于C#的SolidWorks二次开发的方法。先对六边形擦窗机零件进行分类,建立可以参数化的三维模型库,并将拓扑结构不同的零件尺寸参数存储在access数据库中,在VS平台中利用C#对SolidWorks进行二次开发,结合数据库完成零件的参数化设计,提高六边形擦窗机设计效率。
[關键词]SolidWorks二次开发;access数据库;零件库;
中图分类号:G711 文献标识码:A 文章编号:1009-914X(2019)08-0359-01
前言
擦窗机是专门用于高层建筑外墙的安装、清理和维修的高空作业机械。为了适应不同建筑的外观,擦窗机只能作为非标产品进行设计,导致设计周期长,精度低。经过对六边形截面擦窗机上的零件进行分类并对各个零部件的规格进行统计和规范,建立零部件的三维模型和数据库。通过基于C#的SolidWorks的二次开发,实现擦窗机三维模型的参数化绘图和二维图的生成。大幅度缩短了产品的设计周期并提高了设计的精度。
1 建立六边形截面擦窗机零件图库
在擦窗机伸缩臂相关的零部件中,存在许多标准部件,用户可以在设计界面进行选型,或者根据这些标准部件和其他部件存在的搭配规律确定其结构。对于有确定结构的零部件,只需提前绘制其三维模型,在绘制装配时,调用该零件即可,对于需要参数化的零部件,基于主参数以及关联尺寸,提前手动建立零部件模型库。
1.1通用零件尺寸分析处理
通用零件就是不同形式擦窗机共有的零件。统计出来通用零件后,对零件的功能和尺寸进行分析,找出零件尺寸随着擦窗机形式的变化规律,如果这种规律可用方程式表示出来,此时就需要将三维建模参数的方程式编辑到C#程序中进行驱动;如果无法用方程式表示出来,此时需要将不同形式擦窗机下对应的该零件尺寸进行统计,会出现很多零件结构尺寸的数据,此时需要使用数据库,将这些数据存储起来。
1.2标准零件尺寸分析处理
标准零件是指标准件是指结构、尺寸、画法、标记等各个方面已经完全标准化,并由专业厂生产的常用的零(部)件,如螺纹件、键、销、滚动轴承等。我们需要统计出来擦窗机中所用到的标准件,制作标准零件库放在一起。标准零件不需要参数化,在参数化绘制三维图时,这些零部件只需要提前绘制好,即需要建立标准零件库,在绘制装配图时,调用标准件即可。
1.3 完成参数化绘制擦窗机零件的三维图库
对六边形截面伸缩臂擦窗机只需做一种零件模型,根据用户的选择,参数化模型中相关的零件尺寸,完成六边形截面伸缩臂擦窗机部件库的制作。
1.4 完成参数化零部件三维图对应的二维图库制作
零部件三维模型完成后,我们需要建立与之相对应的二维图文件,根据标准的二维图图纸中的要求在工程图中进行相应的标注,保证出图后的二维图图纸与标准图纸达到一致。
2 数据库的建立
利用Access数据库管理擦窗机的设计参数和绘图的尺寸参数,通过C#对数据库的引用,实现两者的数据连接和访问,减少数据输入的工作量,而且使得程序的编写更简单。基于C#对六边形截面擦窗机参数化的数据基础是建立在数据库的基础上,不同规格零件的尺寸数据都需要统计在数据库中。例如,缩臂链条安装板的主参数(规格)、L1、L2、a1、a2、a3、H1,它的主参数不同,对应的零件尺寸也不同。同样拓扑结构不同的零件,需要做不同的数据表,如下图。
3 基于C#的SolidWorks二次开发
SolidWorks软件拥有一套完整且免费的二次开发接口——API(Application Program Interface),开发人员可以基于Visual Studio对SolidWorks软件进行二次开发,实现零件各特征的建立、修改、删除、压缩等各项控制。
3.1 零件库的建模
根据汇总结果,对各零件进行规范,在SolidWorks软件中绘制每个零件的三维模型,要求绘制的模型拓扑结构和规范的零件相同,具体尺寸可以不同,同时各个尺寸需要完全定义,方便后期驱动时,零件尺寸的精准。
3.2 通过C#访问Access数据库
通过C#语言访问每个零件的规格尺寸等信息的Access数据库,将数据库中所需要的数据传递给程序定义的变量,再通过主次参数的运算,计算出与主参数相关联的次参数,完成驱动零件模型的所有参数。再将这些参数保存至设计记录保存表中。例如,通过C#语言完成查询数据库,并运算得到全部尺寸参数,最终进行保存,可用如下代码实现:
#region 读取数据库
String str_cnn = "Provider = Microsoft. Jet. OLEDB.4.0;
Data Source=数据库.mdb";
OleDbConnection cnn;
cnn = new OleDbConnection(str_cnn);
cnn.Open();//连接数据库
OleDbCommand cmd;
string str_sql;
3.3 通过C#语言驱动SolidWorks参数化绘图
先通过C#语言将SolidWorks软件启动并将需要参数化的模型打开,再用记录保存表中的参数实现对模型的修改、重建,最终进行保存。
下面是C#常用的代码:
swApp.Visible = true;//显示SolidWorks应用程序
swApp.OpenDoc(Application.StartupPath + @"\模型库.SLDPRT", 1);//打开已构建的零件.SLDPRT模板零件
swModel = (ModelDoc2) swApp. Activate Doc2("端封板.SLDPRT", true, 0);//获取当前活动的工作环境状态
swModel.Parameter("D3@草图1"). System Value = 参数化变量.common.零件L1 / 1000; //驱动改变草图尺寸
4 结语
本文通过Visual Studio软件创建友好的交互界面,利用Visual C#语言使参数化建模功能程序化。由设计计算得到的主要参数读取Access数据库中数据,然后参数化驱动图库中的三维模型和工程图模板,最终输出满足使用要求的图纸,完成辅助设计系统的开发。
参考文献
[1]史康,蒋维,宫朋飞.基于VB.NET的SolidWorks擦窗机零件库的二次开发[J].现代制造技术与装备,2017(12):24-25.
[2]蒋维. 油缸驱动伸缩式擦窗机辅助设计软件开发[D].长安大学,2016.
[3]张莹莹.计算机数据库的管理技术要点[J/OL].电子技术与软件工程,2018(09):168.
[4]索超,李玉翔,林树忠.基于VB语言对SolidWorks参数化设计的二次开发[J].制造业自动化,2013,35(15):137-140.
作者简介
张海潮 (1992.10--) 性别男,陕西省西安市人,学历硕士,专业:机械电子工程。
[關键词]SolidWorks二次开发;access数据库;零件库;
中图分类号:G711 文献标识码:A 文章编号:1009-914X(2019)08-0359-01
前言
擦窗机是专门用于高层建筑外墙的安装、清理和维修的高空作业机械。为了适应不同建筑的外观,擦窗机只能作为非标产品进行设计,导致设计周期长,精度低。经过对六边形截面擦窗机上的零件进行分类并对各个零部件的规格进行统计和规范,建立零部件的三维模型和数据库。通过基于C#的SolidWorks的二次开发,实现擦窗机三维模型的参数化绘图和二维图的生成。大幅度缩短了产品的设计周期并提高了设计的精度。
1 建立六边形截面擦窗机零件图库
在擦窗机伸缩臂相关的零部件中,存在许多标准部件,用户可以在设计界面进行选型,或者根据这些标准部件和其他部件存在的搭配规律确定其结构。对于有确定结构的零部件,只需提前绘制其三维模型,在绘制装配时,调用该零件即可,对于需要参数化的零部件,基于主参数以及关联尺寸,提前手动建立零部件模型库。
1.1通用零件尺寸分析处理
通用零件就是不同形式擦窗机共有的零件。统计出来通用零件后,对零件的功能和尺寸进行分析,找出零件尺寸随着擦窗机形式的变化规律,如果这种规律可用方程式表示出来,此时就需要将三维建模参数的方程式编辑到C#程序中进行驱动;如果无法用方程式表示出来,此时需要将不同形式擦窗机下对应的该零件尺寸进行统计,会出现很多零件结构尺寸的数据,此时需要使用数据库,将这些数据存储起来。
1.2标准零件尺寸分析处理
标准零件是指标准件是指结构、尺寸、画法、标记等各个方面已经完全标准化,并由专业厂生产的常用的零(部)件,如螺纹件、键、销、滚动轴承等。我们需要统计出来擦窗机中所用到的标准件,制作标准零件库放在一起。标准零件不需要参数化,在参数化绘制三维图时,这些零部件只需要提前绘制好,即需要建立标准零件库,在绘制装配图时,调用标准件即可。
1.3 完成参数化绘制擦窗机零件的三维图库
对六边形截面伸缩臂擦窗机只需做一种零件模型,根据用户的选择,参数化模型中相关的零件尺寸,完成六边形截面伸缩臂擦窗机部件库的制作。
1.4 完成参数化零部件三维图对应的二维图库制作
零部件三维模型完成后,我们需要建立与之相对应的二维图文件,根据标准的二维图图纸中的要求在工程图中进行相应的标注,保证出图后的二维图图纸与标准图纸达到一致。
2 数据库的建立
利用Access数据库管理擦窗机的设计参数和绘图的尺寸参数,通过C#对数据库的引用,实现两者的数据连接和访问,减少数据输入的工作量,而且使得程序的编写更简单。基于C#对六边形截面擦窗机参数化的数据基础是建立在数据库的基础上,不同规格零件的尺寸数据都需要统计在数据库中。例如,缩臂链条安装板的主参数(规格)、L1、L2、a1、a2、a3、H1,它的主参数不同,对应的零件尺寸也不同。同样拓扑结构不同的零件,需要做不同的数据表,如下图。
3 基于C#的SolidWorks二次开发
SolidWorks软件拥有一套完整且免费的二次开发接口——API(Application Program Interface),开发人员可以基于Visual Studio对SolidWorks软件进行二次开发,实现零件各特征的建立、修改、删除、压缩等各项控制。
3.1 零件库的建模
根据汇总结果,对各零件进行规范,在SolidWorks软件中绘制每个零件的三维模型,要求绘制的模型拓扑结构和规范的零件相同,具体尺寸可以不同,同时各个尺寸需要完全定义,方便后期驱动时,零件尺寸的精准。
3.2 通过C#访问Access数据库
通过C#语言访问每个零件的规格尺寸等信息的Access数据库,将数据库中所需要的数据传递给程序定义的变量,再通过主次参数的运算,计算出与主参数相关联的次参数,完成驱动零件模型的所有参数。再将这些参数保存至设计记录保存表中。例如,通过C#语言完成查询数据库,并运算得到全部尺寸参数,最终进行保存,可用如下代码实现:
#region 读取数据库
String str_cnn = "Provider = Microsoft. Jet. OLEDB.4.0;
Data Source=数据库.mdb";
OleDbConnection cnn;
cnn = new OleDbConnection(str_cnn);
cnn.Open();//连接数据库
OleDbCommand cmd;
string str_sql;
3.3 通过C#语言驱动SolidWorks参数化绘图
先通过C#语言将SolidWorks软件启动并将需要参数化的模型打开,再用记录保存表中的参数实现对模型的修改、重建,最终进行保存。
下面是C#常用的代码:
swApp.Visible = true;//显示SolidWorks应用程序
swApp.OpenDoc(Application.StartupPath + @"\模型库.SLDPRT", 1);//打开已构建的零件.SLDPRT模板零件
swModel = (ModelDoc2) swApp. Activate Doc2("端封板.SLDPRT", true, 0);//获取当前活动的工作环境状态
swModel.Parameter("D3@草图1"). System Value = 参数化变量.common.零件L1 / 1000; //驱动改变草图尺寸
4 结语
本文通过Visual Studio软件创建友好的交互界面,利用Visual C#语言使参数化建模功能程序化。由设计计算得到的主要参数读取Access数据库中数据,然后参数化驱动图库中的三维模型和工程图模板,最终输出满足使用要求的图纸,完成辅助设计系统的开发。
参考文献
[1]史康,蒋维,宫朋飞.基于VB.NET的SolidWorks擦窗机零件库的二次开发[J].现代制造技术与装备,2017(12):24-25.
[2]蒋维. 油缸驱动伸缩式擦窗机辅助设计软件开发[D].长安大学,2016.
[3]张莹莹.计算机数据库的管理技术要点[J/OL].电子技术与软件工程,2018(09):168.
[4]索超,李玉翔,林树忠.基于VB语言对SolidWorks参数化设计的二次开发[J].制造业自动化,2013,35(15):137-140.
作者简介
张海潮 (1992.10--) 性别男,陕西省西安市人,学历硕士,专业:机械电子工程。