CATIA Knowledge Pattern 知識工程陣列【轉載】
前面的文章里介紹了UDF+List+Loop來實現一些非常規陣列復制,其功能是非常強大的,但是應用list也有一定的缺陷,即一旦需要更新List列表的內容,是需要我們手動去將幾何元素加入進來,例如假如list中包含了N個點的元素,如果我們想要更改設計方案,重新布局點,增加或減少等都需要重新做list,這樣會帶來設計的一些不便,另外如果設計規則異常復雜,不是簡單的線性邏輯關系,需要特定的if/else語句來控制,那么這些只靠list實現起來顯然有困難,但是CATIA強大的知識工程模塊同樣有對應的方法來彌補這種缺陷。本文將介紹CATIA非常強大的“知識陣列”命令,可以通過編程語句實現隨心所欲的控制。特別是對一些大型數據的建立非常有用,例如BIM中對建筑中的橋梁,道路、幕墻等復雜建模來說非常實用。
如下圖所示的在兩段不同的空間3D曲線之間各生成不同的點數目,然后分別對應點點連線,通過知識陣列功能可以實現點數的自動改變,可以實現直線的連接方式,比如頭尾相連、交錯相連甚至任何自定義規則的連接,改變曲線其余關聯幾何也同步變化;
下面開始建模過程:
Step 1 : 首先打開數模,對兩端曲線分別重命名為C1、C2,便于后續代碼的編寫
Step 2 : 點的生成可采用“點在曲線上比例”,創建過程中需要一個參考曲線和一個參考點,所以除了上面的曲線外還需要兩個參考點作為參照,如下,建立兩個端點,分別命名為P1和P2
Step 3 : 打開知識工程陣列命令,在開始菜單下---知識工程模塊—產品工程模板
打開命令后界面如下:
Step 4 : 循環控制代碼編寫
首先確定建模的思路,第一步要生成第一條曲線上的點,然后生成第二條曲線上的點,再通過點點生成直線,最后再循環重復此過程,循環中點位置時刻變化,直線也隨之變化;
通過以上分析,最后循環生成的集合有三種,C1上循環的點,C2上循環的點,以及點點生成的直線,所以需要創建三個List,將這些過程中輸出的元素全部存放在list列表中以便調用。
同時這三種循環幾何集需要三個變量來控制變化,let p1(Point)表示將曲線C1上生成的點存儲在變量p1中;同理創建p2,l ;
另外還有控制數量多少的整數型變量n,以及i
代碼截圖如下:
i=1
For i while i<=n 循環控制語句,表示從i=1一直循環到n結束
Set p1=CreatOrModifyDatum(“Point”,”output”,”Point1”,i)
括號后第一個代表p1變量類型,第二個表示特征元素輸出的對應幾何圖形集,第三個代表存放的list名稱,應該與特征樹上的名稱一致,最后是變量i
P1=pointcurveRatio(,,,,) 對應語句可在下面字典中查詢到,括號后第一個是代表參考曲線,第二個是參考點,第三個是比例,可用變量i控制,最后是方向(true正向,false為方向)
同理創建點p2 和 直線l
創建完成后效果如下:
當然可以隨時去更改代碼,比如更改直線連接順序,可以頭尾相連或者以任意形式連接點
或者更新點的個數n,或者給直線添加顏色或者對其批量命名等等,這一切都可以加入到代碼中;此功能相比較于list而言不需要重新去add或者remove特征元素,其list是一種動態變化的,隨語句控制變化的,后續可以在此基礎上生成其他的UDF特征,例如圓柱體等,而且一旦數量更改,不需要去重新編輯list,因為list在陣列中是動態的,系統會自動去完成更新的
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















