Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor .NET
  Fehler bei Inventor mehrfachöffnung

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Fehler bei Inventor mehrfachöffnung (830 mal gelesen)
Fiedel93felix
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Fiedel93felix an!   Senden Sie eine Private Message an Fiedel93felix  Schreiben Sie einen Gästebucheintrag für Fiedel93felix

Beiträge: 448
Registriert: 19.02.2014

Autodesk Inventor 2014
Microsoft Visual Basic 2010

erstellt am: 23. Jan. 2017 07:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo liebe Gemeinde,

wenn man mehrere Sitzungen von Inventor offen hat und mein Programm ausführt, wird dies immer in der ersten Sitzung gemacht. Selbst wenn ich das Programm in der zweiten Sitzung starte.
Weiß jemand woran das liegen kann und wie ich das beheben kann?

Beispiel (Programm zum erstellen von PDF)
Wenn ich hier Beispielsweiße in der 1.Sitzung eine Baugruppe offen habe und in der 2. eine Zeichnung und starte das Programm in der Zeichnung kommt die von mir eingebrachte Meldung:
"Die geöffnete Datei ist keine Zeichnung!"

Ich denke die Zeile:
ThisApplication = GetObject(, "Inventor.Application")
ist das Problem, aber wie muss ich es umschreiben damit die richtige Sitzung angesprochen wird?

Code:

Imports Inventor

Module Module1
    Public AuftrNr As String
    Public letzteRev As String
    Public Pfad As String

    Public ThisApplication As Inventor.Application
    Public oDrawDoc As Inventor.DrawingDocument
    Public opropsets As PropertySets
    Public odtPropertySet As PropertySet
    Public apprentice As New Inventor.ApprenticeServerComponent
    Public apprenticeDoc As Inventor.ApprenticeServerDocument

    Public anzahl As Integer
    Public ErstesBlatt As Integer
    Public Zeilenabstand As Integer


    Public oCheckbox(30) As System.Windows.Forms.CheckBox
    Public AuswahlBlatt(30) As String

    Sub main()

        Try

            Try
                ThisApplication = GetObject(, "Inventor.Application")
                oDrawDoc = ThisApplication.ActiveDocument
            Catch ex As Exception
                MsgBox("Die geöffnete Datei ist keine Zeichnung!" & vbCrLf & ex.StackTrace, vbCritical, "Fehler!")
                Exit Sub
            End Try

            'iProperties abrufen mit Apprentice (müssen schon angelegt sein)
            opropsets = oDrawDoc.PropertySets
            odtPropertySet = opropsets.Item("Inventor User Defined Properties")
            Try
                AuftrNr = odtPropertySet.Item("AuftragsNr").Value
            Catch ex As Exception
                AuftrNr = ""
            End Try
            Try
                letzteRev = odtPropertySet.Item("K letzte Rev").Value
            Catch ex As Exception
                letzteRev = ""
            End Try

            Form1.ShowDialog()
            Exit Sub

            ' Get the PDF translator Add-In.
            Dim PDFAddIn As TranslatorAddIn
            PDFAddIn = ThisApplication.ApplicationAddIns.ItemById("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")

            Dim oContext As TranslationContext
            oContext = ThisApplication.TransientObjects.CreateTranslationContext
            oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism

            ' Create a NameValueMap object
            Dim oOptions As NameValueMap
            oOptions = ThisApplication.TransientObjects.CreateNameValueMap

            ' Create a DataMedium object
            Dim oDataMedium As DataMedium
            oDataMedium = ThisApplication.TransientObjects.CreateDataMedium

            ' Check whether the translator has 'SaveCopyAs' options
            If PDFAddIn.HasSaveCopyAsOptions(oDrawDoc, oContext, oOptions) Then

                ' Options for drawings...

                oOptions.Value("All_Color_AS_Black") = 0
                oOptions.Value("Sheet_Range") = PrintRangeEnum.kPrintAllSheets

                'oOptions.Value("Remove_Line_Weights") = 0
                'oOptions.Value("Vector_Resolution") = 400
                ' oOptions.Value("Custom_Begin_Sheet") = 2
                'oOptions.Value("Custom_End_Sheet") = 4

            End If

            'Dateinamen der PDF festlegen

            If Len(AuftrNr) < 3 Then
                oDataMedium.FileName = Mid(oDrawDoc.FullDocumentName, 1, Len(oDrawDoc.FullDocumentName) - 3) & "pdf"
            Else
                oDataMedium.FileName = Mid(oDrawDoc.FullDocumentName, 1, InStrRev(oDrawDoc.FullDocumentName, "\")) & AuftrNr & ".pdf"
            End If

            'Publish document.
            Call PDFAddIn.SaveCopyAs(oDrawDoc, oContext, oOptions, oDataMedium)

        Catch ex As Exception
            MsgBox("Es gab ein Fehler beim erstellen der PDF!" & vbCrLf & ex.StackTrace, vbCritical, "Fehler!")
        End Try
    End Sub
End Module


------------------
----------------------------------
Mit freundlichen Grüßen

Felix

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

metalgod
Mitglied
Technischer Zeichner, Mädchen für alles


Sehen Sie sich das Profil von metalgod an!   Senden Sie eine Private Message an metalgod  Schreiben Sie einen Gästebucheintrag für metalgod

Beiträge: 32
Registriert: 23.09.2015

Win10x64
Intel Core i7-8700k, 3.70GHz
16GB Ram
Inventor Prof. 2016 SP2 64-Bit
Visual Studio 2015 Express

erstellt am: 08. Feb. 2017 12:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Fiedel93felix 10 Unities + Antwort hilfreich

Hallo Felix,

Zitat:
Selbst wenn ich das Programm in der zweiten Sitzung starte.

Wird das Programm aus Inventor gestartet?


Zitat:
Ich denke die Zeile:
ThisApplication = GetObject(, "Inventor.Application")
ist das Problem

Genauso ist es. GetObject bezieht sich immer auf die zuerstgestartete Instanz.

Vielleicht hilft Dir das weiter.

------------------
alex

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz