ANSA二次開發的學習之路

        學習ANSA二次開發也有一段時間了,在做項目的過程中也逐漸積累了一些開發經驗。ANSA不管是界面操作還是二次開發的相關學習資料相較于Hypermesh來說都少得可憐,網上僅有的例子也只能是幫助入門。想要真正掌握ANSA二次開發,能夠利用其在項目中真正提高效率、解決問題還需要更加系統地學習,為了后邊的同學們能夠少走我踩過的坑,這里我特別寫了一篇關于ANSA二次開發的學習路線的文章,希望能夠幫助到已入坑和即將入坑的小伙伴。

        ANSA使用Python語言進行二次開發,針對ANSA編寫了相應的庫,大家開發過程總在使用相應的庫時import進來即可。當然進行ANSA二次開發并不需要過高的編程語言,相反更需要的時對于ANSA界面及操作的了解,這里的原因后面細說。在學習Python二次開發前了解Python的字符串、列表、數字、字典、循環(for/while)、函數、類(基礎)相關知識點就行了,這是最基礎的,如果想讓你的程序運行的更快,代碼更簡潔,高級的語法是必不可少的。但是我認為初學者先讓代碼能夠跑起來,實現相應的功能就好了,優化留給以后。至于Python相關學習視頻,網上有很多,這里也就不做推薦了。

        學習完Python基礎語法后你就成功了一半,接下來你只需要了解ANSA自帶的Python庫中對應界面操作的函數即可。工欲善其事必先利其器,下面先介紹一下ANSA自帶的二次開發工具,除了不能自動補充外其他的功能還是能夠滿足日常需求的。

        以ANSA19為例,這里說句題外話,如果大家開發的程序需要運行在低版本的ANSA,建議大家開發時候使用低版本自帶的開發工具,因為高版本會兼容低版本的程序運行。

        首先打開界面,有兩種方式可以進入ANSA二次開發界面:

  1.      Tools-Script-Script Editor

    ANSA二次開發的學習之路的圖1

2.     界面上方的工具欄

ANSA二次開發的學習之路的圖2

        打開后會出現下圖的界面,最常用的就是中間的編輯界面,右側的函數搜索界面,下方的結果輸出與函數幫助顯示界面。右側的函數搜索界面能夠幫助我們快速定位到需要的函數,雙擊后還能夠在下方的Help窗口中顯示函數的參數、使用方法以及例子,這是我們學習二次開發的最好工具,當然你也可以在ANSA的官方網站中找到在線的幫助文檔。如果某一個窗口缺失,大家可以從最上方的菜單欄中的Window中調取出來。

ANSA二次開發的學習之路的圖3

        在進行二次開發前通常我會手動在界面中進行相應的操作,一是理清楚思路,二是了解每一步操作中的命令名稱。ANSA界面中的每一步操作90%以上在二次開發中都有對應的函數,且按鈕或操作的名稱與函數名稱基本一樣,是不是極其方便。

        這樣說可能還是有些小伙伴不太明白,我下面舉個例子。

ANSA二次開發的學習之路的圖4

        假如我們在界面中經常會進行刪除實體的操作,就是下面這個按鈕

ANSA二次開發的學習之路的圖5

        我們把鼠標放在上面會出現圖標的名字以及功能解釋。當然你也可以通過右鍵工具欄,勾選Show labels來直接顯示按鈕的名稱。記住按鈕的名字:Delete

ANSA二次開發的學習之路的圖6

        接下來我們進入Script Editor界面中,在右側的函數搜索欄搜索Delete,這里大家注意ANSA中自帶的庫中的函數每一個單詞都是大寫開頭,其余字母小寫。

        ANSA二次開發的學習之路的圖7

        可以看到有很多關于Delete的命令,有些是關于界面中的刪除操作例如guitk庫中的,有些一些是excel文檔中的刪除操作比如帶xlsx的(沒錯ANSA二次開發可以對excel文檔進行操作),而base庫中的一般是對實體進行刪除操作。

        上圖紅框中的命令是最常用的刪除實體的操作,這里通過函數的名稱很容易就能理解這個命令的作用。確定好函數后我們雙擊,查看左下角的Help窗口中的詳細幫助信息。這里我們以base.DeleteEntity()函數為例。雙擊后Help窗口中有下述信息

ANSA二次開發的學習之路的圖8

        我們逐一來看:

l  1部分是函數的名稱及參數信息

l  2部分是解釋函數的用途,有時還會提示你一些注意事項,大家仔細閱讀

l  3部分是函數參數的具體用法,這部分是關系到你寫出來的程序好壞的一個關鍵性因素,有時候修改默認的函數參數能夠大大提高程序的運行效率

l  4部分是函數的返回值,很多時候我們需要利用函數的返回值進行下一步操作

l  5部分是幫助示例,看懂了例子基本這個函數你就了解其使用方法了。

        有時候按鈕或操作的名稱和函數的名字可能相差很多,這里就需要一些經驗了。比如我們對塑料件以及鑄件進行網格劃分的Casting操作,在二次開發中的對應命令為MidSurfAuto()。完全沒關系好不。當時我也是花了老長時間才找到這個命令。

ANSA二次開發的學習之路的圖9

        最后還有一個小技巧教給大家,其實ANSA自帶了宏錄制功能,雖然只能錄制一部分操作,但是對于初學者來說卻可以提供一定的幫助。按照下圖順序將Record的工具條調出。

ANSA二次開發的學習之路的圖10

        我們打開錄制(紅色按鈕),如果該命令支持錄制,最右側的電燈符號會變黃,完成操作后點擊藍色按鈕會在ScriptEditor中出現剛剛操作對應的代碼。例如我們進行創建Point的操作,這里我們以坐標形式進行創建,會出現如下面右圖所示的代碼。

ANSA二次開發的學習之路的圖11ANSA二次開發的學習之路的圖12

        當然想要學好ANSA二次開發實際上還是要下很大的功夫的,有很多命令、很多參數也是需要很多遍試錯才能了解具體用法和注意事項,以后我也推出了《ANSA二次開發從入門到精通》課程,從:1.實體概念及用法2.幾何清理3.網格劃分4.連接轉換及實例化5.GUI界面設計五個方面進行更加細致講解,希望能夠幫助到大家。

 

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

7
24