Hallo Cad-Gemeinde,
ich arbeite mit Catia V5 und versuche mich derzeit an dem Export von Punktkoordinaten einer Punktwolke aus einem Part-Dokument nach Excel mittels VBA-Makro. Ich hoffe ich habe das Thema an der richtigen Stelle im Forum platziert.
Ich schaffe es, entweder alle Punkte (Fall 1) oder nur von mir selektierte Punkte (Fall 2) mit ihren Koordinaten zu extrahieren. Für den 2. Fall hier einmal der Code:
Dim objGEXCELapp As Object
Dim objGEXCELwkBks As Object
Dim objGEXCELwkBk As Object
Dim objGEXCELwkShs As Object
Dim objGEXCELSh As Object
Dim fs, f, f1, fc, s
Dim coords(2) As Variant
Dim PartDocument1
Dim varSelection
Dim selElement As SelectedElement
Sub CATMain()
Set varSelection = CATIA.ActiveDocument.Selection
StartEXCEL
ExportPoint
'objGEXCELSh.Application.ActiveWorkbook.SaveAs (ExcelFolder & Left(CATIA.ActiveDocument.Name,Len(CATIA.ActiveDocument.Name)-8) & ".xls")
'objGEXCELSh.Application.ActiveWorkbook.Close
End Sub
'******************************************************************************
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)
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()
'******************************************************************************
If (varSelection.Count > 0) Then
For i = 1 To varSelection.Count
Set Selection = varSelection
Set Element = Selection.Item(i)
Set Point = Element.Value
'Write PointData to Excel Sheet
Point.GetCoordinates (coords)
objGEXCELSh.Cells(i + 1, "A") = Point.Name
objGEXCELSh.Cells(i + 1, "B") = coords(0)
objGEXCELSh.Cells(i + 1, "C") = coords(1)
objGEXCELSh.Cells(i + 1, "D") = coords(2)
Next
End If
End Sub
Da ich totaler Anfänger bin, was VBA und Programmierung angeht, komme ich jetzt an dem Punkt nicht weiter, an dem ich mir die Koordinaten von projezierten Punkten (sog. Projections) ausgeben lassen kann. Wenn mir jemand hierbei Hilfestellung geben kann, wäre das super.
Danke und Grüße Flashidashi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP