Hallo IV-VB(A) Forum!
Ich bin noch relativ neu hier, aber ich danke allen Lesern, die vor der Länge der nachfolgenden Problemstellung nicht zurück schrecken
Problem:
Auf einem Rechner unserer Firma läuft ein Jobserver, der (über die EDM-Software gesteuert) IDWs in DXFs (R12) konvertiert. Diese DXFs werden von Mitarbeitern mit AutoCAD 2005 (kein Mechanical Desktop!) geöffnet, nachbearbeitet und wieder gespeichert (überschrieben). Nach diesem Speichern haben diese DXFs aber einen Fehler im Header. Wir haben da mal nachgeforscht und folgendes festgestellt:
In dem Jobserver-DXF-Header ist ein Schriftstil als STANDARD angegeben, nach dem AutoCAD-Speichern wird der durch einen Nullstring ersetzt. Allerdings wird dieser Schriftstil später referenziert und das führt zu dem Headerfehler.
Jetzt hab ich versucht, das irgendwie mit den Vorgaben/Speichern_unter-Optionen in den Griff zu kriegen aber bisher erfolglos. Also Plan B:
Ich lasse auf dem Jobserver ein kleines VB-Programm laufen, das den Speichern-unter-Event abfängt und dann die jeweilige DXF per eigener Routinen "überarbeitet".
Was ich bisher habe:
Ich kann den normalen Inventor-Speicher-Event abfangen (Danke an Paul Schuepbach für das Beispiel an anderer Stelle). Allerdings krieg ich den Speichern-unter Event nicht, obwohl das in der IV-VBA Hilfe steht, das das der gleiche Event ist. Ich habs auch mit OnTranslateDocument versucht. Hier mein entsprechender Code (ich will erstmal nur überhaupt checken, ob ich in die Events reinkomme):
Private Sub IVAppEv_OnSaveDocument(ByVal DocumentObject As Inventor.Document, ByVal BeforeOrAfter As Inventor.EventTimingEnum, ByVal Context As Inventor.NameValueMap, HandlingCode As Inventor.HandlingCodeEnum)
If BeforeOrAfter = kBefore Then
Text1.Text = Text1.Text & vbCrLf & "VOR Speichern: " & DocumentObject.FullFileName
Else
Text1.Text = Text1.Text & vbCrLf & "NACH Speichern: " & DocumentObject.FullFileName
Text1.Text = Text1.Text & vbCrLf & Context.Item(1)
End If
End Sub
Private Sub IVAppEv_OnTranslateDocument(ByVal TranslatingIn As Boolean, ByVal DocumentObject As Inventor.Document, ByVal FullFileName As String, ByVal BeforeOrAfter As Inventor.EventTimingEnum, ByVal Context As Inventor.NameValueMap, HandlingCode As Inventor.HandlingCodeEnum)
Text1.Text = Text1.Text & vbCrLf & "OnTranslateDocument"
End Sub
Wahrscheinlich ist das ganze Problem von meiner Seite aus viel zu umständlich angegangen, aber ich möchte jetzt trotzdem gerne wissen, wie in an den SaveCopyAs-Event komme. Bitte helft mir.
Danke & Gruß
der Linkshänder
P.S.: Ich bin noch relativ neu hier und in der Inventor-VBA Programmierung, aber das Forum ist bisher wirklich hilfreich. Danke@all.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP