ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:429.58KB ,
资源ID:4298706      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4298706.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于solidworks二次开发技术的型线插值设计解读.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于solidworks二次开发技术的型线插值设计解读.docx

1、基于solidworks二次开发技术的型线插值设计解读学号:200910414042基于solidworks二次开发技术的型线插值设计摘 要造船生产设计涉及的方面和内容很多,本文主要对船厂生产设计方面的重点内容进行研究和设计,并与船舶生产设计工作的实际相吻合。为了使重复性较大的船舶绘图工作量减小和更加规范,本文使用VB开发语言对Solidworks绘图软件进行二次开发。对型线进行插值,并将型值点坐标排序保存到表格中,以便下次绘图或光顺计算时所用。关键词:现代船舶设计,Solidworks,二次开发,型线插值AbstractThere are many aspects and contents

2、of shipbuilding production design, we focus on the shipyard production design research and design, and the actual match and ship production design work. In order to make the repeatability of vessels drawing workload reduced and more standardized, this article uses the VB language for secondary devel

3、opment of SolidWorks drawing software. To single type line interpolation, and data points coordinate,and save the points data to the table for the next drawing.Keywords:modern shipbuilding mode,Solidworks,secondary development single,type line interpolation目 录前言 1一、现代船舶的设计及发展现状 1(一)船舶设计各阶段 11.船舶设计各阶

4、段 12.船舶型线插值设计 3(二)国内外发展现状 41.国外发展现状 42.国内发展现状 5(三)论文研究内容 51论文研究主要内容 52.论文结构与安排 5二、Solidworks与VB 6(一)Solidworks绘图软件 6(二)VB程序开发软件 7(三)VB与Solidworks二次开发技术 81.二次开发技术 82、VB开发Solidworks 9三、VB开发Solidworks设计 10(一)API技术与宏命令 10(二)VB开发Solidworks程序开发 11四、插值法设计型线 13(一)B样条曲线方程建立 13(二)三次B样条插值 13(三)算法设计 14五、型线插值程序设

5、计 19(一)插值算法程序代码 19(二)、程序界面与运行实例 24结论 26参考文献 27附录:程序代码 27前言我国的劳动力资源丰富,工业发展迅速,我国许多城市漫长的海岸线适宜造船,船舶工业的发展具有较强的优势。与此同时,我国进出口贸易的迅速增长,使得对交通运输工具的需求量提高,为船舶工业的发展提供了良好的机遇。现今,全球船舶工业正在亚洲区域转移,我国要抓住这个机遇。想要在激烈的船舶制造业竞争中站稳脚跟,只有靠先进的技术才能提高造船质量、且降低造船成本,在追求“量”的同时,做到利润最大化,这样我国的船舶工业才有希望成为富有竞争力的产业。在船舶制造业中,一艘船的诞生首先要从设计开始,本文主要

6、对船厂生产设计方面的重点内容进行研究和设计,并与船舶生产设计工作的实际相吻合,型线放样对于船舶生产设计是一项非常重要的环节,如何将较小的图纸中的型线准确的放样为实际生产中的样子,就需要对型线进行拟合插值,通过获得更多的点坐标来更加准确的表达型线的形状。Solidworks是一套基于windows的CAD/CAE/CAM/PDM桌面集成系统,现多用于零件开发,但是它强大的功能和易用的界面也同样适用于船舶设计。因此本论文针对生产设计中型线插值问题,用VB二次开发Solidworks,实现将单根型线上点的坐标存入表格,以便于计算或放样使用。一、现代船舶的设计及发展现状(一)船舶设计各阶段1.船舶设计

7、各阶段船舶是一种要在水上航行的物体,对于其结构建筑特点,要进行合理的设计。船舶的种类很多,例如较为常见的客船、集装箱船、散货船、化学品船、拖船和军事用途的驱逐舰、航母、潜艇等,每一种船舶都有其自身的特点,因此船舶设计必须认真对待,慎重考虑。在现代船舶设计中,比较重要的几个设计环节依次是初步设计、详细设计和生产设计。每个环节中所考虑的问题是有所重复的,但是侧重点和详细程度不同。在不同设计阶段中对同一方面的工作不是简单的重复,而是一个逐步近似,螺旋式前进的过程,其中包括:设计要求、主要因素、航速,功率估算、型线、静水力、总布置、干舷、舱容、吨位、重量、重心、阻力、推进、破舱稳性、经济估算等。1.1

8、初步设计阶段在这一阶段,设计人员对设计任务书、造船合同的调查研究,从整体出发,对船舶的总体性能做出一个定位,通过计算、绘图和必要的模拟实验,得出船体的主要参数、主要结构、主要设备选型等。这一阶段要完成的主要技术文件包括:船体说明书、总布置图、型线图、航速,稳性,舱容,干舷等估算书或计算书、中剖面结构图及构件计算书、主要设备明细表等。在得出结果后,设计方应当交由船东审查,将此作为下一阶段设计的参考和依据。1.2详细设计详细设计是设计环节最重要的一个阶段,这个阶段的设计内容基于初步设计的结果,对各个板块进行深入分析,对每个项目进行详细的设计和计算,最终确定船舶的全部技术性能和船体结构。其中,会调整

9、和解决船机电各方面的具体问题和矛盾,最终确定新船全部的技术性能、结构强度、各种设备、材料以及订货选型要求等等。在详细设计阶段需要完成的文件有:船体说明书;详细的总布置图;正式的型线图;重量重心计算书;静水力曲线和各种装载情况下的稳性和浮态计算书;干舷计算书、吨位计算书、舱容曲线;航速计算书、螺旋桨设计图及强度计算书;船体构件规范计算书和总强度计算书;典型横剖面图、基本结构图、外板展开图、肋骨型线图;机舱结构图、首部结构图、尾部结构图、主要舱壁结构图、上层建筑结构图;防火控制图;锚泊、起货、舵、救生设备的计算书和布置图;各系统原理图;舱室内部舾装图;详细的设备、材料规格明细表;规范和法规有特殊要

10、求的计算书和实验报告等。1.3生产设计在详细设计之后,基于前者的基础上,设计人员开始安排生产设计。在安排生产设计时,要结合船厂和工人的实际生产情况,根据船厂的工艺装备条件、施工方案、工艺要求和生产管理情况,做出合理的安排。设计出的施工图纸以及施工工艺等文件必须满足以下基本要求:船体生产设计应立足于造船企业的全部产品和各个专业中的全面实施;应贯彻建造方针、施工要领等文件所提出的要求;应根据工艺阶段和生产区域,包括车间生产活动的需要,绘制施工图、管理表并提供有关施工信息。最后按照具体情况分析后确定是按工序出图还是按分段出图。综上所述,设计过程中每个不同的阶段都有其独立性,但是每个阶段又不可分离。前

11、一阶段的设计结果对下一阶段的设计有着依据作用,后一阶段是对上一阶段进一步的分析。2.船舶型线插值设计 船舶型线在船舶总体设计中占据着非常重要的地位,因为型线直接影响到船舶的结构、性能,作为设计工作的重要环节,型线设计也占据着大量的设计时间,因此船舶型线设计所耗时间直接影响船舶的整个制造周期。船舶型线包含了直线、二次曲线、自由曲线等,十分复杂,如何进一步加快型线设计速度及提高设计水平一直作为船舶发展的一个重要参考依据。在船舶制造中,船体的几何形状是以船体型线图来表达的,从图中量取的数据,通常被制成型值表,用于表达船体的尺寸。但在绘制型线图的过程中,由于反复量取数据,不可避免的存在误差,加上型线图

12、是一种缩小了的图形,使隐含的误差更难显露。因此必须放大型线图,并经过光顺、保证剖面线上各对应点的一致性后,才能作为施工依据。由设计所提供的型值表,暂且不说制图工具以及人工所造成的误差,就单单是型值表中型值的个数,也远远不够确定构架轮廓形状的需要。型线图上的站线间距比肋骨间距要大若干倍,这必将产生误差,所以必须根据为数较少的型值来精确地找出那些介于站线间的肋骨框架的型值,从而确定船体纵向的线型,保证船体的光顺性。从数学上说,型值是船体模曲面在三维直角坐标系中按一定规律分布的一系列离散点,因而型值表是船体模曲面函数的一种表达式。当然,船体模曲面的值域是由一些边界条件来限定的。根据满足某曲面函数的一

13、些已知离散点的坐标,来寻找该曲面上其他点的坐标,这在数学上称之为插值问题。插值法是函数逼近的一种重要方法,是数值计算的基本课题。概括地讲,当线性函数f(x)在区域上的若干个互异点xj=(x1, x2, x3, xn)的函数值f(xj),j=1,2,3,n,或给出函数f(x)的一个数据表,现要寻求一个函数q(x)来近似的替代(或逼近)f(x),使得它们在相应节点处的函数值(或导数值)相等,而对非节点处的(x,xxj)函数值,则用f(x)q(x)来替代。这就是插值问题的一般定义。q(x)称为f(x)的插值函数,xj称为插值节点。插值问题通常涉及到一下三个方面的数学内涵:(1)插值问题是否有解(即能

14、否找到插值函数q(x)),如果有解,解是否唯一;(2)插值函数q(x)逼近于f(x)的误差,及q(x)-f(x)如何估计;(3)当插值节点无限加密时,插值函数q(x)是否收敛于f(x)。工程技术人员关心的只是应用问题,即根据实际情况恰当的选择插值函数并希望计算方便,使逼近误差在可接受范围内。(二)国内外发展现状1.国外发展现状在船舶制造领域,最先由欧州国家兴起,例如挪威、德国等,随着经济发展,亚洲国家也开始进入船舶设计领域,尤其在船舶生产设计领域,日本和韩国已取得重大进步。计算机辅助设计和制造兴起于60年代,在这几十年中,船舶设计领域对计算机设计的开发投入了相当大的精力和时间,同时这一科学技术

15、的使用更加广泛,在对产品进行设计、制造、测试领域中都离不开计算机辅助设计和制造。这一技术不仅提高了生产过程的自动化程度,同时在改进质量、缩短设计到生产的周期时也产生了巨大的作用。在计算机辅助设计中,较为常见的有AUTOCAD、TRIBON、NAPA、CATIA。ATUOCAD是最普遍使用的绘图软件,不过其功能有限,若要做到绘图以外的工作还需要大量的二次开发。TRIBON是目前大多数东亚船厂和设计单位使用的软件,做设计很方便的。不过该软件属于船舶行业的专用软件,即使是专业人员也需要比较长时间的学习才能掌握。韩国在使用该软件方面比较成熟,还有许多相关的二次开发。NAPA同样是专用的船舶设计软件,其

16、在型线设计方面的功能非常强大。特别是在设计大型船舶方面,NAPA的优势很明显。不过目前国内用NAPA的还不是很多。CATIA是一个很优秀的生产设计软件,但目前在船舶行业的应用还不是很普遍。虽然TRIBON和NAPA都能做三维模型,但CATIA能让三维模型动起来。CATIA做仿真功能非常强大,但CATIA对计算机性能要求很高,一般都只能在配置非常好的PC或比较高档的图形工作站上运行。2.国内发展现状我国船舶设计起步晚,但是由于世界制造业的发展,目前亚洲是世界上船舶制造的大头,我国作为一个制造业大国,在船舶制造上的发展也非常迅速,国内船舶设计主要用的软件有TRIBON、CADSS5、上海船舶工艺研

17、究所与上海船厂联合开发的SB3DS三维造船软件,以及沪东船厂自主开发的东欣软件。在船舶型线插值领域,我国主要还是依赖于对AUTOCAD的二次开发。如今,中国造船量全球领先,但基本都是制造一些低端科技产品,例如散货船、集装箱船等,高科技船舶例如LNG船等,只有几个大型船舶企业有能力建造。此外在造船周期上我国也比日本和韩国长许多,以至于我国造船的利润远比不上其他先进造船国家。我国船厂研究设计水平较低,生产工艺落后,生产管理精度跟不上,此外随着中国经济转型,劳动力的成本也随之上升,导致利润空间更加少。所以发展国内设计生产水平是我国造船业发展所关注的重要方面。(三)论文研究内容1论文研究主要内容在船舶

18、设计中需要将船型曲面上的线作为构件的形状约束或理论参考线,这些线分为两类,一类是平面曲线,第二类是空间曲线,这些线条将作为放样曲面的截面线或轨迹线,是船舶放样的重要依据。本论文要通过对型线进行拟合逼近,所采用的方法是三次B样条插值法,建立型线的方程,获得插值点的坐标。并且要利用VB对Solidworks进行二次开发,即利用VB程序来对型线进行插值,并获取点坐标。本文的重点工作有两个方面,一是如何建立型线的方程,二是如何通过程序来实现这一步骤。2.论文结构与安排论文首先对船舶设计各阶段及其国内外发展现状做一简单介绍,并选取Solidworks这一三维软件进行研究。接着分析Solidworks和V

19、B软件的优缺点,并对二次开发进行探讨,通过比较各个二次开发程序的优缺点,最后选取VB来进行二次开发,在Solidworks二次开发中,API与宏命令是非常重要的一个部分,因此会在论文中进行介绍。对于型线插值,首先建立B样条曲线方程,并引入三次B样条插值方法,通过多段B样条来拟合型线,得出插值方程。最后就是将前面内容转化为程序代码,这里需要利用Solidworks自带的一些宏命令来简化程序开发难度,论文会对此进行介绍。在论文的最后部分会对程序运行结果进行分析和举例,并得出相应结论。二、Solidworks与VB(一)Solidworks绘图软件SolidWorks软件是世界上第一个基于Windo

20、ws开发的三维CAD系统,SolidWorks所遵循的易用、稳定和创新三大原则得到了全面的落实和证明,使用它,设计师可以大大减少了设计时间,使产品快速、高效地投向了市场。功能强大、易学易用和技术创新是SolidWorks 的三大特点,这三大特点使得SolidWorks 成为领先的、主流的三维CAD解决方案。SolidWorks 能够提供丰富多样的的设计方案、降低设计过程中的出错率以及提高产品质量。在目前所有的三维CAD设计软件中,SolidWorks是设计过程比较简便而方便的软件之一。使用SolidWorks 时,可以直接在装配环境中方便地设计和修改零部件。2011年9月20日,DS Soli

21、dWorks推出SolidWorks 2012新品,这也是SolidWorks的CAD软件史上发布的第20 个版本。在SolidWorks 2012 中,增加和改进了许多项目,可以更好的帮助设计者加快工作效率,并且完善设计环境。Solidworks2012的亮点可以归纳为以下几点:1)新添加成本计算模块;2)钣金模块;3)成型工具优化后,操作更方便;4)增加了扫描法兰工具。本次论文主要使用此版本的Solidworks。图2.1是Solidworks的用户界面。图2.1.Solidworks用户界面(二)VB程序开发软件Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程

22、语言。从任何标准来说,VB都是世界上使用人数最多的编程语言,它由BASIC编程语言演变而来。VB中含有图形用户界面和快速应用程序开发系统,用户可以很容易地使用DAO、RDO、ADO连接到数据库,或者方便地创建ActiveX控件。编程人员可以通过使用VB提供的组件轻松地创建应用程序。Visual Basic 通过COM/COM+的强大功能,N-层结构的分布式应用程序可以被开发。并且,通过使用Visual Basic,程序员也能够在IIS平台上开发强大的Web应用程序。Visual Basic 6.0并未在语言方面和IDE方面做大改进,但是许多新添加的组件成为Visual Basic开发人员可以利

23、用的工具,如文件系统对象等。新的字符串函数分割和替换等也为Visual Basic的编程人员提供很多便捷。总之 Visual Basic 6.0 已经是一个非常稳定成熟的开发系统,可以使让使用者轻松创建多层的系统以及 Web 应用程序。图2.2是VB的用户界面,左侧是控制命令栏,右侧是信息栏。图2.2.VB6.0用户界面(三)VB与Solidworks二次开发技术1.二次开发技术Solidworks二次开发简单来说就是利用类似VB、C+、C#等支持OLE的编程语言作为开发平台,调用Solidworks API函数实现相应的功能,从而实现一些特殊的要求。同时,由于Solidworks API及其

24、有关文档包括在Solidworks软件中,任何用户都可以对其进行二次开发。SolidWorks API 接口使用面向对象的方法 ,所有的函数都是有关对象的方法或属性。用户通过调用对这些对象的方法和属性,就可以通过自己开发的程序,对 SolidWorks 软件进行各种操控。SolidWorks 有两种API接口:一种是基于OLE Automation 的IDispatch 技术; 另一种是基于Windows 基础的COM的开发方式。基于OLE Automation 的IDispatch 技术是一种快速开发的手段,通常多用于 VB、Delphi 编程语言,通过 IDispatch 接口将对象的属性

25、和方法暴露,从而使客户在使用这些程序时,可以调用它所支持的方法。COM 是 Microsoft 公司提出的一种标准协议,它是一种组件开发技术,通过连接两个软件模块,在这种连接建立之后,二者之间就可以通过接口来进行通讯。一般情况下,由VC+编写此方法。2、VB开发Solidworks对Solidworks的开发中,较为常见的有VB、C+、VC和VBA。其中VB开发的最大特点就是简单,使用VB开发周期短,代码效率高。Visual Basic(VB)是windows环境下可视化快速应用开发工具。通过动态数据交换编程技术,VB可以在应用程序中与其他windows应用程序进行数据交换,并且可以在不同的应

26、用程序之间通信。VB环境下建立的客户端可以直接访问Solidworks中的对象。Solidworks支持OLE标准,将OLE自动化。作为OLE服务器,Solidworks提供了大量的OLE对象,以及这些对象的方法和属性,在客户应用程序环境中,用户通过操控对这些OLE对象及其方法和属性,可以开发相应的软件和各种功能。Solidworks对象为VB对Solidworks工作环境进行访问处理提供了接口。Solidworks对象包括Environment、Frame、ModelDoc、Modeler、AtrributeDef、SWPropertysheet,以及一些其他的对象。作为Solidworks

27、 API中的最高层对象的Solidworks对象,它可以直接或间接的访问Solidworks API中其他所有的对象。利用它,可以实现应用程序最基本的操作,如生成、关闭、打开、结束文件、设置当前的激活文件、重排图标和窗口、生成属性定义,也可以对solidworks的系统环境进行设置。Solidworks中的API函数通过VB被调用,可以完成零件的建造和修改;零件各特征的建立、删除、修改等各项控制;提取零件特征信息;零件工程图纸中的各项信息;零件的装配信息等。基于VB的SolidWorks二次开发最重要的是程序代码的编写。开发者可以直接编写代码,即完全用程序实现三维模型的编辑以及参数化设计,这种

28、方法非常复杂,但对具有复杂形体的零件造型实现度高。同时,开发者需要对Solidworks API函数十分了解,但是Solidworks API函数非常之多,往往初学者不容易完全掌握。另外一个简单实用的方法是先录制使用Solidworks用户界面执行的操作,即录制宏,获得宏操作代码,将其复制添加到VB程序所需部分,然后编辑修改以达到程序要求,通过程序驱动设计变量实现模型的建立和更新,这种方法编程较简单,通用性好。三、VB开发Solidworks设计(一)API技术与宏命令在Solidworks API中,经常用到对象、属性、方法等术语,准确理解这些术语对进行二次开发很重要。对象是现实世界中的一个

29、实体,其特性是:(1)每一个对象的名字不能与其他对象重复;(2)它的某些特征通过属性来确定;(3)有且只有一组操作可以决定对象的一种行为。图3.1所示为Solidworks API部分对象体系,每一层又包括若干对象,每个对象又都有自己的属性、方法和事件。图中Solidworks对象是Solidworks API中的最高层的对象,它能够直接或间接地访问Solidworks API中的所有其他对象。通过该对象可以实现应用程序的最基本操作,如可以控制Solidworks软件的执行或退出,Solidworks文件的建立、打开、关闭等操作。每个特定的对象都具有“属性”和“方法”。 图3.1.Solidw

30、orks API部分对象体系宏是一系列命令的集合,相当于DOS下的批处理文件,或者AutoCAD中的脚本文件。编程人员可以先录制Solidworks用户界面执行的操作,然后调用Solidworks宏重新执行这些操作。宏所包含的调用等同于使用用户界面执行操作时,对API的调用。通过记录宏,可以编辑在代码所需的命令和语法上获得飞跃。在写任何代码前,都是记录宏来用作程序基础。即当想在程序添加功能时,返回到Solidworks,记录添加的宏。然后剪贴和黏贴记录的宏到代码中,这样做,可以大大简化编程难度。1(二)VB开发Solidworks程序开发VB二次开发Solidworks最重要的部分就是如何编写

31、程序代码。开发者可以选择直接编写代码,这种方法需要开发者非常熟悉Solidworks API函数,所以对于初学者而言比较不可取。这里,我们选择一个较为简单且实用的方法,就是先使用Solidworks录制宏,获得宏操作的代码,再将其复制到VB中进行修改。下面就介绍一下本次论文的开发过程:(1)打开VB程序设计软件,根据要求创建主界面,如图,首先我们分别创建了两个标签、两个文本框两个命令按钮。对于第一行的文本框,这里供使用者输入表格名字,初定义了在E盘创建一个名为xxx的excel表格,使用者也可以在这里修改成其他名字,点击创建按钮创建。第二行的文本框是用于输入插值的型线名,在这里输入型线名后点击

32、运行即可。 图3.2.VB程序界面(2)录制宏获得宏操作代码,这里需要先打开Solidworks,打开船舶型线图,点击录制宏按钮,如图3.3所示。图3.3录制宏(3)在型线图中选择型线,并右键解除约束,对其进行简化样条曲线,插值完成后结束草图绘制,得到以下代码:Set swApp = CreateObject(SldWorks.Application)Set Part = swApp.ActiveDocboolstatus = Part.Extension.SelectByID2(Spline2, EXTSKETCHSEGMENT,16.0000000000175,9.40554604417026, 8.7959797972503, False, 0, Nothing, 0)boolstatus = Part.Extension.SelectByID2(Spline2, EXTSKETCHSEGMENT,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1