首页> 中国专利> 一种船舶舱室内装工程的材料质量与重心算法

一种船舶舱室内装工程的材料质量与重心算法

摘要

本发明公开了一种船舶舱室内装工程的质量与重心算法,其特点是采用“SketchUp”软件建立内装工程各物体的“SketchUp”模型,然后利用ruby语言插件程序计算内装工程各物体的质量和重心,然后由“SketchUp”的交互界面(User Interface)或 “SketchUp ”的文档生成(File Access)输出生成表格文件显示内装工程各物体质量和重心的计算结果。本发明与现有技术相比具有计算便捷,准确性好,有效提高了船舶的水动力和航行安全性能,尤其简化了计算过程,降低了工程设计量,工作效率大大提高,尤其适用于复杂空间结构的材料质量和重心的计算,可以求解“SketchUp”中任意实体模型的质量与重心,计算方便,精度高。

著录项

  • 公开/公告号CN104809318A

    专利类型发明专利

  • 公开/公告日2015-07-29

    原文格式PDF

  • 申请/专利权人 中船第九设计研究院工程有限公司;

    申请/专利号CN201510265227.3

  • 发明设计人 丁炜杰;胡世南;王真;

    申请日2015-05-22

  • 分类号G06F17/50(20060101);

  • 代理机构31215 上海蓝迪专利事务所;

  • 代理人徐筱梅

  • 地址 200063 上海市普陀区武宁路303号

  • 入库时间 2023-12-18 10:16:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-10-27

    授权

    授权

  • 2015-08-26

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20150522

    实质审查的生效

  • 2015-07-29

    公开

    公开

说明书

技术领域

本发明涉及船舶舱室内装工程设计,尤其是一种基于“SketchUp”设计软件和“ruby”编程的船舶舱室内装工程的材料质量与重心算法。

背景技术

目前,船舶舱室内装工程设计,其装饰工程材料的质量和重心计算一般都采用二维CAD软件绘制的工程图,然后通过人工统计材料的体积、密度以及坐标后计算完成。计算的工作量非常大,且很难准确计算复杂空间结构的材料质量和重心。常规计算方法不但工作效率低,费时费力,劳动强度大,而且准确性无法得到保证,严重影响船舶的水动力性能,甚至危及航行安全。

发明内容

本发明的目的是针对现有技术的不足而设计的一种船舶舱室内装工程的材料质量与重心算法,采用“SketchUp”设计软件作为舱室内装的三维设计工具,建立内装工程不同材质的“SketchUp”模型并编写ruby语言插件程序,自动计算船舶舱室内装材料的质量和重心,计算过程便捷,工作效率高,确保计算结果的准确性,计算精确高,有效提高了船舶的水动力性能和航行安全。

本发明的目的是这样实现的:一种船舶舱室内装工程的材料质量与重心算法,其特点是采用 “SketchUp”软件建立内装工程各物体的“SketchUp”模型,然后利用ruby语言插件程序计算内装工程的质量和重心,具体计算按下述步骤进行:

(1)、利用“SketchUp”软件建立内装工程各物体的 “SketchUp”模型。

(2)、读取各物体的材质和密度为用户自定义输入项,赋值给具有相同材质的物体在“SkechUp”中所对应模型实体的属性项。

(3)、计算内装工程各物体的“SketchUp”模型的面片数以及每个面片的顶点数和顶点坐标。

(4)、将内装工程各物体的“SketchUp”模型体积等价变换为m个锥体底面面片与坐标原点构成锥体的体积,计算每一锥体质量并求和得到内装工程各物体的“SketchUp”模型质量,其中m 为面片数。

(5)、计算内装工程各物体的“SketchUp”模型体积等价变换所得的m个锥体的重心坐标,将这些坐标值与对应的锥体体积以及材料密度相乘,其乘积求和得到关于原点的各惯性矩,将各惯性矩与其对应的“SketchUp”模型质量相除得到内装工程各物体的重心坐标。

(6)、由“SketchUp”的交互界面(User Interface)或 “SketchUp ”的文档生成(File Access)输出生成表格文件显示内装工程各物体质量和重心的计算结果。

