基于solidworks二次开发技术的型线插值设计解读Word格式文档下载.docx

上传人:b****6 文档编号:17219263 上传时间:2022-11-29 格式:DOCX 页数:27 大小:429.58KB
下载 相关 举报
基于solidworks二次开发技术的型线插值设计解读Word格式文档下载.docx_第1页
第1页 / 共27页
基于solidworks二次开发技术的型线插值设计解读Word格式文档下载.docx_第2页
第2页 / 共27页
基于solidworks二次开发技术的型线插值设计解读Word格式文档下载.docx_第3页
第3页 / 共27页
基于solidworks二次开发技术的型线插值设计解读Word格式文档下载.docx_第4页
第4页 / 共27页
基于solidworks二次开发技术的型线插值设计解读Word格式文档下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

基于solidworks二次开发技术的型线插值设计解读Word格式文档下载.docx

《基于solidworks二次开发技术的型线插值设计解读Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于solidworks二次开发技术的型线插值设计解读Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。

基于solidworks二次开发技术的型线插值设计解读Word格式文档下载.docx

1.论文研究主要内容5

2.论文结构与安排5

二、Solidworks与VB6

(一)Solidworks绘图软件6

(二)VB程序开发软件7

(三)VB与Solidworks二次开发技术8

1.二次开发技术8

2、VB开发Solidworks9

三、VB开发Solidworks设计10

(一)API技术与宏命令10

(二)VB开发Solidworks程序开发11

四、插值法设计型线13

(一)B样条曲线方程建立13

(二)三次B样条插值13

(三)算法设计14

五、型线插值程序设计19

(一)插值算法程序代码19

(二)、程序界面与运行实例24

结论26

参考文献27

附录:

程序代码27

前言

我国的劳动力资源丰富,工业发展迅速,我国许多城市漫长的海岸线适宜造船,船舶工业的发展具有较强的优势。

与此同时,我国进出口贸易的迅速增长,使得对交通运输工具的需求量提高,为船舶工业的发展提供了良好的机遇。

现今,全球船舶工业正在亚洲区域转移,我国要抓住这个机遇。

想要在激烈的船舶制造业竞争中站稳脚跟,只有靠先进的技术才能提高造船质量、且降低造船成本,在追求“量”的同时,做到利润最大化,这样我国的船舶工业才有希望成为富有竞争力的产业。

在船舶制造业中,一艘船的诞生首先要从设计开始,本文主要对船厂生产设计方面的重点内容进行研究和设计,并与船舶生产设计工作的实际相吻合,型线放样对于船舶生产设计是一项非常重要的环节,如何将较小的图纸中的型线准确的放样为实际生产中的样子,就需要对型线进行拟合插值,通过获得更多的点坐标来更加准确的表达型线的形状。

Solidworks是一套基于windows的CAD/CAE/CAM/PDM桌面集成系统,现多用于零件开发,但是它强大的功能和易用的界面也同样适用于船舶设计。

因此本论文针对生产设计中型线插值问题,用VB二次开发Solidworks,实现将单根型线上点的坐标存入表格,以便于计算或放样使用。

一、现代船舶的设计及发展现状

(一)船舶设计各阶段

1.船舶设计各阶段

船舶是一种要在水上航行的物体,对于其结构建筑特点,要进行合理的设计。

船舶的种类很多,例如较为常见的客船、集装箱船、散货船、化学品船、拖船和军事用途的驱逐舰、航母、潜艇等,每一种船舶都有其自身的特点,因此船舶设计必须认真对待,慎重考虑。

在现代船舶设计中,比较重要的几个设计环节依次是初步设计、详细设计和生产设计。

每个环节中所考虑的问题是有所重复的,但是侧重点和详细程度不同。

在不同设计阶段中对同一方面的工作不是简单的重复,而是一个逐步近似,螺旋式前进的过程,其中包括:

设计要求、主要因素、航速,功率估算、型线、静水力、总布置、干舷、舱容、吨位、重量、重心、阻力、推进、破舱稳性、经济估算等。

1.1初步设计阶段

在这一阶段,设计人员对设计任务书、造船合同的调查研究,从整体出发,对船舶的总体性能做出一个定位,通过计算、绘图和必要的模拟实验,得出船体的主要参数、主要结构、主要设备选型等。

这一阶段要完成的主要技术文件包括:

船体说明书、总布置图、型线图、航速,稳性,舱容,干舷等估算书或计算书、中剖面结构图及构件计算书、主要设备明细表等。

在得出结果后,设计方应当交由船东审查,将此作为下一阶段设计的参考和依据。

1.2详细设计

详细设计是设计环节最重要的一个阶段,这个阶段的设计内容基于初步设计的结果,对各个板块进行深入分析,对每个项目进行详细的设计和计算,最终确定船舶的全部技术性能和船体结构。

其中,会调整和解决船机电各方面的具体问题和矛盾,最终确定新船全部的技术性能、结构强度、各种设备、材料以及订货选型要求等等。

在详细设计阶段需要完成的文件有:

船体说明书;

详细的总布置图;

正式的型线图;

重量重心计算书;

静水力曲线和各种装载情况下的稳性和浮态计算书;

干舷计算书、吨位计算书、舱容曲线;

航速计算书、螺旋桨设计图及强度计算书;

船体构件规范计算书和总强度计算书;

典型横剖面图、基本结构图、外板展开图、肋骨型线图;

机舱结构图、首部结构图、尾部结构图、主要舱壁结构图、上层建筑结构图;

防火控制图;

锚泊、起货、舵、救生设备的计算书和布置图;

各系统原理图;

舱室内部舾装图;

详细的设备、材料规格明细表;

规范和法规有特殊要求的计算书和实验报告等。

1.3生产设计

在详细设计之后,基于前者的基础上,设计人员开始安排生产设计。

在安排生产设计时,要结合船厂和工人的实际生产情况,根据船厂的工艺装备条件、施工方案、工艺要求和生产管理情况,做出合理的安排。

设计出的施工图纸以及施工工艺等文件必须满足以下基本要求:

船体生产设计应立足于造船企业的全部产品和各个专业中的全面实施;

应贯彻建造方针、施工要领等文件所提出的要求;

应根据工艺阶段和生产区域,包括车间生产活动的需要,绘制施工图、管理表并提供有关施工信息。

最后按照具体情况分析后确定是按工序出图还是按分段出图。

综上所述,设计过程中每个不同的阶段都有其独立性,但是每个阶段又不可分离。

前一阶段的设计结果对下一阶段的设计有着依据作用,后一阶段是对上一阶段进一步的分析。

2.船舶型线插值设计

船舶型线在船舶总体设计中占据着非常重要的地位,因为型线直接影响到船舶的结构、性能,作为设计工作的重要环节,型线设计也占据着大量的设计时间,因此船舶型线设计所耗时间直接影响船舶的整个制造周期。

船舶型线包含了直线、二次曲线、自由曲线等,十分复杂,如何进一步加快型线设计速度及提高设计水平一直作为船舶发展的一个重要参考依据。

在船舶制造中,船体的几何形状是以船体型线图来表达的,从图中量取的数据,通常被制成型值表,用于表达船体的尺寸。

但在绘制型线图的过程中,由于反复量取数据,不可避免的存在误差,加上型线图是一种缩小了的图形,使隐含的误差更难显露。

因此必须放大型线图,并经过光顺、保证剖面线上各对应点的一致性后,才能作为施工依据。

由设计所提供的型值表,暂且不说制图工具以及人工所造成的误差,就单单是型值表中型值的个数,也远远不够确定构架轮廓形状的需要。

型线图上的站线间距比肋骨间距要大若干倍,这必将产生误差,所以必须根据为数较少的型值来精确地找出那些介于站线间的肋骨框架的型值,从而确定船体纵向的线型,保证船体的光顺性。

从数学上说,型值是船体模曲面在三维直角坐标系中按一定规律分布的一系列离散点,因而型值表是船体模曲面函数的一种表达式。

当然,船体模曲面的值域是由一些边界条件来限定的。

根据满足某曲面函数的一些已知离散点的坐标,来寻找该曲面上其他点的坐标,这在数学上称之为插值问题。

插值法是函数逼近的一种重要方法,是数值计算的基本课题。

概括地讲,当线性函数f(x)在区域Ω上的若干个互异点xj=(x1,x2,x3,…xn)的函数值f(xj),j=1,2,3…,n,或给出函数f(x)的一个数据表,现要寻求一个函数q(x)来近似的替代(或逼近)f(x),使得它们在相应节点处的函数值(或导数值)相等,而对非节点处的(x∈Ω,x≠xj)函数值,则用f(x)≈q(x)来替代。

这就是插值问题的一般定义。

q(x)称为f(x)的插值函数,xj称为插值节点。

插值问题通常涉及到一下三个方面的数学内涵:

(1)插值问题是否有解(即能否找到插值函数q(x)),如果有解,解是否唯一;

(2)插值函数q(x)逼近于f(x)的误差,及∣q(x)-f(x)∣如何估计;

(3)当插值节点无限加密时,插值函数q(x)是否收敛于f(x)。

工程技术人员关心的只是应用问题,即根据实际情况恰当的选择插值函数并希望计算方便,使逼近误差在可接受范围内。

(二)国内外发展现状

1.国外发展现状

在船舶制造领域,最先由欧州国家兴起,例如挪威、德国等,随着经济发展,亚洲国家也开始进入船舶设计领域,尤其在船舶生产设计领域,日本和韩国已取得重大进步。

计算机辅助设计和制造兴起于60年代,在这几十年中,船舶设计领域对计算机设计的开发投入了相当大的精力和时间,同时这一科学技术的使用更加广泛,在对产品进行设计、制造、测试领域中都离不开计算机辅助设计和制造。

这一技术不仅提高了生产过程的自动化程度,同时在改进质量、缩短设计到生产的周期时也产生了巨大的作用。

在计算机辅助设计中,较为常见的有AUTOCAD、TRIBON、NAPA、CATIA。

ATUOCAD是最普遍使用的绘图软件,不过其功能有限,若要做到绘图以外的工作还需要大量的二次开发。

TRIBON是目前大多数东亚船厂和设计单位使用的软件,做设计很方便的。

不过该软件属于船舶行业的专用软件,即使是专业人员也需要比较长时间的学习才能掌握。

韩国在使用该软件方面比较成熟,还有许多相关的二次开发。

NAPA同样是专用的船舶设计软件,其在型线设计方面的功能非常强大。

特别是在设计大型船舶方面,NAPA的优势很明显。

不过目前国内用NAPA的还不是很多。

CATIA是一个很优秀的生产设计软件,但目前在船舶行业的应用还不是很普遍。

虽然TRIBON和NAPA都能做三维模型,但CATIA能让三维模型动起来。

CATIA做仿真功能非常强大,但CATIA对计算机性能要求很高,一般都只能在配置非常好的PC或比较高档的图形工作站上运行。

2.国内发展现状

我国船舶设计起步晚,但是由于世界制造业的发展,目前亚洲是世界上船舶制造的大头,我国作为一个制造业大国,在船舶制造上的发展也非常迅速,国内船舶设计主要用的软件有TRIBON、CADSS5、上海船舶工艺研究所与上海船厂联合开发的SB3DS三维造船软件,以及沪东船厂自主开发的东欣软件。

在船舶型线插值领域,我国主要还是依赖于对AUTOCAD的二次开发。

如今,中国造船量全球领先,但基本都是制造一些低端科技产品,例如散货船、集装箱船等,高科技船舶例如LNG船等,只有几个大型船舶企业有能力建造。

此外在造船周期上我国也比日本和韩国长许多,以至于我国造船的利润远比不上其他先进造船国家。

我国船厂研究设计水平较低,生产工艺落后,生产管理精度跟不上,此外随着中国经济转型,劳动力的成本也随之上升,导致利润空间更加少。

所以发展国内设计生产水平是我国造船业发展所关注的重要方面。

(三)论文研究内容

1.论文研究主要内容

在船舶设计中需要将船型曲面上的线作为构件的形状约束或理论参考线,这些线分为两类,一类是平面曲线,第二类是空间曲线,这些线条将作为放样曲面的截面线或轨迹线,是船舶放样的重要依据。

本论文要通过对型线进行拟合逼近,所采用的方法是三次B样条插值法,建立型线的方程,获得插值点的坐标。

并且要利用VB对Solidworks进行二次开发,即利用VB程序来对型线进行插值,并获取点坐标。

本文的重点工作有两个方面,一是如何建立型线的方程,二是如何通过程序来实现这一步骤。

2.论文结构与安排

论文首先对船舶设计各阶段及其国内外发展现状做一简单介绍,并选取Solidworks这一三维软件进行研究。

接着分析Solidworks和VB软件的优缺点,并对二次开发进行探讨,通过比较各个二次开发程序的优缺点,最后选取VB来进行二次开发,在Solidworks二次开发中,API与宏命令是非常重要的一个部分,因此会在论文中进行介绍。

对于型线插值,首先建立B样条曲线方程,并引入三次B样条插值方法,通过多段B样条来拟合型线,得出插值方程。

最后就是将前面内容转化为程序代码,这里需要利用Solidworks自带的一些宏命令来简化程序开发难度,论文会对此进行介绍。

在论文的最后部分会对程序运行结果进行分析和举例,并得出相应结论。

二、Solidworks与VB

(一)Solidworks绘图软件

SolidWorks软件是世界上第一个基于Windows开发的三维CAD系统,SolidWorks所遵循的易用、稳定和创新三大原则得到了全面的落实和证明,使用它,设计师可以大大减少了设计时间,使产品快速、高效地投向了市场。

功能强大、易学易用和技术创新是SolidWorks的三大特点,这三大特点使得SolidWorks成为领先的、主流的三维CAD解决方案。

SolidWorks能够提供丰富多样的的设计方案、降低设计过程中的出错率以及提高产品质量。

在目前所有的三维CAD设计软件中,SolidWorks是设计过程比较简便而方便的软件之一。

使用SolidWorks时,可以直接在装配环境中方便地设计和修改零部件。

2011年9月20日,DSSolidWorks推出SolidWorks2012新品,这也是SolidWorks的CAD软件史上发布的第20个版本。

在SolidWorks2012中,增加和改进了许多项目,可以更好的帮助设计者加快工作效率,并且完善设计环境。

Solidworks2012的亮点可以归纳为以下几点:

1)新添加成本计算模块;

2)钣金模块;

3)成型工具优化后,操作更方便;

4)增加了扫描法兰工具。

本次论文主要使用此版本的Solidworks。

图2.1是Solidworks的用户界面。

图2.1.Solidworks用户界面

(二)VB程序开发软件

VisualBasic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。

从任何标准来说,VB都是世界上使用人数最多的编程语言,它由BASIC编程语言演变而来。

VB中含有图形用户界面和快速应用程序开发系统,用户可以很容易地使用DAO、RDO、ADO连接到数据库,或者方便地创建ActiveX控件。

编程人员可以通过使用VB提供的组件轻松地创建应用程序。

VisualBasic通过COM/COM+的强大功能,N-层结构的分布式应用程序可以被开发。

并且,通过使用VisualBasic,程序员也能够在IIS平台上开发强大的Web应用程序。

VisualBasic6.0并未在语言方面和IDE方面做大改进,但是许多新添加的组件成为VisualBasic开发人员可以利用的工具,如文件系统对象等。

新的字符串函数分割和替换等也为VisualBasic的编程人员提供很多便捷。

总之VisualBasic6.0已经是一个非常稳定成熟的开发系统,可以使让使用者轻松创建多层的系统以及Web应用程序。

图2.2是VB的用户界面,左侧是控制命令栏,右侧是信息栏。

图2.2.VB6.0用户界面

(三)VB与Solidworks二次开发技术

1.二次开发技术

Solidworks二次开发简单来说就是利用类似VB、C++、C#等支持OLE的编程语言作为开发平台,调用SolidworksAPI函数实现相应的功能,从而实现一些特殊的要求。

同时,由于SolidworksAPI及其有关文档包括在Solidworks软件中,任何用户都可以对其进行二次开发。

SolidWorksAPI接口使用面向对象的方法,所有的函数都是有关对象的方法或属性。

用户通过调用对这些对象的方法和属性,就可以通过自己开发的程序,对SolidWorks软件进行各种操控。

SolidWorks有两种API接口:

一种是基于OLEAutomation的IDispatch技术;

另一种是基于Windows基础的COM的开发方式。

基于OLEAutomation的IDispatch技术是一种快速开发的手段,通常多用于VB、Delphi编程语言,通过IDispatch接口将对象的属性和方法暴露,从而使客户在使用这些程序时,可以调用它所支持的方法。

COM是Microsoft公司提出的一种标准协议,它是一种组件开发技术,通过连接两个软件模块,在这种连接建立之后,二者之间就可以通过接口来进行通讯。

一般情况下,由VC++编写此方法。

2、VB开发Solidworks

对Solidworks的开发中,较为常见的有VB、C++、VC和VBA。

其中VB开发的最大特点就是简单,使用VB开发周期短,代码效率高。

VisualBasic(VB)是windows环境下可视化快速应用开发工具。

通过动态数据交换编程技术,VB可以在应用程序中与其他windows应用程序进行数据交换,并且可以在不同的应用程序之间通信。

VB环境下建立的客户端可以直接访问Solidworks中的对象。

Solidworks支持OLE标准,将OLE自动化。

作为OLE服务器,Solidworks提供了大量的OLE对象,以及这些对象的方法和属性,在客户应用程序环境中,用户通过操控对这些OLE对象及其方法和属性,可以开发相应的软件和各种功能。

Solidworks对象为VB对Solidworks工作环境进行访问处理提供了接口。

Solidworks对象包括Environment、Frame、ModelDoc、Modeler、AtrributeDef、SWPropertysheet,以及一些其他的对象。

作为SolidworksAPI中的最高层对象的Solidworks对象,它可以直接或间接的访问SolidworksAPI中其他所有的对象。

利用它,可以实现应用程序最基本的操作,如生成、关闭、打开、结束文件、设置当前的激活文件、重排图标和窗口、生成属性定义,也可以对solidworks的系统环境进行设置。

Solidworks中的API函数通过VB被调用,可以完成零件的建造和修改;

零件各特征的建立、删除、修改等各项控制;

提取零件特征信息;

零件工程图纸中的各项信息;

零件的装配信息等。

基于VB的SolidWorks二次开发最重要的是程序代码的编写。

开发者可以直接编写代码,即完全用程序实现三维模型的编辑以及参数化设计,这种方法非常复杂,但对具有复杂形体的零件造型实现度高。

同时,开发者需要对SolidworksAPI函数十分了解,但是SolidworksAPI函数非常之多,往往初学者不容易完全掌握。

另外一个简单实用的方法是先录制使用Solidworks用户界面执行的操作,即录制宏,获得宏操作代码,将其复制添加到VB程序所需部分,然后编辑修改以达到程序要求,通过程序驱动设计变量实现模型的建立和更新,这种方法编程较简单,通用性好。

三、VB开发Solidworks设计

(一)API技术与宏命令

在SolidworksAPI中,经常用到对象、属性、方法等术语,准确理解这些术语对进行二次开发很重要。

对象是现实世界中的一个实体,其特性是:

(1)每一个对象的名字不能与其他对象重复;

(2)它的某些特征通过属性来确定;

(3)有且只有一组操作可以决定对象的一种行为。

图3.1所示为SolidworksAPI部分对象体系,每一层又包括若干对象,每个对象又都有自己的属性、方法和事件。

图中Solidworks对象是SolidworksAPI中的最高层的对象,它能够直接或间接地访问SolidworksAPI中的所有其他对象。

通过该对象可以实现应用程序的最基本操作,如可以控制Solidworks软件的执行或退出,Solidworks文件的建立、打开、关闭等操作。

每个特定的对象都具有“属性”和“方法”。

图3.1.SolidworksAPI部分对象体系

宏是一系列命令的集合,相当于DOS下的批处理文件,或者AutoCAD中的脚本文件。

编程人员可以先录制Solidworks用户界面执行的操作,然后调用Solidworks宏重新执行这些操作。

宏所包含的调用等同于使用用户界面执行操作时,对API的调用。

通过记录宏,可以编辑在代码所需的命令和语法上获得飞跃。

在写任何代码前,都是记录宏来用作程序基础。

即当想在程序添加功能时,返回到Solidworks,记录添加的宏。

然后剪贴和黏贴记录的宏到代码中,这样做,可以大大简化编程难度。

[1]

(二)VB开发Solidworks程序开发

VB二次开发Solidworks最重要的部分就是如何编写程序代码。

开发者可以选择直接编写代码,这种方法需要开发者非常熟悉SolidworksAPI函数,所以对于初学者而言比较不可取。

这里,我们选择一个较为简单且实用的方法,就是先使用Solidworks录制宏,获得宏操作的代码,再将其复制到VB中进行修改。

下面就介绍一下本次论文的开发过程:

(1)打开VB程序设计软件,根据要求创建主界面,如图,首先我们分别创建了两个标签、两个文本框两个命令按钮。

对于第一行的文本框,这里供使用者输入表格名字,初定义了在E盘创建一个名为xxx的excel表格,使用者也可以在这里修改成其他名字,点击创建按钮创建。

第二行的文本框是用于输入插值的型线名,在这里输入型线名后点击运行即可。

图3.2.VB程序界面

(2)录制宏获得宏操作代码,这里需要先打开Solidworks,打开船舶型线图,点击录制宏按钮,如图3.3所示。

图3.3录制宏

(3)在型线图中选择型线,并右键解除约束,对其进行简化样条曲线,插值完成后结束草图绘制,得到以下代码:

SetswApp=CreateObject("

SldWorks.Application"

SetPart=swApp.ActiveDoc

boolstatus=Part.Extension.SelectByID2("

Spline2@"

"

EXTSKETCHSEGMENT"

16.0000000000175,9.40554604417026,8.7959797972503,False,0,Nothing,0)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

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

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