Hallo,
gleich vorne weg. Ich bin auch der absolute Anfänger in der Pogrammierung.
Ich hab´s aber mitlerweilen geschafft, das Excel gestartet wird, die Koordinaten ausgelesen werden (XYZ in Spalten 1, 2 und 3), jedoch schneidet mir das System die Nachkommastellen ab.
Die XYZ-Werte werden auf- bzw. abgerundet.
Mein Script sieht wie folgt derzeit aus:
Sub CATMain()
Dim Excel As Application
Dim WB As Workbook
Dim WS As Worksheet
Dim XCoord As Reel
Dim YCoord As Reel
Dim ZCoord As Reel
Dim nRow As Integer
Dim Part As Part
Dim HybShapeFac As HybridShapeFactory
Dim Point
Dim HKoerper As HybridBodies
Dim measurement_points As HybridBody
' Excel starten
Set Excel = CreateObject("Excel.Application")
Excel.Visible = True
' arbeitsmappe öffnen
Set WB = Excel.Workbooks.Open("X:/test.xls")
' tabelle holen
Set WS = WB.Worksheets.Item(1)
' aktives part holen
Set Part = CATIA.ActiveDocument.Part
' factory zu erstellen der Punkte
Set HybShapeFac = Part.HybridShapeFactory
' hauptkörper (GeometricalSet) holen zum einfügen der Punkte
Set HKoerper = CATIA.ActiveDocument.Part.HybridBodies
Set measurement_points = HKoerper.Item ("measurement_points")
' Koordianten beginnen in der 2 Zeile der Tabelle
nRow = 2
' Zeilen solange einlesen bis nichts mehr drin steht
Do
' die koordinaten stehen in den Spalten 1, 2, 3
XCoord = CInt(WS.Cells(nRow, 1).Text)
YCoord = CInt(WS.Cells(nRow, 2).Text)
ZCoord = CInt(WS.Cells(nRow, 3).Text)
' Punkt mit den Koordinaten erstellen
Set Point = HybShapeFac.AddNewPointCoord(XCoord, YCoord, ZCoord)
' Punkt in Hauptkörper einfügen
measurement_points.AppendHybridShape Point
' Zeile hochzählen
nRow = nRow + 1
' Schleife verlassen, wenn Zelle leer ist
Loop While (WS.Cells(nRow, 2).Text <> "")
' Part aktualisieren
Part.Update
' Ecxel schliessen
Excel.Quit
End Sub
Ich denke, es liegt evtl. an der Deklaration - doch wie gesagt - blutiger Anfänger
Danke schon mal.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP