基于装配液舱三维建模与仿真.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于装配液舱三维建模与仿真

基于装配的液舱三维建模与仿真 作者:杨华龙 赵翠莲 张红 林永燧 一、引言 液舱是国际间石油、化工等产品贸易结算、运输费结算的主要计量器具之一,也是国内液货贸易交接的重要计量器具。当前,国家计量标准规定的计算不确定度为小于0.2%,但这样的计量标准严重滞后于市场的需求。例如一条15万吨的油轮,按照当前汽油价格3210元/吨,每个航次会给用户带来大约96万元的损失。因此对新建、改建和使用中的各类船舶进行准确的液舱容量检定,直接关系到我国国内外贸易的经济利益和声誉。 由于船体结构复杂,尤其是占实际舱容约99%的型舱容(型舱容是指由前后舱壁、纵舱壁、舱底、舷侧及液面组成的不考虑舱内固定构件所占据的容积空间)在实际使用中发现近似计算存在的误差较大,因此准确地建立液舱模型就成为了准确计算舱容的关键和研究热点。 本文提出的液舱三维建模与 HYPERLINK /cat_1310002.html \t _blank 仿真方法,运用装配概念,采用Top-Down设计方法和WAVE全相关产品设计技术,通过建立引用集,对液舱的舱体和构件进行参数化建模。可通过仿真在多种浮态下舱货区的空间及各舱液面的分布情况,建立基于装配的高精度液舱三维仿真模型,为以后舱容的准确定量奠定基础。 二、装配技术在液舱建模仿真中的应用 UG是面向制造行业的 HYPERLINK /cat_1310001.html \t _blank CAD高端软件,可以数字化地定义和获取三维产品信息。特别是UG强大的造型功能、装配功能和全相关产品设计技术更是在业界遥遥领先,并广泛地应用于汽车、航天、航空、机械、造船和消费产品等工业的生产。 UG/OPEN API是UG与外部应用程序之间的接口,是一系列函数和过程的集合。开发者可以通过用C语言编程来调用这些函数和过程,从而实现用户的需要。 液舱构件的种类和数量特别多,仅用常规手工建模方式得到的液货舱模型是由很多特征组成的三维液舱模型,在仿真过程中不能以部件为单位进行操作,不利于仿真过程的实现。采用装配的建模方式能够使构件和舱体成为装配件中的独立单元,用户可以方便地对船体构件进行管理。当前市场上存在大量不同的船型和一些改装船,这些不同类型的船之间有些构件是形状相似的,可以用同一个程序对这些构件进行自动建模,提高建模效率。采用装配的方法对液舱部件进行模块化处理,增强了程序的通用性。同时装配技术的采用,使得在建模过程中更容易进行数据检查。 自顶向下装配(Top-Down assembly)是自装配件的顶级结点生成子装配和组件,在装配层次上建立和编辑组件,从装配件的顶级开始自顶向下进行设计建模,该装配设计方法既符合人们的设计习惯,又能提高建模效率,便于使用程序自动建模,因此本文采用自顶向下装配的方法进行建模。在装配建模的过程中,建立自己的引用集,大大地减少了装配件中的信息,例如一个部件中除了实体图形外,还有基准面、基准轴和草图等,而我们在装配时只需要实体图形,那么我们就定义一个只包含实体图形的引用集。引用集一旦建立,就可以单独地装配到装配件中。 液舱的种类和形式很多,通过对相似构件和液舱进行分类归纳,得到液舱构件和类型如图1所示。 图1 液舱构件和类型 按照“自顶向下”的思想,首先建立装配结构,即装配关系,但不建立任何几何模型。然后使其中的组件成为工作部件,并在其中建立几何模型,即在上下文中进行设计,边设计边装配。在建立组件的过程中设定组件的引用集,引用所要显示的部件对象。例如本例是某油船液舱的三维仿真模型,其装配关系如图2所示:顶上两级不包括任何信息,三级组件依次为计量管模型、自定义类型横舱壁、槽型横舱壁、横壁墩、槽型纵舱壁、变截面类型纵壁墩、等截面类型纵壁墩和舱体文件。 图2 液舱装配导航 下面用简单实例来说明实现过程。 file://变量初始化 double origin[3] = {0.0, 0.0, 0.0}; double csys[6] = {1.0, 0.0, 0.0, 0.0, 1.0, 0.0}; int units; tag_t instance; file://设定创建的新的部件路径和名称 char file_name[200]=; strcat(file_name,file_parth); strcat(file_name,modeling\\T_SIZE_XZ.prt); file://查询当前工作零件的单位 UF_PART_ask_units(work_part, units); file://创建新的零件文件,零件名为T_SIZE_XZ.prt remove(file_name); UF_ASSEM_create_component_part(w

您可能关注的文档

文档评论(0)

sy78219 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档