Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  OK Button bestätigen

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
Autor Thema:  OK Button bestätigen (2527 mal gelesen)
T.Pundt
Mitglied
Konstrukteur


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

Beiträge: 83
Registriert: 07.08.2014

Windows 7
Catia V5 R19

erstellt am: 14. Nov. 2014 12:39    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 habe folgendes Problem: Nach dem Releaswechsel von CATIA V5 R19 auf V5-6 R2014 erzeugt mein Makro kein CATALLPart mehr. Ich bin jetzt soweit, dass das Fenster "Generate CATPart from Product" auf geht und das Produkt zugewiesen wird, ich aber nicht weiß, wie ich das OK im Dialogfenster bestätigen kann? Ich habe es bislang folgendermaßen versucht, aber leider schaltet er das Dialogfenster nicht aktiv und kann somit auch nicht das OK bestüätigen? Kann mir jemand da weiterhelfen?

Sub CATMain()
CATIA.RefreshDisplay = True
CATIA.StartCommand "Generate CATPart from Product..."
CATIA.RefreshDisplay = True
CATIA.RefreshDisplay = True
Set WshShell = CreateObject("WScript.Shell")
CATIA.RefreshDisplay = True
WshShell.AppActivate("CATIA V5")
WshShell.SendKeys "{ENTER}",True
CATIA.RefreshDisplay = True
End Sub

Vielen Dank!

Gruß Timo

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 14. Nov. 2014 12:59    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 T.Pundt 10 Unities + Antwort hilfreich

Servus
Wenn das Rootproduct im Baum selektiert ist funktioniert bei mir dieser Code (Vorsicht: Befehl und Fenstername auf deutsch)
Code:
Sub CATMain()

CATIA.StartCommand "CATPart aus Produkt generieren"

Dim WshShell As Object

Set WshShell = CreateObject("WScript.Shell")
WshShell.AppActivate ("CATPart aus Produkt generieren")
WshShell.SendKeys "%{TAB}", True
WshShell.SendKeys "%{TAB}", True
WshShell.SendKeys "{ENTER}", True

End Sub


Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

T.Pundt
Mitglied
Konstrukteur


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

Beiträge: 83
Registriert: 07.08.2014

Windows 7
Catia V5 R19

erstellt am: 14. Nov. 2014 13:14    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 Bernd, was mache ich falsch?


Sub CATMain()
Dim oBGRoot As ProductDocument
Dim oBGProd As Product
'AllCatPart erstellen
Set oBGRoot = CATIA.ActiveDocument
Set oBGProd = oBGRoot.Product
Dim ActDoc As ProductDocument
Set ActDoc = CATIA.ActiveDocument
Dim MySel As Selection
Set MySel = CATIA.ActiveDocument.Selection
MySel.Add ActDoc.Product        '.Products.Item(1)

CATIA.StartCommand "Generate CATPart from Product"

Dim WshShell As Object

Set WshShell = CreateObject("WScript.Shell")
WshShell.AppActivate ("Generate CATPart from Product")
WshShell.SendKeys "%{TAB}", True
WshShell.SendKeys "%{TAB}", True
WshShell.SendKeys "{ENTER}", True
End Sub

Danke.

Gruß Timo

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

T.Pundt
Mitglied
Konstrukteur


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

Beiträge: 83
Registriert: 07.08.2014

Windows 7
Catia V5 R19

erstellt am: 14. Nov. 2014 13:25    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

Ich benötige das ganze für das CATScript.

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

T.Pundt
Mitglied
Konstrukteur


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

Beiträge: 83
Registriert: 07.08.2014

Windows 7
Catia V5 R19

erstellt am: 17. Nov. 2014 08: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

Ich habe jetzt folgenden Code, aber ich habe weiterhin das Problem das er zwar das Dialogfenster öffnet aber nicht das OK bestätigt. Funktioniert das Sendkeys nicht im CATScript?

Sub CATMain()
Dim RootProduct as product
Set RootProduct = CATIA.ActiveDocument.Product
Dim osel As Selection
Set osel = CATIA.ActiveDocument.Selection
osel.Clear
osel.add RootProduct

CATIA.StartCommand "Generate CATPart from Product..."

Dim WshShell As Object

Set WshShell = CreateObject("WScript.Shell")
WshShell.AppActivate ("Generate CATPart from Product...")
WshShell.SendKeys "%{TAB}", True
WshShell.SendKeys "%{TAB}", True
WshShell.SendKeys "{ENTER}", True

End Sub


Vielen Dank.

Gruß Timo

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 17. Nov. 2014 08:56    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 T.Pundt 10 Unities + Antwort hilfreich

Servus
ggf ist das Makro einfach schneller als das Öffnen des entsprechenden Fensters.
Vermutlich musst du wohl doch von "Außen" auf Catia zugreifen und warten bis das Fenster auf ist. (siehe zB diese Diskussion)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

T.Pundt
Mitglied
Konstrukteur


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

Beiträge: 83
Registriert: 07.08.2014

Windows 7
Catia V5 R19

erstellt am: 17. Nov. 2014 10:41    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 Bernd, was meinst du mit, von außen auf CATIA zugreifen? Meinst du damit die Warteschleifen?
Ich habe jetzt zwei Warteschleifen eingebaut, aber trotzdem geht es nicht, weil der das Fenster irgendwie nicht aktiv setzt oder das Sendkeys nicht funktioniert. Kann ich irgendwie testen, woran es hapert?

Sub CATMain()
Dim RootProduct as product
Set RootProduct = CATIA.ActiveDocument.Product
Dim osel As Selection
Set osel = CATIA.ActiveDocument.Selection
osel.Clear
osel.add RootProduct
Dim i As Integer
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
CATIA.StartCommand "Generate CATPart from Product..."
    For i = 0 To 100000000
i = i+1
    Next
WshShell.AppActivate ("Generate CATPart from Product...")
    For i = 0 To 100000000
i = i+1
    Next
WshShell.SendKeys "%{TAB}", True
WshShell.SendKeys "%{TAB}", True
WshShell.SendKeys "{ENTER}", True
End Sub

Gibt es vielleicht auch die Möglichkeit das Makro zu unterbrechen, bis ich manuell das ok des Dialogfensters betätigt habe?

Danke.

Gruß Timo

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 17. Nov. 2014 10: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 T.Pundt 10 Unities + Antwort hilfreich

Servus
Hast du dir die andere Diskussion durchgelesen? (vermutlich "sleep + doevents" erforderlich, oder die saubere Lösung).
Wenn du das OK von "Hand" anklickst kannst du dir das Makro auch schenken. Oder soll hinterher noch was anderes passieren.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

T.Pundt
Mitglied
Konstrukteur


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

Beiträge: 83
Registriert: 07.08.2014

Windows 7
Catia V5 R19

erstellt am: 17. Nov. 2014 11:01    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 Bernd,

das Sleep funktioniert irgendwie im CATScrpit nicht? Das ALLCATPart wird in der Mitte des Makros durchgeführt und ist nur ein ganz kleiner Teil. Deshalb würde es mir auch weiterhelfen, wenn ich das Makro kurz unterbrechen könnte?


Vielen Dank.

Gruß Timo

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

T.Pundt
Mitglied
Konstrukteur


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

Beiträge: 83
Registriert: 07.08.2014

Windows 7
Catia V5 R19

erstellt am: 17. Nov. 2014 14:17    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 habe jetzt auch mal versucht das ganze mit einem anderen Fenster zu testen (Properties von einem Part). Hier wird das Fenster auch wieder geöffnet aber leider klappt auch kein ENTER? Weiß irgendjemand, woran das liegen kann? Ich schreibe in CATScript!

Sub CATMain()
Dim RootProduct as Part
Set RootProduct = CATIA.ActiveDocument.Part
Dim osel As Selection
Set osel = CATIA.ActiveDocument.Selection
osel.Clear
osel.add RootProduct
Dim i As Integer

Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
CATIA.StartCommand "Properties"
osel.Clear
WshShell.AppActivate("CATIA V5")

CATIA.RefreshDisplay = True
    For i = 0 To 100000000
i = i+1
    Next
WshShell.AppActivate ("Properties")
CATIA.RefreshDisplay = True

  ' For i = 0 To 100000000
' i = i+1
  '  Next
CATIA.RefreshDisplay = True
'WshShell.SendKeys "%{TAB}", True
'WshShell.SendKeys "%{TAB}", True
WshShell.SendKeys "{ENTER}", True
End Sub

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