Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Parameter beim .ipt öffnen abfragen und ändern

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:  Parameter beim .ipt öffnen abfragen und ändern (2496 mal gelesen)
WünschMirWas
Mitglied
Konstrukteur

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

Beiträge: 2
Registriert: 18.12.2007

erstellt am: 18. Dez. 2007 15:42    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,

ich bin ein Anfänger was VBA in Inventor betrifft. Mein Ziel ist es, dass beim öffnen einer .ipt Datei ein Makro mit UserForm automatisch gestartet wird. So weit kein Thema. Nun soll in dem Form eine Schaltfläche für die derzeit verwendeten Parameter, eine Schaltfäche für Parameter änderung und eine Schaltfläche für aktualisieren und schließen des Userform enthalten sein. Das ganze bekomme ich hin wenn ich die ipt offen habe, sprich aktive ist, aber nicht wenn ich die Datei neu lade. Da kommt dann ein Fehler. Ich denke es liegt daran, dass ich im Code ThisApplication.ActiveDocument verwenden. Kann jemand weiter helfen, wie muss ich es ändern?

der bisherige Code ist (Funktionier einwandfrei bei geladenem ipt):

Option Explicit

Dim oPartdoc As Inventor.PartDocument
Dim oParams As Parameters
Dim hoehe_aktuell As Double
Dim hoehe_neu As Double


Private Sub CommandButton1_Click()

Set oPartdoc = ThisApplication.ActiveDocument
Set oParams = oPartdoc.ComponentDefinition.Parameters

'Parameter ändern

hoehe_neu = TextBox2.Value
oParams.Item("hoehe").Value = hoehe_neu / 10

End Sub

Private Sub CommandButton2_Click()

Set oPartdoc = ThisApplication.ActiveDocument
Set oParams = oPartdoc.ComponentDefinition.Parameters

'Parameter auslesen

hoehe_aktuell = oParams.Item("hoehe").Value * 10

TextBox1.Text = hoehe_aktuell

End Sub

Private Sub CommandButton3_Click()

ThisApplication.ActiveDocument.Rebuild
UserForm1.Hide


End Sub

Private Sub TextBox2_Change()

End Sub

Private Sub UserForm_Click()

End Sub

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 18. Dez. 2007 16:44    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 WünschMirWas 10 Unities + Antwort hilfreich

Hallo,

das Makro funktioniert natürlich nur wenn ein Bauteil aktiv ist (ActiveDocument). Trotzdem verstehe ich nicht, was du mit:

Zitat:
Das ganze bekomme ich hin wenn ich die ipt offen habe, sprich aktive ist, aber nicht wenn ich die Datei neu lade.

meinst?? 

------------------
Grüße Igor

FX64 Software Solutions

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

WünschMirWas
Mitglied
Konstrukteur

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

Beiträge: 2
Registriert: 18.12.2007

erstellt am: 18. Dez. 2007 18:49    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

Damit ist gemeint, dass das Makro nicht funktioniert wenn ich die Datei öffne und keine andere Datei offen ist.
Das Problem habe ich zufälllig selbst gelöst bekommn. Musste anstatt sub AutoOpen(), sub AutoEdit() im Documentfile eintragen.

Aber eine Frage hätte ich trotzdem noch, wie kann man das bei einer Baugruppe händeln.

Gruß
Christian 

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 18. Dez. 2007 18:55    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 WünschMirWas 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von WünschMirWas:
Damit ist gemeint, dass das Makro nicht funktioniert wenn ich die Datei öffne und keine andere Datei offen ist.

Verstehe ich immer noch nicht, aber egal, Hauptsache läuft 

Zitat:
Original erstellt von WünschMirWas:
Aber eine Frage hätte ich trotzdem noch, wie kann man das bei einer Baugruppe händeln.
 

Mal mit As Inventor.AssemblyDocument statt As Inventor.PartDocument probieren (evtl. später bei der Definition anpassen)...

------------------
Grüße Igor

FX64 Software Solutions

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