Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Fileselection Box mit Vorauswahl

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:  Fileselection Box mit Vorauswahl (2036 mal gelesen)
Parametricks
Mitglied
Konstrukteur / CAD Trainer


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

Beiträge: 91
Registriert: 29.04.2008

V5 R16 SP 5 Hotfix 70
V5 R17
V5 R19
ProE WF4
Cimatron
XP Pro 2002 SP3 Dell Precision T5400
Intel Xeon X5260 @ 3.33GHz
3.25 GB NVIDIA Quadro FX 3700

erstellt am: 17. Jun. 2009 16:46    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 zusammen,

ich habe in meinem Code verschiedene Usereingaben mit denen ich den Zielordner festlege. Später möchte ich mit FileselectionBox eine Datei öffnen und muss mich blöderweise zu dem Quellordner hangeln. Über die Usereingaben kann ich jedoch auch den Quellpfad herauskriegen. Jetzt die Frage wie sage ich der FileselectionBox spring in den Ordner XYZ?

Danke schon mal für die Hilfe...

------------------
Chaotische Anwendung trotz imenser Anstrengungen

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 17. Jun. 2009 19:02    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 Parametricks 10 Unities + Antwort hilfreich

Hallo,

warte ich schau mal in meine Glaskugel...hmmmm...die muss kaputt sein! Mit was ist das Script denn geschrieben? *catvba, *.catvbs, *.catscript?

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

Parametricks
Mitglied
Konstrukteur / CAD Trainer


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

Beiträge: 91
Registriert: 29.04.2008

V5 R16 SP 5 Hotfix 70
V5 R17
V5 R19
ProE WF4
Cimatron
XP Pro 2002 SP3 Dell Precision T5400
Intel Xeon X5260 @ 3.33GHz
3.25 GB NVIDIA Quadro FX 3700

erstellt am: 17. Jun. 2009 19:32    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

Tach,

mit Buchstaben. Kauf Dir halt ne richtige Glaskugel.  Ist ein Catscript.


Gruß Marco

------------------
Chaotische Anwendung trotz imenser Anstrengungen

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 17. Jun. 2009 20:46    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 Parametricks 10 Unities + Antwort hilfreich

Hallo Marco,

ok mit *.catscript hast du keine Chance auf einen grünen Zweig zu kommen. Des ist AFAIK überhaupt nicht möglich einen anderen Pfad als "Eigene Dateien" aufzurufen.

Mit einem *.catvba hättest du schon größere Chancen wobei das CATIA.FileSelection Objekt hier auch keinen anderen Pfad unterstützt. Hier könntest du dir aber zumindesten einen BrowseForFolder Dialog mit einem Shell Objekt erzeugen (dann könntest du dir zumindestens die Windows Spezial Folders (Arbeitsplatz, Desktop, etc.) aufrufen)

Um aber einen eigenen Pfad eingeben (bzw. aufrufen) zu können brauchst du erstens ein *.catvba und zweitens musst du dir eine FileSelection-Box als Steuerelement selber bauen. Eine Anleitung dazu findest du in folgendem Link

ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/b009.pdf

Ansonsten sehe ich nur die Möglichkeit auf VB.NET umzusteigen. Dort gibt es eine FolderBrowser Dialog in dem du einen beliebigen Pfad öffnen kannst.

Ich weiß das die Antwort leider nicht die ist die du hören wolltest aber mit einem *.catscript geht es einfach nicht 

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

Parametricks
Mitglied
Konstrukteur / CAD Trainer


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

Beiträge: 91
Registriert: 29.04.2008

V5 R16 SP 5 Hotfix 70
V5 R17
V5 R19
ProE WF4
Cimatron
XP Pro 2002 SP3 Dell Precision T5400
Intel Xeon X5260 @ 3.33GHz
3.25 GB NVIDIA Quadro FX 3700

erstellt am: 18. Jun. 2009 00:32    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 Daniel,

ich habe soeben die 82 Seiten überflogen. Na prima. Habe mir vor nen Monat was über VB Express2006 angesehen. Ich glaub das geht wirklich besser, wenn ich bedenke was der Code zum Schluß noch alles können soll. Kann man VB und Catscipt kombinieren? Zum Beispiel Usereingaben über VB und damit Catia ansprechen?

Gruß Marco

------------------
Chaotische Anwendung trotz imenser Anstrengungen

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 18. Jun. 2009 06: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 Parametricks 10 Unities + Antwort hilfreich