本发明与现有技术相比具有计算便捷,准确性好,有效提高了船舶的水动力和航行安全性能,尤其简化了计算过程,降低了工程设计量,工作效率大大提高,尤其适用于复杂空间结构的材料质量和重心的计算,可以求解“SketchUp”中任意实体模型的质量与重心,计算方便,精度高。

附图说明

图1为本发明算法流程图。

具体实施方式

参阅附图1,本发明采用 “SketchUp”软件建立内装工程各物体的“SketchUp”模型,然后利用ruby语言插件程序计算内装工程的质量和重心,具体计算按下述步骤进行:

(1)、利用“SketchUp”软件建立内装工程各物体的 “SketchUp”模型。

(2)、读取各物体的材质和密度为用户自定义输入项,赋值给具有相同材质的物体在“SkechUp”中所对应模型实体的属性项。

所述读取和赋值通过调用SketchUp ruby的“get_attribute”与“set_attribute”函数实现。

(3)、计算内装工程各物体的“SketchUp”模型的面片数以及每个面片的顶点数和顶点坐标。

所述模型的面片数通过调用SketchUp ruby的“entity.typename”来遍历并判断模型中的所有元素的类型是否为面片并统计模型的面片数。

所述每个面片的顶点数通过调用SketchUp ruby的“vertices.length”统计模型中的各个面片的顶点数。

所述顶点坐标通过调用SketchUp ruby的“vertices.position”来获取模型中的各个面片的顶点坐标(x,y,z)。

(4)、将内装工程各物体的“SketchUp”模型体积等价变换为m个锥体底面面片与坐标原点构成锥体的体积(体积数值的正负符号,由原点是否位于锥体底面面片的法线方向的正向进行判断),计算每一锥体质量并求和得到内装工程各物体的“SketchUp”模型质量,其中m 为面片数。所述计算每一锥体质量并求和按下述步骤进行:

a. 根据锥体的顶点坐标(x,y,z),将锥体底面面片所构成的n边形按顶点划分成(n-2)个三角形,分别计算这(n-2)三角形面积并求和,计算出锥体底面面积。

b. 通过调用SketchUp ruby的“face.normal”来计算锥体底面的法线向量,将锥体n条棱边中的任意一条,投影至锥体底面的法线方向,所得线段的长度即锥体到底面的高。

c. 通过锥体底面法线向量与锥体棱边向量的内积计算,判断原点是否位于该锥体底面法线方向的正向,并据此确定该锥体体积数值的正负符号,根据锥体的体积计算公式,分别计算各个锥体的体积,由不同材料的密度计算每一锥体质量并求和得到得到内装工程各物体的“SketchUp”模型质量。

(5)、计算内装工程各物体的“SketchUp”模型体积等价变换所得的m个锥体的重心坐标(x,y,z),将这些坐标值与对应的锥体体积以及材料密度相乘,其乘积求和得到关于原点的各惯性矩,将各惯性矩与其对应的“SketchUp”模型质量相除,得到内装工程各物体的重心坐标(x,y,z),其具体计算按下述步骤进行:

a. 根据(4)步骤得到的n-2个三角形面积,分别计算这n-2个三角形各自的形心坐标(x,y,z)和锥体底面面片n边形的形心坐标(x,y,z)以及锥体的重心坐标(x,y,z)。

b. 根据每一锥体质量和重心坐标(x,y,z),计算出每一锥体的关于原点的惯性矩。

c.将m个锥体关于原点的惯性矩求和得到内装工程各物体关于原点的惯性矩。

d. 将各惯性矩与其对应的“SketchUp”模型质量相除,得到内装工程各物体的重心坐标(x,y,z)。

(6)、由“SketchUp”的交互界面(User Interface)或 “SketchUp ”的文档生成(File Access)输出生成表格文件显示内装工程各物体质量和重心的计算结果。

以上只是对本发明作进一步的说明,并非用以限制本专利,凡为本发明等效实施,均应包含于本专利的权利要求范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号