比「發送至」更強大的整理產品目錄的CATIA宏
文件管理之CATIA命令:發送至
作為一名設計員,在設計完後(如上圖中的工裝夾具),提交資料之前,都需要整理零件目錄。你們都是怎麼操作的呢?是不是也像上圖中使用「發送至」-->「目錄」的方法。
如果需要保留原始的文件保存目錄,可以選中下圖中的「保留目錄結構」命令。如果只需要把所有文件保存到同一個目錄中,取消選中「保留目錄結構」命令即可。
整理目錄時,使用「發送至」命令,相較於一個個另存文件,可以大大提高工作效率,也是設計員工作過程中使用最多最有效的方法。但是,「發送至」命令也有一些弊端,特別是需要保留原始的文件保存目錄時。因為,「發送至」命令不支持保留不同硬碟的文件夾目錄。
另外,如果在設計的時候,文件本身保存的位置比較凌亂,後期想通過「發送至」命令整理文件目錄也是不行的。以前,小編設計工裝夾具的時候,夾具的產品(零件)需要按照單元建立目錄,把各單元下的子產品(零件)保存到各自目錄下。常常苦惱於「發送至」命令的這個弊端。也因此常常無法享受到「發送至」命令的便捷。
文件管理之CATIA宏(VB二次開發):按照要求訂製目錄整理方法
每次遇到CATIA軟體這些不人性、不完美的時候,小編總能聽到同事在抱怨CATIA軟體不如某某軟體。而小編也是在這些時候加強了學習CATIA宏的決心。如今總算略知皮毛,也希望將這些成果帶給更多的人受益。目前,網上關於CATIA宏的知識太少了,了解CATIA宏知識的人也不願意將其展示出來,展示出來了也沒有一個好平台讓大家了解。言歸正傳,下面開始介紹本期要講的CATIA宏:按要求訂製目錄整理。
本CATIA宏實現的目標:在整理夾具文檔目錄時,按照單元建立目錄,並將單元下的所有產品(零件)保存到各自單元目錄下。具體思路為:1.讓用戶選擇保存目錄;2.按照單元建立目錄;3.保存單元下的所有子產品(零件)。
1)讓用戶選擇保存目錄
我們可以通過Shell.Application對象中的BrowseForFolder方法讓用戶選擇保存目錄,並獲取目錄地址,下圖為選擇文件夾的對話框。
如果用戶取消選擇則退出程序(If objFolder Is Nothing Then Exit Sub)。以下為此節的詳細代碼:
2)按照單元的文件名建立文件夾後分目錄保存
下面,我們首先遍歷打開夾具下的所有子產品(零件)。如果為產品格式則認為是單元,獲取單元文檔的文件名。如果目錄下沒有以單元文檔的文件名命名的文件夾,則新建一個文件夾。接著,將單元文檔保存到以單元文檔的文件名命名的文件夾下。如果為零件格式則不認為是單元,直接將其保存到選擇文件夾下。以下為此節的詳細代碼,大家可以分析下每行代碼的意思。
3)另存指定產品的所有子產品到某個目錄的方法
通過遞歸函數實現另存指定產品的所有子產品到某個目錄的方法。其主要思路是遍歷所有子產品(For Each subProduct In oProduct.Products),並獲取子產品的文件名(toSave = subProduct.ReferenceProduct.Parent.name),然後通過文件名獲取文件另存到指定位置(CATIA.Documents.Item(toSave).SaveAs (strPath & "" & toSave)),最後通過遞歸的方法實現另存子產品的子產品(allSubsSaveAs subProduct, strPath)。實現另存所有子產品到指定目錄的函數代碼如下:
下圖是運行宏之後的效果:
TAG:全球大搜羅 |