| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| | |
 | 2D- und 3D-Bauvisionen in der Revit Weiterbildung mit IHK-Zertifizierung , ein Kurs (bis zu 100% förderbar mit Bildungsgutschein)
|
|
Autor
|
Thema: Fehlermeldung (1017 mal gelesen)
|
Fiedel93felix Mitglied Konstrukteur
  
 Beiträge: 501 Registriert: 19.02.2014 Autodesk Inventor 2025 AutoCAD Mechanical 2025 Microsoft Visual Basic 2022
|
erstellt am: 24. Nov. 2014 14:51 <-- editieren / zitieren --> Unities abgeben:         
Hallo miteinander, Ich möchte ein kleines Programm schreiben. In einer Userform sollen Werte eingegeben werden welche dann in die Userparameter und in die iProperties übernommen werden sollen. Bei starten sollen aber die derzeit verwendeten in der TextBox angezeigt werden. Dazu habe ich erstmal nur eine Form mit 1 Textbox und 1 Button. Beim öffnen soll die TextBox gefüllt werden mit einem Parameter Und bereits hier kommt ein Fehler. Imports Inventor Public Class Form1 Public ThisApplication As Inventor.Application Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim DN As String Dim oDoc As Inventor.Document oDoc = ThisApplication.ActiveDocument Dim opropsets As Inventor.PropertySets Dim opropset As Inventor.PropertySet Dim odtPropertySet As Inventor.PropertySet opropsets = oDoc.PropertySets odtPropertySet = opropsets.Item("Inventor User Defined Properties") DN = odtPropertySet.Item("DN").Value TextBox1.Text = DN End Sub End Class Beim erstellen kommt kein Fehler aber wenn ich das Programm starte kommt eine Fehlermeldung (siehe Bild). Ich hoffe es kan jemnad helfen MfG Felix
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KatzenHund Mitglied CAx Administrator

 Beiträge: 86 Registriert: 24.04.2012
|
erstellt am: 24. Nov. 2014 15:34 <-- editieren / zitieren --> Unities abgeben:          Nur für Fiedel93felix
Hallo Felix, gibt es denn in deinem Dokument das Benutzerattribut "DN" welches gelesen werden soll? Ich würde hier auf jeden Fall ein TRY - CATCH einbauen. Wenn dann das gewünschte Attribut nicht vorhanden ist, kann man das Abfangen und eine entsprechende weitere Vorgehensweise programmieren. Gruß Stefan ------------------ Wer nicht mitmacht, kann auch nichts verändern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
  
 Beiträge: 501 Registriert: 19.02.2014 Autodesk Inventor 2025 AutoCAD Mechanical 2025 Microsoft Visual Basic 2022
|
erstellt am: 24. Nov. 2014 15:46 <-- editieren / zitieren --> Unities abgeben:         
|
KatzenHund Mitglied CAx Administrator

 Beiträge: 86 Registriert: 24.04.2012
|
erstellt am: 24. Nov. 2014 16:04 <-- editieren / zitieren --> Unities abgeben:          Nur für Fiedel93felix
Hallo Felix, es fehlt noch der Verweis auf die Inventor Instanz, nachdem Du die Variable "ThisApplication" definierst hast: Private Sub irgendwas ... ThisApplication = GetObject(, "Inventor.Application") 'Hole die Inventor Instanz (eventuell mit CreateObject eine neue Inventor Instanz erzeugen) ... Try DN = odtPropertySet.Item("DN").Value TextBox1.Text = DN Catch ex as Exception 'Mache bei Fehler dies und das End Try ... Gruß Stefan ------------------ Wer nicht mitmacht, kann auch nichts verändern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
  
 Beiträge: 501 Registriert: 19.02.2014 Autodesk Inventor 2025 AutoCAD Mechanical 2025 Microsoft Visual Basic 2022
|
erstellt am: 24. Nov. 2014 16:18 <-- editieren / zitieren --> Unities abgeben:         
|
KatzenHund Mitglied CAx Administrator

 Beiträge: 86 Registriert: 24.04.2012
|
erstellt am: 25. Nov. 2014 08:18 <-- editieren / zitieren --> Unities abgeben:          Nur für Fiedel93felix
Hallo Felix, dann war bei deinem Versuch der Inventor nicht gestartet... Hier mal ein Beispiel wie es gehen kann (der Form1 wurde noch ein Button1 hinzugefügt!) Imports Inventor Public Class Form1 Public ThisApplication As Inventor.Application Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim DN As String Dim oDoc As Inventor.Document 'Ist ein Dokument geöffnet? oDoc = ThisApplication.ActiveDocument If oDoc Is Nothing Then 'Nein, dann ist hier schluss MsgBox("Kein Dokument geöffnet") Exit Sub End If Try Dim opropsets As Inventor.PropertySets Dim odtPropertySet As Inventor.PropertySet opropsets = oDoc.PropertySets odtPropertySet = opropsets.Item("Inventor User Defined Properties") DN = odtPropertySet.Item("DN").Value TextBox1.Text = DN Catch ex As Exception MsgBox("Fehler: " & Err.Description) End Try End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Try 'Hallo? Inventor? ThisApplication = GetObject(, "Inventor.Application") Catch 'Nicht da, also neues Objekt erzeugen ThisApplication = CreateObject("Inventor.Application") End Try If ThisApplication Is Nothing Then 'Inventor konnte nicht gefunden werden MsgBox("Kein Inventor vorhanden") End End If ThisApplication.Visible = True End Sub End Class Gruß Stefan
------------------ Wer nicht mitmacht, kann auch nichts verändern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Fiedel93felix Mitglied Konstrukteur
  
 Beiträge: 501 Registriert: 19.02.2014 Autodesk Inventor 2025 AutoCAD Mechanical 2025 Microsoft Visual Basic 2022
|
erstellt am: 25. Nov. 2014 20:31 <-- editieren / zitieren --> Unities abgeben:         
|