iLogic – Auswahl von Arbeitspunkten für CSV Export

iLogic – Auswahl von Arbeitspunkten für CSV Export

r.claus
Contributor Contributor
480Aufrufe
2Antworten
Nachricht 1 von 3

iLogic – Auswahl von Arbeitspunkten für CSV Export

r.claus
Contributor
Contributor

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)
0 „Gefällt mir“-Angaben
Akzeptierte Lösungen (1)
481Aufrufe
2Antworten
Antworten (2)
Nachricht 2 von 3

S_May
Mentor
Mentor
Akzeptierte Lösung

Hallo @r.claus 

 

poste das bitte mal hier

0 „Gefällt mir“-Angaben
Nachricht 3 von 3

r.claus
Contributor
Contributor

Danke,
habe ich bereits gemacht.