Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Inventor11-VBA unsynchron

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:  Inventor11-VBA unsynchron (1224 mal gelesen)
Speedy.X
Mitglied
Dipl.Ing.


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

Beiträge: 45
Registriert: 17.05.2005

erstellt am: 05. Dez. 2006 11:19    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 hilfreiches Forum,

mein Inventor11-VBA läuft unsynchron.

Um aus Bauteilen Bilder zu machen verwende ich folgende Routine:

Dat1 = Dir(Pfd1 & "*.ipt")
Do While Dat1 <> ""
  Dat2 = DName(Dat1) ' Dateiname ohne Extention
  Set Doc = ThisApplication.Documents.Open(Pfd1 & Dat1, True)
  Set rCtrlDef = ThisApplication.CommandManager.ControlDefinitions.Item("AppIsometricViewCmd")
  rCtrlDef.Execute
  'angezogen . . .
  ThisApplication.ActiveView.DisplayMode = kShadedRendering
  ThisApplication.ActiveView.Update
  Call ThisApplication.CommandManager.PostPrivateEvent(kFileNameEvent, Pfd1 & Dat2 & "1.jpg")
  Call ThisApplication.CommandManager.StartCommand(kFileSaveCopyAsCommand)
  'ausgezogen
  ThisApplication.ActiveView.DisplayMode = kWireframeRendering
  ThisApplication.ActiveView.Update
  Call ThisApplication.CommandManager.PostPrivateEvent(kFileNameEvent, Pfd1 & Dat2 & "2.jpg")
  Call ThisApplication.CommandManager.StartCommand(kFileSaveCopyAsCommand)
 
  'Call ThisApplication.Documents.CloseAll
  Dat1 = Dir()
Loop

Im F8-Einzelschrittmodus läuft alles sauber.
Wenn das Macro aber ungebremst durchläuft
sind nur die Hälfte der Dateien zu sehen und
werden nicht abgespeichert.

Welche Möglichkeit gibt es Inventor zu "synchronisieren",
also erst weiterzumachen, wenn Dateiladen und
Bildschiraufbau vollständig abgeschlossen sind?

Gruß

Rainer

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

rtend12
Mitglied
Dipl.-Ing. (FH) Maschinenbau / Konstrukteur


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

Beiträge: 436
Registriert: 21.07.2004

Catia V5 (R16SP5, B18SP5)
VB.Net 2003

erstellt am: 05. Dez. 2006 22:12    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 Speedy.X 10 Unities + Antwort hilfreich

Hallo Speedy.X,

man kann mit odoc.saveas(xxx.bmp) auch eine bmp erzeugen, sollte dann auch als jpg gehen.
Hab zwar bisher noch keine Dateien im Batchbetrieb exportiert, aber bei einer Datei, die ich in Step exportiere, ist Inventor erst nach dem Export wieder verwendbar.

Gruß
Reinhard

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

Speedy.X
Mitglied
Dipl.Ing.


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

Beiträge: 45
Registriert: 17.05.2005

erstellt am: 06. Dez. 2006 08: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

Hallo Reinhard,

Problem ist leider nicht das Format.

Das Macro eilt dem Bildschirmaufbau
leider so voraus, daß die Schleife
schon mit einer neuen Datei beschäftigt
ist, während sich das "alte" Modell sich
noch in Pose rückt.
Ich suche nach einer Möglichkeit das Macro
erst weiterzuführen, wenn der Bildschirmaufbau
vollständig erfolgt ist.

Gruß

Rainer

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

PaulSchuepbach
Moderator
Programmierer




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

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 06. Dez. 2006 09: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 Nur für Speedy.X 10 Unities + Antwort hilfreich

Hallo Speedy.X,

das Problem ist der Commandmanager. Der hat keinen Rückgabewert. Das heisst, dass Dein Programm einfach weiterläuft, wenn der vorherige Befehl noch am abarbeiten ist.

------------------
Grüsse, Paul

Inventor-Programmierung, Inventor-Tools und Inventor API-Schulung

thinkCAD Web-Kataloge

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

Speedy.X
Mitglied
Dipl.Ing.


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

Beiträge: 45
Registriert: 17.05.2005

erstellt am: 06. Dez. 2006 10:37    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

Großes DANKE!

Genau das war's! Mit dem Commandmanager werde ich
in Zukunft viel vorsichtiger umgehen.

Übrigens .saveas funktioniert mit *.jpg

Gruß

Rainer

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

eagle82
Mitglied
Konstrukteur


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

Beiträge: 35
Registriert: 23.06.2005

IV10 SP3a

erstellt am: 12. Jan. 2007 13:47    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 Speedy.X 10 Unities + Antwort hilfreich

Hy Speedy!
Wenn du wirklich einen Screenshoot brauchst dann gibt es die Möglich keit auf den Bildaufbau zu warten...
Erzeuge eine Form die sich selbst wieder entladet jedoch modal zum Makro ist, dadurch muss Inventor um die Form anzuzeigen seinen Bildschirm vorher aufbauen und kann dann erst die Form anzeigen und wenn sich die Form wieder selbst (halbe sek. oder weniger) verschwunden ist dann wird dein Makro weiter ausgeführt und du hast dein gewolltes ergebnis!
Funkt so ziemlich gut überall wo du die Oberfläche ansprechen musst!
Mfg Mario

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

Speedy.X
Mitglied
Dipl.Ing.


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

Beiträge: 45
Registriert: 17.05.2005

erstellt am: 12. Jan. 2007 14:05    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 Mario,

vielen Dank für Deinen Tip.
Allerdings hab ich das Problem gelöst
und den CommandManager auf meine
schwarze Liste gesetzt.

Gruß und schönes WE

Rainer

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