Tribon参数化建模之__对型材端切的参数化建模解析
?
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建模的角度提供了一個很意思的模型創建和顯示的解決方法。
總結
以上是生活随笔為你收集整理的Tribon参数化建模之__对型材端切的参数化建模解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 功耗大好还是小好_热设计功耗高好还是低好
- 下一篇: 如何缩小gif动图的体积?怎样快速压缩g