Hallo,

kann man schon. Du kannst dir ja in VB eine CATIA Instanz erzeugen und in der CATIA Instanz gibt es die Methode ExecuteScript. Innerhalb dieser kann einem *.catscript beim Aufrufen Startparamter mitgegeben werden.

Würde ich persönlich aber auf keinen Fall so machen und zwar aus folgenden Gründen:

1. VB.Net 2008 Express hat ein deutlich besseres Entwicklungsinterface als CATIA-interne Editor (bei komplexen Programmen wichtig)

2. Wenn du ständig von VB ins *.catscript springt kennst du dich irgendwann nicht mehr aus (vergleichbar mit On Error Goto ErrHandler Anweisungen)

3. Wenn du das CATIA Objekt erzeugst und die entsprechenden Verweise setzt kann VB.NET genau das selbe wie ein *.catscript (ACHTUNG es läuft natürlich nicht unter UNIX da du eine *.exe bekommst)

4. Das UnserInterface deiners Programms wird deutlich  professioneller aussehen und die Steuerelemente in VB.NET haben eine deutliche höhere Funktionalität (siehe FileSelection Box)


ANMERKUNG:

1. VB.NET Express 2008 arbeitet mit Microsoft .NET 3.5. Da das standardmäßig noch nicht auf allen Rechner installiert ist, wird der Endanwender beim installieren deines Programm´s auch das .NET 3.5 mitinstallieren.
Da solltest du aber auf jeden Fall abklären ob dies zu Problemen mit anderen System führen kann (ggf. muss eine Testumgebung aufgebaut werden und das Program dann ausgiebig getestet werden)

2. VB.NET Express 2005 arbeitet zwar mir .NET 2,5 was auf fast allen Rechner installiert ist, wird aber ab Ende 2009 nicht mehr offiziel durch Microsoft supported 

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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: 18. Jun. 2009 07:53    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 Parametricks 10 Unities + Antwort hilfreich

Hallo Daniel,

ein kleiner Einwand an dieser Stelle:
es gibt ein paar Methoden, die mit nur mit .CATScript richtig laufen und unter VB(6 oder .NET) entweder gleich einen Error erzeugen oder nicht so arbeiten wie eigentlich gedacht. Das zeigt mir zumindest meine Erfahrung und die jeweilige Antwort von IBM/Dassault auf die betreffenden APARs/PMRS, z.B. den hier: http://ww3.cad.de/foren/ubb/Forum137/HTML/001402.shtml
(aktueller Stand diesbezogen: unter R19 immer noch so)

Des weiteren verhält sich CATIA unterschiedlich je nachdem ob du mit VB oder CATScript arbeitest, da das eine ein (CATIA) interner und das andere eine externer Prozeß ist. Festzustellen z.B. beim Verhalten einer simplen Msgbox (siehe weiter unten).

Meine Erfahrung ist: den stabilsten (und fehlerfreisten) Prozeß (bei richtig umfangreichen Scripten) erhält man indem man genau das umsetzt, was Parametricks weiter oben vorgeschlagen hat:
- alles was nix mit CATIA zu tun hat in VB (UserInterface, Dateien etc)
- alles was CATIA selbst betrifft mit CATScript, vom VB-Prozeß erzeugt und ausgeführt (das "Schreiben" und Ausführen eines .CATScripts mit 1000 Zeilen in "Echtzeit" - soll heißen während des laufens des VB-Scriptes - dauert ca. 1 sec.)

Von Dassault selbst gibts eine ganz anschauliche Beschreibung zum Unterschied zwischen VB und CATScript

*********************

Running a Script inside the V5 process and running a VB macro outside the V5 process
(from Microsoft Visual Basic for example) is not the same thing and do not have then the same behavior:
           
- when you run a Script inside the V5 process, we know exactly when the script starts and when the script is over                                                       

- when you run VB macro outside the V5 process, we cannot know when the script is over.

The outprocess mechanism is based on the Microsoft COM message mechanism :
each VB method call is done via an event fired to the V5 application but once the V5 application has handled this event,
it is not considering itself as being under macro running and it then keeps on doing its own stuff
(like refreshing its display on idle, waiting for user interactions, ...).                             
You can see this difference when the MsgBox is displayed :                                             
- when you run a Script inside the V5 process, the MsgBox is blocking the display of the V5 application                           
- when you run VB macro outside the V5 process, the MsgBox is NOT blocking the display of the V5 application                                   
since this is 2 different processes with their own message loop

************************

Gruß
TomTom

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

[Diese Nachricht wurde von tomtom1972 am 18. Jun. 2009 editiert.]

[Diese Nachricht wurde von tomtom1972 am 18. Jun. 2009 editiert.]

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 18. Jun. 2009 08: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 Nur für Parametricks 10 Unities + Antwort hilfreich

Hallo Tom,

ok ich geb dir ja recht. Ich sehe halt nur ein Problem beim Debuggen des Programms und bei der Übersichtlichkeit. Des weiteren führt das hin- und "hergespringe" immer dazu das du abfragen musst ob die Scripte übetrhaupt noch an der installierten Stelle sind, sonst bekommst du Laufzeitfehler.

Die beiden Sachen von Dassault sind zwar richtig geben für mich aber keinen gewichtigen Grund. Erstens ich kann eine MsgBox in VB auch so implementieren das das CATIA Fenster gesperrt ist und zweitens kann ich meine Scripte auch so ausführen das CATIA gar nicht wissen muss ob ein Script fertig ist oder nicht weil ich dies selber im Code abfangen kann.

Trotzdem ist es ein guten und berechtiger Einwand 

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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: 18. Jun. 2009 09:11    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 Parametricks 10 Unities + Antwort hilfreich

Hallo Daniel,

das Debuggen ist unschön, da geb' ich dir recht. Das benötige ich aber auch nur beim Entwickeln eines Scriptes. Und das mache ich ganz bestimmt nicht im CATScript.

Die Msgbox sollte nur ein einfaches Beispiel sein um den Unterschied darzustellen. Das das dann in der Realität kein Grund ist um etwas im CATScript umzusetzten ist klar.

en gravierenden Unterschied wirst du z.B. merken wenn du den Diplay.Refresh aus haben willst: mit VB kannst du das vergessen (auch von Dassault bestätigt, das Display wird trotzdem refreshed).
Im CATScript hingegen funktioniert das.
Ich habe schon rekursive Kollisionsuntersuchungen mit Scipt ausgeführt wo das "einpacken" von 50 Zeilen Quellcode in ein .CATScript (statt VB) die Laufzeit von 5 auf 2 Stunden heruntergesetzt hat (wegen den Refresh).
Der Refresh soll auch nur ein Bsp. sein.
Kann ja jeder so umsetzen wie er will.
Ich wollte nur anmerken, das es grundsätzliche (und manchmal eben gravierende) Unterschiede zwischen dem Ausführen im CATScript und in VB gibt. Nicht mehr und nicht weniger.

Gruß TomTom

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

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

Parametricks
Mitglied
Konstrukteur / CAD Trainer


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

Beiträge: 91
Registriert: 29.04.2008

V5 R16 SP 5 Hotfix 70
V5 R17
V5 R19
ProE WF4
Cimatron
XP Pro 2002 SP3 Dell Precision T5400
Intel Xeon X5260 @ 3.33GHz
3.25 GB NVIDIA Quadro FX 3700

erstellt am: 18. Jun. 2009 11:48    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 Daniel, hallo Tom,

das sind ja schon mal viele Info´s herzlichen Dank.

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

Zitat:

Meine Erfahrung ist: den stabilsten (und fehlerfreisten) Prozeß (bei richtig umfangreichen Scripten) erhält man indem man genau das umsetzt, was Parametricks weiter oben vorgeschlagen hat:
- alles was nix mit CATIA zu tun hat in VB (UserInterface, Dateien etc)
- alles was CATIA selbst betrifft mit CATScript, vom VB-Prozeß erzeugt und ausgeführt (das "Schreiben" und Ausführen eines .CATScripts mit 1000 Zeilen in "Echtzeit" - soll heißen während des laufens des VB-Scriptes - dauert ca. 1 sec.)

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

Das hört sich doch ganz gut an. Ich werde mich mal an die Variante herantasten. Dazu muss ich aber erst mal VB auf die Reihe kriegen. Ist auch praktisch da ich so nicht das gesamte Catscript einstampfen muss. Also nochmal Danke für Eure Denkanstösse, ich werde mich sicher noch mal zu dem Thema melden.

Bis dahin Gruß Marco

------------------
Chaotische Anwendung trotz imenser Anstrengungen

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