- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Melden
Hallo zusammen, ich nutze Inventor und iLogic noch nicht sehr lange und wäre sehr dankbar für eure Hilfe. Für den Export von Arbeitspunkten konnte ich die untenstehende Regel erstellen. Die Arbeitspunkte werden durch Rechteckige Anordnungen eingefügt. Nun exportiert die jetzige Regel immer alle sichtbare Arbeitspunkte.
1. Nun möchte ich jedoch nur bestimmte Arbeitspunkte exportieren, die mit einem bestimmten Feature, z.B. „Rechteckige Anordnung Workpoints1“ erstellt wurden. Zu beachten ist auch, dass die Anzahl der Arbeitspunkte immer unterschiedlich ist, da mit einem dynamischen Modell gearbeitet wird. Über die Namen der Arbeitspunkte kann also nicht unterschieden werden. Auch wäre es denkbar Arbeitspunkte innerhalb eines Features auf unsichtbar zu setzen, um somit differenzieren zu können, welche Arbeitspunkte exportiert werden. Auch können andere Möglichkeiten zur Auswahl der Arbeitspunkte, z.B. Ordner, vorgeschlagen werden.
2. Daneben soll die CSV-Datei immer dieselbe Größe haben. Also z.B. 100 Spalten, auch wenn es nur 60 Arbeitspunkte gibt. Ist das möglich? Die Leerstellen können dann mit einem vorgegebenen Wert, z.B. „f“ befüllt werden.
Vielen Dank für eure Unterstützung.
'Export Workpoints Koordinaten Dim oDoc = ThisDoc.Document Dim partDoc = ThisApplication.ActiveDocument Dim partDef = partDoc.ComponentDefinition Dim dlmtr As String = ";" 'or vbTab Dim filePath As String Dim fileName As String Dim i As Integer 'Zuweisung vom Pfad und Namen der Datei filePath = ThisDoc.Path & "\" fileName = "CSV Name" & " " & Auftragsnummer & ".csv" 'Erstellung der CSV Datei - Für jede Koordinate einen Block expFile = System.IO.File.CreateText(filePath + fileName) expFile.Write("Name" & dlmtr) For i = 1 To partDef.WorkPoints.Count If partDef.WorkPoints.Item(i).Visible = True expFile.Write(partDef.WorkPoints.Item(i).Name & dlmtr) Else expFile.Write("f" & dlmtr) End If Next expFile.Write("Auftragsnummer" & dlmtr) expFile.Write("Kunde" & dlmtr) expFile.Write("Ausfuehrung" & dlmtr) expFile.Write(vbCrLf & "X" & dlmtr) For i = 1 To partDef.WorkPoints.Count If partDef.WorkPoints.Item(i).Visible = True Then expFile.Write(Round(partDef.WorkPoints.Item(i).Point.X * 10,1) & dlmtr) Else expFile.Write("f" & dlmtr) End If Next expFile.Write(Auftragsnummer & dlmtr) expFile.Write(Kunde & dlmtr) expFile.Write(Ausführung & dlmtr) expFile.Write(vbCrLf & "Y" & dlmtr) For i = 1 To partDef.WorkPoints.Count If partDef.WorkPoints.Item(i).Visible = True Then expFile.Write(Round(partDef.WorkPoints.Item(i).Point.Y * 10 -5,1) & dlmtr) Else expFile.Write("f" & dlmtr) End If Next expFile.Write(vbCrLf & "Z" & dlmtr) For i = 1 To partDef.WorkPoints.Count If partDef.WorkPoints.Item(i).Visible = True Then expFile.Write(Round(partDef.WorkPoints.Item(i).Point.Z * 10 -100,1) & dlmtr) Else expFile.Write("f" & dlmtr) End If Next expFile.Close 'Öffnen der erstellten CSV Datei ThisDoc.Launch(filePath + fileName)
Gelöst! Gehe zur Lösung