如何將CATIA中的硬點坐標導出到EXCEL中?
2018-04-08 16:52:26· 來源:汽車底盤零件設(shè)計
我們知道,設(shè)計人員經(jīng)常要用到CATIA中的點的坐標信息,并分享給其他專業(yè),比如底盤的硬點信息,如果是不多的幾個點,可以通過CATIA中的測量工具直接量取,但如果有幾十個點呢?還是通過一個一個的手工量取,再記錄,不僅浪費大量的時間,還極容易出錯。
前言
我們知道,設(shè)計人員經(jīng)常要用到CATIA中的點的坐標信息,并分享給其他專業(yè),比如底盤的硬點信息,如果是不多的幾個點,可以通過CATIA中的測量工具直接量取,但如果有幾十個點呢?還是通過一個一個的手工量取,再記錄,不僅浪費大量的時間,還極容易出錯。
搜索網(wǎng)上一般將點坐標導出到EXCEL中的操作方法非常的復(fù)雜,而且步驟之多不利于記憶,且導入到EXCEL中的坐標還需要再次處理,非常的不方便,今天我們就介紹一種基于CATIA二次開發(fā)的導點小工具,可以一鍵將CATIA中當前零部件的所有點坐標導出到excel中,全程只需要點擊一次圖標,非常方便。
下面是具體的設(shè)置步驟,設(shè)置完成后,后續(xù)只需點擊圖標按鈕即可!
設(shè)置步驟
首先,點擊【工具】>【宏】>【宏…】

彈出宏的對話框:

如果是第一次設(shè)置宏,需要進行庫的創(chuàng)建,只需按照提示一步一步創(chuàng)建即可,上面截圖已經(jīng)完成了庫的創(chuàng)建。
接下來點擊創(chuàng)建按鈕創(chuàng)建一個新的宏:

彈出創(chuàng)建新宏對話框,可以更改宏名稱,這里使用默認的名稱,點擊確定:

可以看到新的宏已經(jīng)出現(xiàn)在宏的對話框里:

雙擊或者運行上面的創(chuàng)建的新宏,出現(xiàn)下面的窗口:

在上面紅框的位置復(fù)制已經(jīng)寫好的代碼:

完成復(fù)制粘貼后關(guān)閉宏編輯窗口:

最后我們講解如何在CATIA的工具條上做一個專門的按鈕用于實現(xiàn)導點的功能。
再次點擊【工具】>【自定義…】

打開自定義對話框,點擊命令選項卡,選擇宏,我們看到編輯后的宏顯示在右側(cè)的框中,選中‘模塊1’,如果需要設(shè)置其他屬性,可以點擊顯示屬性按鈕。

這里我們修改下顯示的圖標,修改完畢后,點擊‘模塊1’不松,直接拖放到工具條上合適的位置,如下圖所示。拖放完成后可以關(guān)閉自定義對話框,設(shè)置就完成了。

下面我們測試效果,新建一個part并繪制一個零件幾何體,在零件幾何體上新建幾個點,點擊上圖中新建的圖標按鈕,接著彈出一個excel表格,并顯示CATIA中所有的點坐標信息。

附錄(程序代碼)
Dim objGEXCELapp As Object
Dim objGEXCELwkBks As Object
Dim objGEXCELwkBk As Object
Dim objGEXCELwkShs As Object
Dim objGEXCELSh As Object
Sub CATMain()
CATIA.Activedocument.Selection.Search "CATGmoSearch.Point,all" '找到當前激活文檔的所有點
StartExcel '打開EXCEL
ExportPoint '導出各個點
End Sub
'*************************************a*****************************************
Sub StartExcel()
'******************************************************************************
Err.Clear
On Error Resume Next
Set objGEXCELapp = GetObject(, "EXCEL.Application")
If Err.Number <> 0 Then
Err.Clear
Set objGEXCELapp = CreateObject("EXCEL.Application")
End If
objGEXCELapp.Application.Visible = True
Set objGEXCELwkBks = objGEXCELapp.Application.WorkBooks
Set objGEXCELwkBk = objGEXCELwkBks.Add
Set objGEXCELwkShs = objGEXCELwkBk.Worksheets(1) 'create new sheet1
Set objGEXCELSh = objGEXCELwkBk.Sheets(1)
objGEXCELSh.Cells(1, "A") = "Name"
objGEXCELSh.Cells(1, "B") = "X"
objGEXCELSh.Cells(1, "C") = "Y"
objGEXCELSh.Cells(1, "D") = "Z"
End Sub
'******************************************************************************
Sub ExportPoint()
'******************************************************************************
For i = 1 To CATIA.Activedocument.Selection.Count '從1到所有的點的數(shù)目
Set oSelElem = CATIA.Activedocument.Selection.Item(i) '選擇的對象
Set Point = oSelElem.Value
Set TheSPAWorkbench = CATIA.Activedocument.GetWorkbench("SPAWorkbench")
Set TheMeasurable = TheSPAWorkbench.GetMeasurable(Point)
Dim Coordinates(2)
TheMeasurable.GetPoint Coordinates
objGEXCELSh.Cells(i + 1, "A") = Point.Name
objGEXCELSh.Cells(i + 1, "B") = Coordinates(0)
objGEXCELSh.Cells(i + 1, "C") = Coordinates(1)
objGEXCELSh.Cells(i + 1, "D") = Coordinates(2)
Next
End Sub
我們知道,設(shè)計人員經(jīng)常要用到CATIA中的點的坐標信息,并分享給其他專業(yè),比如底盤的硬點信息,如果是不多的幾個點,可以通過CATIA中的測量工具直接量取,但如果有幾十個點呢?還是通過一個一個的手工量取,再記錄,不僅浪費大量的時間,還極容易出錯。
搜索網(wǎng)上一般將點坐標導出到EXCEL中的操作方法非常的復(fù)雜,而且步驟之多不利于記憶,且導入到EXCEL中的坐標還需要再次處理,非常的不方便,今天我們就介紹一種基于CATIA二次開發(fā)的導點小工具,可以一鍵將CATIA中當前零部件的所有點坐標導出到excel中,全程只需要點擊一次圖標,非常方便。
下面是具體的設(shè)置步驟,設(shè)置完成后,后續(xù)只需點擊圖標按鈕即可!
設(shè)置步驟
首先,點擊【工具】>【宏】>【宏…】

彈出宏的對話框:

如果是第一次設(shè)置宏,需要進行庫的創(chuàng)建,只需按照提示一步一步創(chuàng)建即可,上面截圖已經(jīng)完成了庫的創(chuàng)建。
接下來點擊創(chuàng)建按鈕創(chuàng)建一個新的宏:

彈出創(chuàng)建新宏對話框,可以更改宏名稱,這里使用默認的名稱,點擊確定:

可以看到新的宏已經(jīng)出現(xiàn)在宏的對話框里:

雙擊或者運行上面的創(chuàng)建的新宏,出現(xiàn)下面的窗口:

在上面紅框的位置復(fù)制已經(jīng)寫好的代碼:

完成復(fù)制粘貼后關(guān)閉宏編輯窗口:

最后我們講解如何在CATIA的工具條上做一個專門的按鈕用于實現(xiàn)導點的功能。
再次點擊【工具】>【自定義…】

打開自定義對話框,點擊命令選項卡,選擇宏,我們看到編輯后的宏顯示在右側(cè)的框中,選中‘模塊1’,如果需要設(shè)置其他屬性,可以點擊顯示屬性按鈕。

這里我們修改下顯示的圖標,修改完畢后,點擊‘模塊1’不松,直接拖放到工具條上合適的位置,如下圖所示。拖放完成后可以關(guān)閉自定義對話框,設(shè)置就完成了。

下面我們測試效果,新建一個part并繪制一個零件幾何體,在零件幾何體上新建幾個點,點擊上圖中新建的圖標按鈕,接著彈出一個excel表格,并顯示CATIA中所有的點坐標信息。

附錄(程序代碼)
Dim objGEXCELapp As Object
Dim objGEXCELwkBks As Object
Dim objGEXCELwkBk As Object
Dim objGEXCELwkShs As Object
Dim objGEXCELSh As Object
Sub CATMain()
CATIA.Activedocument.Selection.Search "CATGmoSearch.Point,all" '找到當前激活文檔的所有點
StartExcel '打開EXCEL
ExportPoint '導出各個點
End Sub
'*************************************a*****************************************
Sub StartExcel()
'******************************************************************************
Err.Clear
On Error Resume Next
Set objGEXCELapp = GetObject(, "EXCEL.Application")
If Err.Number <> 0 Then
Err.Clear
Set objGEXCELapp = CreateObject("EXCEL.Application")
End If
objGEXCELapp.Application.Visible = True
Set objGEXCELwkBks = objGEXCELapp.Application.WorkBooks
Set objGEXCELwkBk = objGEXCELwkBks.Add
Set objGEXCELwkShs = objGEXCELwkBk.Worksheets(1) 'create new sheet1
Set objGEXCELSh = objGEXCELwkBk.Sheets(1)
objGEXCELSh.Cells(1, "A") = "Name"
objGEXCELSh.Cells(1, "B") = "X"
objGEXCELSh.Cells(1, "C") = "Y"
objGEXCELSh.Cells(1, "D") = "Z"
End Sub
'******************************************************************************
Sub ExportPoint()
'******************************************************************************
For i = 1 To CATIA.Activedocument.Selection.Count '從1到所有的點的數(shù)目
Set oSelElem = CATIA.Activedocument.Selection.Item(i) '選擇的對象
Set Point = oSelElem.Value
Set TheSPAWorkbench = CATIA.Activedocument.GetWorkbench("SPAWorkbench")
Set TheMeasurable = TheSPAWorkbench.GetMeasurable(Point)
Dim Coordinates(2)
TheMeasurable.GetPoint Coordinates
objGEXCELSh.Cells(i + 1, "A") = Point.Name
objGEXCELSh.Cells(i + 1, "B") = Coordinates(0)
objGEXCELSh.Cells(i + 1, "C") = Coordinates(1)
objGEXCELSh.Cells(i + 1, "D") = Coordinates(2)
Next
End Sub
編輯推薦
最新資訊
-
跨越速運憑什么“圈粉”萬千客戶?“
2025-07-01 14:42
-
數(shù)智破局啟新篇?生態(tài)共生再啟程 —
2025-06-27 20:13
-
助力汽車零部件產(chǎn)線智能化升級,西門
2025-06-27 13:59
-
BBA集體轉(zhuǎn)向!放棄全面電動化
2025-06-26 17:32
-
比換柜省錢,比自研省心,西門子Xcel
2025-06-25 15:07