英语原文共 11 页,剩余内容已隐藏,支付完成后下载完整资料
基于C#和SolidWorks二次开发的桥式起重机快速设计系统研究
太原科技大学机械工程学院
为了方便对桥式起重机的一体化设计、计算和绘制,我们基于C#和SolidWorks二次开发设计了桥式起重机快速设计系统。我们采用尺寸驱动方法和模型驱动方法分别对桥式起重机的零件进行参数化建模和装配,最终创建二维图纸。基于广义模块理论,将整个桥梁分为几个模块,从而构建了快速设计系统。随着这个系统的创建,新产品的开发周期大大缩短,产品的设计、计算和绘图的效率得到了根本的改善。
关键词:C#;SolidWorks的二次开发;桥式起重机;广义模块;快速设计系统
1.介绍
随着21世纪经济全球化的快速发展,持续加强的市场竞争正在获得新的特征;市场竞争的焦点已经从市场导向转变为客户面向。在这种情况下,赢得市场的关键要素是对客户的个性化需求作出迅速的回应。
桥式起重机作为最常用的起重设备,它对国家经济十分重要,同时,它在基础设施建设和工业制造中发挥着重要作用。桥式起重机的传统设计模式涉及到手工设计和基于CAD的图纸,它需要很长的设计周期和许多重复的工作,最后的设计质量也是良莠不齐,效率滞后会使它们远远不能满足市场预期。在这种情况下,广义模块化和参数化技术的大幅度创新和应用提高了设计效率。近年来,许多学者将广义模块化和参数化技术的设计理念运用到了机械产品的设计中。徐燕申提出了模块分区和液压机产品的规划,而且实现了液压机产品的快速设计。王宗彦、吴淑芳在大批量定制桥式起重机系统的设计中运用了模块化的思想。
SolidWorks是一个基于Windows系统的CAD/CAE/CAM/PDM的集成解决方案。这个软件由于组件很多从而拥有强大的功能,但它使用起来十分简便。这两个原因得以解释SolidWorks为何在机械工业中应用得如此广泛。为了进一步发掘SolidWorks的潜力,SolidWorks二次开发是实现参数化产品设计和某些行业重复工作自动化的首选方法。C#是微软在2000发布的一种编程语言,它在继承了C和C 强大功能的基础上避免了一些复杂的特性。操作效率高,操作能力强,支持面向对象编程等优点使C#成为.NET发展的首选语言。随着SolidWorks API的性能显着提高,基于C#的SolidWorks二次开发将有广泛的前景。
2.基于C#的SolidWorks二次开发
SolidWorks API为用户提供了完整的面向对象系统的所有类别,使程序员可以便捷地访问内部大量的封装功能。SolidWorks API是一个自顶向下的多层树网络,其部分层次结构图如图1所示。
图1 SolidWorks API结构
2.1SolidWorks二次开发的两种方法
SolidWorks的二次开发有两种方法,第一种是尺寸驱动方法,这种方法中所有的尺寸都被定义为变量,给定模型的结构不变。通过给所有的尺寸赋不同的值,可以获得一系列结构相同但是尺寸不同的组件;这种方法提供了易于编程和操作的组件。但是这种方法需要之前先创建一系列的零件模板,这个零件的结构在以后的使用中不能改变,因此这种方法有些限制。另外一种是模型驱动方法,它贯穿整个创建过程,这部分通过运行程序进行模拟。这个方法可以完全编辑结构特征,然而它难以编程,代码量巨大。根据桥式起重机的特点,我们最好采用尺寸驱动方式来创建零件,采用模型驱动方法来装配。由于桥式起重机的跨度是变化的,因此结构不是固定的,零部件的数量是不断变化的。
2.2参数建模和装配
当使用C#进行SolidWorks二次开发时,我们必须在目标项目中添加两个引用,即SolidWorks.Interop.swconst和SolidWorks.Interop.sldworks,,两者都为程序员提供了句柄以访问SolidWorks API。为了减少代码的冗余,提高编程效率,构建了一个自定义类swMethod来封装常用的SolidWorks API,这个类包括在创建零件、方法和导入组件的过程中进行插入草稿、挤出特征、切割特征和尺寸编辑等操作,还包括创建标准三视图、进行模型视图绘图,更改视图位置等。这样,通过提供适当参数创建零件和组装来调用功能会更加方便。编程效率大大提高,部分swMethod.cs代码如下:
public void NewPart()
{ string Path = Directory.GetCurrentDirectory();
swDoc=((ModelDoc2)(swApp.NewDocument(Path @' emplatesgb_part.
prtdot', 0, 0, 0)));
swDoc.Visible = true; }
public void Assembly()
{ swAssembly = swApp.NewAssembly();
swApp.Visible = true; }
为了识别SolidWorks调用的对象、属性和方法,我们可以运用SolidWorks的内置宏记录功能,经过重新编码后,项目应保存为SW VSTA C#宏(*.csproj),然后代码可以被集成到一个功能库中形成一个新功能,必要时可以对这个功能作出一些修改。为了使用尺寸驱动方法创建零件,我们有必要为每个零件创建一个3D模型模板。在创建零件模板之前,总体尺寸参数应该形成一个尺寸链,这样可以避免多余尺寸的出现,此外我们应该使用3D零件图纸的模板,在从3D零件创建2D工程图时一些属性可以自动连接到工程图表。在SolidWorks中,尺寸驱动的方法主要依赖于ModelDoc2对象的属性Parameter来选择尺寸,然后可以通过向Dimension对象的属性System Value传递一个新值来编辑该尺寸。
在创建装配体模型时,可以在选择的组件之间创建约束时选择的特征应该是特征树中的命名特征。例如,“前平面@ girder_1 @主梁组件”是指装配文件中的第一梁部分的前平面被选作基准平面。只有这样,程序将不会因选择目标特征失败而接收异常。考虑到桥式起重机的结构,通常使用重叠和距离约束来装配所有部分。利用线性阵列和镜像可以简化装配过程。以桥式起重机跨度结构的装配为例,部分代码如下,运行结果如图2所示:
图2 桥框总成
SW. Assembly ();
SW. BlankPoint ();
SW. AddAsm ('ZLZP', pZLZP);
SW. AddAsm ('DLZP', pDLZP);
SW.AsmAddMate4('ZLZP', 1, 'ZL-ZDLJ', 1, 'Front Plane', 'DLZP',
1, 'DL-ZT', 1, ' Front Plane ', ZDLJBH);
SW.AsmAddMate3('ZLZP', 1, 'ZL-ZDLJ', 1, 'Front Plane', 'DLZP',
1, 'DL-ZT', 1, 'Right Plane ', DLK 2*DLBH);
SW.AsmAddMate3('ZLZP', 1, 'ZL-FB', 1, 'Up Plane ', 'DLZP', 1,
'DL-ZT', 1, ' Up Plane ', (DLC - GJ)/ 2 - FBNJJ / 2 - FBH);
2.3自动调整绘图
为了使2D图纸满足国际标准和工程实践的实际要求,在绘制图纸之前需要根据国家标准定制图纸模板,使得部件的一些属性可以自动链接到2D图纸。虽然SolidWorks能够从3D模型生成2D图纸,但是该模型不能由预定义的三视图绘图完全描述。因此,需要添加辅助视图,例如局部视图,截面图,断面图等。预定义的三视图存在问题,例如混合视图会存在不适当的大小和复杂的后期调整。为了解决这些问题,应首先建立零件的二维绘图模板,以创建基于尺寸驱动方法的二维图纸,其中包括各种横截面视图,注释和时间表,尺寸和公差应标记分层。当用户对3D模型的参数进行修改时,相应的2D工程图将使用SolidWorks双向驱动的特点自动更新。新生成视图的比例可能不合适,View对象中的Decimal和Position能够对视图的位置和比例作出调整。
3.基于广义模块化的桥式起重机快速设计系统的开发
3.1广义模块化设计的基本原理
模块化设计是通过不同功能模块的组合,为客户提供定制和定制服务的设计方法,并已广泛应用于电脑、家电、家具等行业。但是传统的模块化设计也强调模块的通用化、标准化和串行化,导致直接将其应用于复杂的工作条件和起重机这样的结构机器中时不是很方便。广义模块化设计是基于传统的模块化设计和参数化设计方法,通过对一系列产品的功能分析,并结合其在设计、制造和维护方面的特点,分解和构建更自适应的广义模块和广义产品平台。通过广义模块的组合和通用平台的衍生,可以按照预期实现产品的快速设计。广义模块化的原理如图3所示。
模块3
模块2
模块1
模块3
模块2
模块1
零件3
零件2
零件1
零件3
零件2
零件1
共享
共享
产品系列
产品2
产品1
产品层
模块层
零件层
图3 广义模块化原理
3.2桥式起重机快速设计系统的实现
桥式起重机主要由桥式金属结构(包括主梁,侧梁,走道,栏杆,受电弓,驾驶室等等),起重小车,行走机构等组成。基于广义模块理论,桥式起重机可以分为几个模块。分割图如图4所示。
根据桥式起重机的结构特点,我们采用以下步骤进行这个快速设计系统的开发,具体包括:
(1)结合制造商的实际做法和过去的设计经验,分别设置桥式起重机不同部件/部件的模块库。分析各种类型的结构并将其结合到库中,来提供大规模的的模块组合;
(2)据客户的个性化要求从库中选择模块。基于用户提供的参数和产品设计计算,获取参数驱动模型并进行工程图的调整;
(3)对所有的3D模型进行装配,整个桥式起重机的装配体完成。程序的流程图如图5所示。
桥式起重机
电气控制系统
起重小车
手拉车
桥框架
行走机构
提升机构
手拉车
小车架
制动器
减速器
发动机
座舱
受电弓
走道
端梁
主梁
Brum
滑轮组
钩
缓冲器
轮子
制动器
减速器
发动机
缓冲器
轮子
制动器
减速器
发动机
图4桥式起重机模块分割图
登录
输入基本参数
选择模块
设计计算
初始大小
尺寸参数
数据库
尺寸驱动
模型更新
存储零件
模型装配
绘图更新调整
检查
查
零件模板
大小调整
大小关系管理
N
Y
图5 程序流程图
3.3快速设计系统的功能模块
3.3.1数据库支持模块
桥式起重机的设计涉及和产生大量数据,这些数据需要由数据库管理系统管理。 这些数据分类如下:
(1)桥式起重机的设计计算数据。如整体参数(起重能力、跨度、工作水平等)、主梁、侧梁的横截面参数等。用户设计的每一台起重机都能添加到数据库为以后的设计提供参考。
(2)产品模块数据。产品模块数据包括模块名称、设计时间、文件路径和注释。通过模块代码,可以获得模块的所属信息,并为构建模块结构树提供指导。
产品的结构信息。产品的结构信息能够反映出结构层次,而且它是形成产品结构树的关键。
(3)设计和计算时依据的国家标准和设计手册。例如,在计算中需要材料在拉伸和压缩下允许的疲劳应力。借助数据库管理系统,我们可以记录材料(例如Q235)的允许的疲劳应力,并为设计过程提供快速的参考。
(4)公共部分和标准部分。起重机吊运车轨道通常由方钢制成,有热轧铁路轨道、轻轨或起重机轨道。每一种类型的轨道尺寸都有各自的标准。在数据库管理系统的帮助下,可以建立轨道的数据表用来存储尺寸,用于以后的使用。
Microsoft SQL Server 2012是一个最先进的数据库管理系统(RDBMS)。它通过.NET CLR提供了提供了集成引擎。使它与托管代码的.NET语言兼容(如C#语言)。为了与SQL Server进行交互,我们需要服务器的SQL数据库供应商。ADO.NET是一种微软提供的新一代数据库交互逻辑,它支持多种数据库管理系统供应商(包括SQL Server),ADO.NET能访问数据库,
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[141150],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。