您的位置:首页 > 其它

Tribon参数化建模之__对型材端切的参数化建模解析

2016-07-24 22:07 369 查看
 
Tribon参数化建模之__对型材端切的参数化建模解析
 
摘要:参数化建模是工业设计软件普遍使用的建模技术,通过参数化可以提高建模速度的同时提高模型的标准化。Tribon中也大量使用了参数化建模技术,一条上万零件有几百人参与的船舶设计,很好的做到了标准统一。型材端切是参数化建模的典型,从端切入手研究Tribon在参数建模方面的程序设计思路是一个不错的方式。

 

关键词:Tribon,端切,参数化建模

 

1.      概述

当一个型材加工时,也就是对原材料进行切割,型材端部必须加工成合适的形状,型材端部的形状叫端切(endcut)。在三维模型的表示中,需要通过输入CUT参数对型材的端部进行控制。参数由用户输入,自动计算和初始化设置三部分组成。这篇文章将讲解如何通过研究Tribon的端切定义,来在外部CAD程序中重构一个筋模型。

2.      Tribon端切标准,原理

Tribon包含大量的内置端切标准,提供给用户,此标准被分成大量预定义的端切类型。一个端切类型对应于一个特定的几何形状。它的实际外形由设定在标准表中的参数控制。其它的由设计者给出或自动计算出。如,根据型材端部连接。一扁钢端切的典型例子被说明如下(Tribon标准端切类型11)



2.1   端切类型

端切类型是范围10~326的数字,可用端切被覆盖且出版在Tribon中的端切标准。在M3中用户无法增加端切类型,而AM的新版本已经能够提供自定义端切类型。如上例是端切类型11。

2.2   端切代码

端切代码是端切类型的实例,以一定的标准值的组合对于直接的端切参数。端切类型的端切代码必须为数字,并加上两个类型数而生成,如属于某一个端切类型的端切代码限为100,(然而,每个端切代码有大量事件由直接给出参数的标量,在上例中仅角度V).

Tribon供给大量已定义的端切代码作为标准。例如,下表显示端切的一些端切代码属于端切类型11,每一代码以某种组合R1,R2,这些值可由用户更改。此标准化得代码参数设于端切表中,存在SB_OGDB相关联的数据库,由initHull维护。

2.3   显示的端切参数

相关直接给出的参数及其它的解释以单独至某一端切,它们总数目前限制为6,大多数三个是尺寸参数(长度)(由参数名识别A,B,C)并去除三个端切角(V1,V2,V3),V1为型材腹板的角度,V2和V3是型材面板上的角度。这些参数必须一定次序给出,对每个端切类型规定。角度参数总在参数清单的后面,也总为可选项,如果它们不给出将由Tribon自动计算,如型材端部连接,否则,它们缺省为90度,如用户直接分配一个角度将代替,自动计算的一个。用户给出参数一般不更改。如果上述端切类型11,角度V就是显示的端切参数。

2.4端切建模的使用

设计者通过给出的端切代码制定其想用的端切类型,下述为显示的参数,如板架生成端切在Type:11,可由写入选择。

CUT=1112,80

这将导致端切类型11,R1=R2=35,V=80,作为比较。

CUT=1112

将按照连接计算V值,如无连接V=90。

2.5  端切标准的用户设定

如上述,用户可以通过端切表修改内置的端切标准参数,假定任一端切的几何能由一限定的参数控制。如,清单中型材加工草图,这些参数的解释对每一端切类型是单独的,参数是A,B,C,R1,R2,V1,V2,V3,V4。A,B,C是长度,R1和R2是切角半径,V1,V2,V3,V4是端切角,根据端切类型,一些参数的无关的。这九个参数就是Tribon内部控制型材端切的。

2.6  端切表的初始化

用户由端切表控制端切,在SB_OGDB内由initHull创建并更新,端切表应分配至Tribon环境变量,SB_ECUT后可用于运行程序。

可能有工程根据端切表,因为仅这些端切类型/代码能再目前用的端切表中使用,可能限制端切的使用,通过去除它们,如某一工程可仅用总端切标准的子集,也可能在工程间更改内置参数,如一个小船可要求较小的由切角半径相比大船,用户可加新的端切代码,只要数量规格遵守。

输入文件创建端切表目前是在单记录类型的文件文本,一个标准输出文件包含,所有现存端切类型的例子在Tribon中有举例。

输入由两个记录类型并以下述方法组织

<record type 600>

<record type 601>(1…)

因此必须以一记录类型600开始,接以任意数的记录类型601

记录类型600简单包含分至SB_ECUT的端切表名,它有下述格式:

600 ‘<endcut table name>’

每一记录类型601定义一行表,如下述布置

601 <type><npar><par1><par2>…<par<npar>>

这有两种记录类型,选择行和参数行

2.6.1选择行

在选择行<type>是端切类型(在10~326),这表示它们仅为一端切类型的选择行,参数被固定,必须是9,参数是选择代码,对每种结果参数,按上表次序如A,B,C,等,对无关参数选择代码参数可为-1。其中选择代码是内置代码,是对参数灵活控制的一种方式,这方面值得我们软件开发学习。选择代码的详细说明在下面会提到。

注:实际上,选择行必须由Tribon公司设定,并不能由用户更改

2.6.2参数行

参数行规定了与某一端切代码相关的初始化参数,典型切角半径及固定角度,<type>为端切代码,因此每个参数代码必须有一参数行。

当用户想要增加一个新的端切代码时,如一个端切类型的新例子,它可由新端切代码增加一个新的参数行,更方便的方法就是拷贝一个已存在的行,属于目前类型并更改相关参数。

参数的数量可变化,目前最大数是4,一般最少3个参数被给出,不相关的参数被定义为-1,但也不是必须。此每一参数的解释由选择代码控制,选择代码在当前端切代码出现的端切类型的选择行。如参数定义一切角半径,但切角应被一个削斜角,削斜的尺寸由负值给出KS切角。

2.7选择代码与端切参数

在描述选择代码前,先把其中的一些参数进行说明

a)、A,B,C,R1,R2,V1,V2,V3,V4是根据端切几何能被建立的参数,这9个参数是系统内置参数,是直接生成内置端切形状的控制参数。

b)、Acut,bcut, ccut,ang1,ang2,ang3(有时ang1和ang3被ang4代替)为显示参数,是建模时设计员输入或者系统自动计算出来的参数,并且与船体模型一起存储。

2.7.1选择代码

选择代码(SC)最多4个整数(=XYZW)根据在选择行的位置,有效的结果几何参数,如果选择代码有几个数字组成,必须从右向左解释,又是以几步进行,参数应以A,B,C等次序评估,因为几个评估参数可在下述一个评估中,在正选择代码的缺少肩头的数字应解释为,如X=0,Y=0,Z=1,W=0对应于选择代码为10。

对于选择代码为负的参数,相应的参数将设为0,否则,参数应进行如下初始化:

A is set = acut,

B is set = bcut,

C is set = ccut

然而,这些值可以根据选择代码改变,具体描述如下:

选择码

选择码值

参数

说明

W

 

 

W>0,那么从当前端切代码的值取为其参数行的W列值, W值记录列位置值

Z

 

 

如Z>0 那么从acut(bcut,ccut)取值,如果Z=1 (2,3)

Y

=1

V1

如果输入角度ang1>0,设V1= ang1,默认为90

 

=2

V2

设V2由W显示的值,默认为90

 

 

 

 

X

=1

B

如果B=0分配的值由W显示

 

=1

C

如果C=0,那么设置C=(aprof-bcut)/2

 

=1

R1

设置R1=0,如果B=0

 

=1

V1

设V1=0,如果B=0

 

=2

B

如果bcut不等于0,那么设B=bcut,否则设置B=aprof并按W减去数值

 

=5

 

 

 

=9

R2

R2按用户具体规格计算

规格看起来复杂,实际上非常复杂的例子很少,如上述,当新的端切类型实施时,带有选择代码的选择行必须由Tribon解决方案定义,一般不会有用户更改,一旦你知道给出的参数具有什么适当的几何,改变参数行的参数是相当方便的

2.7.2 例子

下述为端切22的选择行,接以端切代码2211为参数行,

 

Type

 

A

B

C

R1

R2

V1

V2

V3

V4

601

22

9

10

1021

-1

1

-1

100

202

-1

-1

601

2211

2

35

30

 

 

 

 

 

 

 

假设设计员建模时扶强材端部由下述输入:

