
作者 |CATIA那點事兒
首發 |仿真秀App
導讀:一般來說,二次開發是對大型通用軟體的使用者化和專業化的有效方式,可以将公司已有的知識、需求和設計規則等積累整合到軟體系統中,進而使軟體更好地為人服務,對于提高工作效率和工作品質有着不可低估的作用。
以下是一名苦逼的汽車行業的工程師,關于他的故事,要從下面這個視訊說起……
一、無需專業程式設計基礎的CATIA二次開發
作為汽車行業的從業者,或者理工科院校的學弟學妹們,相信各位和我一樣,對CATIA這個軟體應該并不陌生。CATIA V5系列軟體作為全球汽車及航天行業廣泛使用的CAD/CAE/CAM軟體,其自身的功能已經十分強大。然而不同行業、不同企業,受标準、法規、規範的限制,對軟體功能的需求也不盡相同。
考慮到這一點,同Office系列軟體的宏功能一樣,CATIA軟體也為普通的工程師使用者提供了VBA二次開發接口,以及開放的内部指令集合。這樣使用者無需專業的程式設計基礎,通過簡單的學習,就可以基于軟體現有指令開發出滿足自己需求的功能,将一些大量複雜的工作程式設計自動化,進而提高效率,節約工時,縮短産品研發和制造周期,最終為企業帶來效益的提升。
如果,你覺得上面一大段話晦澀難懂,那麼我換個說法:某moba遊戲給你提供了控制所有英雄進行移動、施放技能等操作的指令代碼,通過代碼簡單的組合,你就能打出一套預設的完美連招。
回到開頭的視訊内容。或許,視訊中唱到的場景有些誇張。但如果你仔細回想,我們在實際工作中,或多或少都會遇到很多重複且有規律的工作,而手動機械地做這種重複工作,不但效率低,且因内容枯燥,會增加操作者犯錯的幾率。而用宏代碼進行二次開發的方式,恰好能解決上述的痛點。
二、跟着小狼學習CATIA二次開發
回想小狼做的第一個二次開發工具
對于A0+這種圖幅較大的圖紙,由于資訊繁多,對于審圖者來說,從列印出來的幾米長的圖紙裡,想找到目标對象不是一件容易的事。為此,某公司的制圖示準規定如下:
從圖紙左上角開始算起,以100mm為機關,橫坐标為數字遞增,縱坐标為字母遞增,如下圖。
這樣,對于剖視圖A-A,需要在剖切位置标注一個區域号,如C5,即表示這個剖視圖擺放在C5區域;同時在剖視圖的視圖名稱裡标上一個區域号,如A2,即表示該視圖是在A2區域的某個位置剖切得到。
關于如何識别圖中某位置的區域,小狼覺得大概有下面幾種方法吧:
1、在各個企業的标準圖框中,都會在橫縱方向把坐标值标出來。是以第一方法就是我們通過目視來讀坐标
2、目視判斷畢竟又累眼睛又不能保證準确,于是有聰明的人做了一個A0+++++那麼長的一個view,就像這樣
然後把它擺放在需要标注的圖紙中做參考,這樣直接讀就可以了。都标注完之後再把視圖删除。
3、上面的方法雖好,免不了還要自己動手去輸入括号和文字,還得将其改成規定的字型和字号。以小狼懶的程度來衡量,肯定是忍不了的。于是,就有了下面的東西:
自此之後,一個攻城獅就踏上了程式猿的不歸路!
在做了很多工具,如批量改名、批量轉格式、一鍵建立标題欄明細爛等工具之後,小狼逐漸意識到:這些所謂的開發,不過是簡單的API調用,配合上簡單的判斷循環邏輯而已。而程式的核心,在于算法和邏輯,這些東西在上面提到的工具中都是欠缺的。
那麼,如果我們把Automation自動化對象,僅僅當做一個執行工具,而大腦的思考功能用已有的算法實作。那麼這樣踩在巨人的肩膀上,我們能做出來什麼呢?抱着試試看的态度,小狼做出了下面這些東西:
現在,如果你想了解并學習CATIA VBA二次開發相關的内容,做出如下工具:
一鍵建立标題欄明細欄并關聯3D屬性
通過對話框輸入參數并一鍵建立模型
CATIA點坐标到Excel的導入導出
……
可以來關注小狼在仿真秀平台的視訊課程(限時特價掃碼試看)
三、CATIA二次開發公開課
近日,由中國水利水電出版社和仿真秀主辦的《2022汽車仿真設計學習月》來臨之際,4月28日(周四)20時,筆者受邀帶來《汽車設計與CATIA二次開發應用》公開課,以下是課程安排
汽車仿真設計學習月福利
1、汽車工程師VIP會員專享福利
2、汽車仿真設計學習包
注:汽車仿真學習包資料持續永久免費更新,歡迎分享海報到朋友圈,截圖發給仿真秀小助手還可領取力學與有限元學習包一個,并邀請加入學習型汽車工程師交流群。
3、專業好書免費送
(完)