Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Skript im Hintergrund laufen / warten lassen

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:  Skript im Hintergrund laufen / warten lassen (1936 mal gelesen)
FiRo
Mitglied
Skript-Student


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

Beiträge: 26
Registriert: 07.11.2007

V5R17

erstellt am: 21. Nov. 2007 11: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

ich schreibe z.Z. an einem Skript welches nicht ganz alleine Arbeiten kann.
der arbeitsablauf sieht ungefaehr so aus:

- skript oeffnet datei
- benutzer erledigt ein paar sachen
- skript macht den rest

die einzelnen sachen sind schon alle fertig, nur bekomm ich den ablauf nicht hin.

ich suche eine moeglichkeit, wie ich eine form/button einblenden kann, auf dem der benutzer klickt wenn er fertig ist und das skript dann weiterlaeuft.

wenn ich forms/buttons einblende, dann reagiert catia nicht mehr auf mausklicks usw. das muss doch irgendwie gehen, oder?

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 21. Nov. 2007 12:57    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 FiRo 10 Unities + Antwort hilfreich

Moin FiRo,

wie blendest du dein Form ein??

Es gibt für das Show 2 Modi:
form1.show() und form1.show(vbModal)
    Form is modal keine Aktionen in Catia möglich

form1.show(vbModeless)
    Form wird angezeigt und man kann mit Catia arbeiten.


Ich das hilft weiter.

Gruß
Proofin

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

FiRo
Mitglied
Skript-Student


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

Beiträge: 26
Registriert: 07.11.2007

V5R17

erstellt am: 21. Nov. 2007 13: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

mir war bis jetzt neu, dass es ueberhaupt parameter fuer 'show' gibt 

'vbModeless' tut auch wunderbar (wenn ich z.b. mit selectElement sachen auswahle), nur nicht in dem kontext.

wenn ich jetzt das fenster einblende (auf dem ein hinweis fuer den benutzer steht), soll das skript erst dann weiterlaufen, wenn der benutzer den enstp. button drueckt.
'vbModeless' laesst das skript aber weiterlaufen ohne auf das 'ok' des benutzers zu warten

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

ize
Mitglied
Student


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

Beiträge: 28
Registriert: 27.09.2007

erstellt am: 21. Nov. 2007 13: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 Nur für FiRo 10 Unities + Antwort hilfreich

teils doch in zwei scripte auf?
muss er sich halt zwei buttons merken aber das wird er wohl hinbekommen 

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

FiRo
Mitglied
Skript-Student


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

Beiträge: 26
Registriert: 07.11.2007

V5R17

erstellt am: 21. Nov. 2007 13: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

glaub mir .. das wuerde ich auch machen. aber die anforderung 'von oben' sind: "dau-sicher"
d.h. ein knopf der alles kann und bei dem man nix falsch machen kann.

das mit dem aufteilen ist bei vb eh so ne geschichte. ich hab damit erst angefangen und bin OO gewoehnt...ich verzweifel hier regelmaessig 

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

ize
Mitglied
Student


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

Beiträge: 28
Registriert: 27.09.2007

erstellt am: 21. Nov. 2007 14:13    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 FiRo 10 Unities + Antwort hilfreich

was isses denn genau?
CATScript? catvbs? oder nen externes prog mit vba?
hast vorhin was von form gesagt?
hab auch erst vor 3 monaten damit angefangen und die api is der letzte mist,
von catia und von vb :P
da is mir java oder sowas um einiges lieber, aber was sein muss muss sein

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 21. Nov. 2007 14: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 Nur für FiRo 10 Unities + Antwort hilfreich

was du auch noch machen kannst, ist eine Endlosschleife die eine Variable überprüft.
Ungefähr so:
Code:
 
  ' show the user interface
  Call frmMain.Show(vbModeless)
 
  ' stay in this method
  Do
    DoEvents
    If bExit = True Then
      Exit Do
    End If
  Loop

Wenn dein Skript dann fertig ist wird die Variable gesetzt und die Schleife verlassen.

Solange kannst dann ganz normal mit der Form arbeiten.
Ist zwar keine schöne Lösung funktioniert aber.

Gruß
Proofin

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

FiRo
Mitglied
Skript-Student


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

Beiträge: 26
Registriert: 07.11.2007

V5R17

erstellt am: 21. Nov. 2007 14:34    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

@ize:
ich vermute es ist catvbs oder catia script. keine ahnung wo der unterschied ist.
"schoene heile java-welt" 

@proofin:
hab mich schon dran gewohnt unschoen zu programmieren, aber busy-waiting...das kann ich fast mit meinem gewissen nicht vereinbaren.
gibt's vllt sowas wie sleep(1), so dass die schleife nur einmal pro sekunde durchlaufen wird?

edit: hab grad festgestellt (vllt fuer andere auch interessant):
    busy-waiting: - rechte maustaste geht nicht 
                  - geoeffnete dokumente werden und 'windows' nicht angezeigt
                  - manche funktionen (z.b. disassemble) tun nicht
                  - part.update tut nicht
                  - strg+c tut =)

------------------
no milk today...

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

ize
Mitglied
Student


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

Beiträge: 28
Registriert: 27.09.2007

erstellt am: 21. Nov. 2007 15:24    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 FiRo 10 Unities + Antwort hilfreich

könntest es trotzdem mit zwei skripten probieren und irgendwie am ende vom ersten den toolbarbutton aufs zweite umbiegen ^^

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

FiRo
Mitglied
Skript-Student


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

Beiträge: 26
Registriert: 07.11.2007

V5R17

erstellt am: 21. Nov. 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

hmm .. keine schlechte idee eigentlicht.
scheint wohl auch nicht anders zu gehen. dann muss jeder user den toolbarbutton haben, aber ich glaub daran arbeiten andere 

------------------
no milk today...

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 21. Nov. 2007 23: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 Nur für FiRo 10 Unities + Antwort hilfreich

Hallo FiRo,

ich hätte da noch eine Idee, habe aber nicht getestet, ob es überhaupt geht!

Du könntest doch am Ende vom ersten Script das 2.Script bzw. den 2.Teil vom Script in die Datei packen und einen Parameter mit 2 Werten erstellen, den der User nach seiner Arbeit umstellen muss. Dann noch eine Regel dazu, die das Script nach Umstellen des Parameters ausführt und dann darf der User loslegen. Ist er fertig, stellt er den Parameter um und das 2.Script wird ausgeführt.
Knackpunkte hierbei sind zum Einen, ob es überhaupt funktionieren kann, und zum Zweiten, wie man das Script wieder los wird, d.h. wie es wieder aus der Datei entfernt wird.

Wie gesagt, ist nur so eine Idee...


mfg,
Lusilnie

------------------

Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 22. Nov. 2007 07:18    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 FiRo 10 Unities + Antwort hilfreich


test.zip

 
Moin FiRo,
mit CATScript oder anderen Makros, die in CATIA selbst ablaufen, kommst du nicht weit. Mit VB6.0 oder .NET kannst du umsetzten, was du ganz oben beschreibst, da die Scripte hier als eigenständiger Prozeß (also aussehrhalb von CATIA) ablaufen und selbiges nicht zwangsweise blockieren. Bsp. nebenstehend.
Frm.frm ist der Quellcode (in VB6), Test.exe die ausführbare Datei, falls du kein VB hast.
Hoffe es ist das, was du suchst.
Gruß TomTom

------------------
tomtom1972

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

FiRo
Mitglied
Skript-Student


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

Beiträge: 26
Registriert: 07.11.2007

V5R17

erstellt am: 26. Nov. 2007 10:28    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

vielen dank fuer eure antworten.

das skript werde ich jetzt aufteilen. ist wohl erstmal die einfachste loesung.

vb6 und .net werde ich mich mir mal noch anschauen. das scheint ja schon ziemlich maechtig zu sein.

------------------
no milk today...

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