CUT=2211,150,50,80(*)  (* 一般自动计算)



端切类型22的选择行所表示的参数选择解释如下:

A(选择代码 = 10, i.e X=0, Y=0, Z=1, W=0),由于Z=1,设置A=acut(150)

B(选择代码=1021),第一个设定B=bcut(=50).因B有一个值,忽视由W(和X)显示的值,如果bcut为0,那么B将被设置等于R1(=35)

C=0 (选择代码=-1)

R1(选择代码=1),将R1到参数值1 的参数行(=35)

R2=0(选择代码=-1)

V1(选择代码=100).因为Y=1,设V1=ang1(=80),由于X=0不进一步更改

V2(选择代码=202),由于W=2,设置V2等于参数行(30)第二参数,因为V2<90 V2不受条件Y=2的影响

V3=0(选择代码=-1)

V4=0(选择代码=-1)

3.      参数化端切的程序化

上面写了那么多实际上市帮助文档里面的说明,只是为了更好的理解列举在此。这篇文章当然不是简单的工程初始化说明,而是要自己开发一下端切的建模程序。

3.1 参数说明

帮助文档中的概念很多,开发程序前需要把这些概念理顺。下面就对其中的一些概念进行简单的说明。

a)、端切类型是Tribon系统固定在程序中的(Aveva Marine新版本可以自定义添加)。也就是说端切类型种类固定,在程序制作中每种类型需要编写一个处理方式。

b)、端切代码是初始化定义的标准代码,端切代码所在初始化行叫参数行,里面所表示参数意义是通过初始化中的选择行选择代码决定的。由于选择行无法更改,实际上端切代码初始化参数的意义对于某一个端切类型是固定的。

不过,这种参数化的程序设计方式,也是值得我们学习的。往后可以更加灵活的控制。

c)、一个端切的几何描述需要把A,B,C,R1,R2,V1,V2,V3,V4这9个参数进行设置,参数包括用户输入参数和初始化参数。

3.2CSG建模

   计算方式确定之后,就需要考虑如何把模型显示在计算机上面。计算机上面显示三维模型的方式很多,其中有一种叫CSG(Constructive Solid Geometry)建模法,也叫体素建模法。是CAD软件中比较产用的构件实体模型的方式。

       CSG建模法,一个物体被表示为一系列简单的基本物体(如立方体,圆柱体,圆锥体)的布尔操作的结果,数据结构为树状结构。树叶为基本体素或变换矩阵,节点为运算,最上面的节点对应着被建模的物体。

       CSG建模方法简洁,生成速度快,处理方便。而且能够详细地记录构成实体的原始特征参数,甚至在必要时可修改体素参数或者附加体素进行重新拼合。

       在Tribon型材建模中,型材可以考虑为CSG模型的父节点,两端的端切作为子节点。通过端切与型材进行逻辑上面的减运算,这样就可以生成一个包含具体端切类型的型材模型。这种拓扑减实际上吧端切模型作为一种负实体(Negative Geometry),这在PDMS软件中大量使用。从侧面说明我们的推测Tribon内部的建模方式还是合理的。

3.3 例子

在这里我们按照上面的思路编写了一个基于AutoCAD的插件程序。通过读取Tribon中的数据库,重新构建了一个筋模型的显示程序。

下图为Tribon中的模型,



下图为AutoCAD中显示的模型。

 


4.      小结

Tribon作为一款成熟的船舶三维设计软件,能够实现整船的三维建模,功能强大且用户自定义丰富,这是软件中大量使用参数化建模的原因,也是参数化建模的优势。

虽然,计算机三维建模技术已经很成熟。但是,还是很有必要研究一下成熟产品的软件架构方式,尤其是这种参数化建模程序,这对我们自己开发新软件将有很大的帮助。这篇文章只是从型材端切这一小块入手,从分析它的数据结构,到程序的设计,到最后模型的显示。从而论证我们的想法的可操作性,也为我们开发参数化建模程序提供了有益的借鉴。

       三维模型在计算机中的显示往往给用户带来一种全新的体验,尤其当下各种VR和AR技术流行的当下,能否实现传统CAD所建的模型,能够无障碍的显示在各个平台,将有很大的技术应用前景和经济价值。这篇文章从参数化建模和CSG建模的角度提供了一个很意思的模型创建和显示的解决方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息