Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  StartCommand iCommandId Auflistung

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:  StartCommand iCommandId Auflistung (2859 mal gelesen)
mattu82
Mitglied
Systembetreuer / CAD Datenaustausch


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

Beiträge: 66
Registriert: 23.06.2005

erstellt am: 26. Jul. 2005 15:33    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

Hi,

gibt es irgendwo eine Zusammenfassung der verfügbaren iCommandIds für den StartCommand? Aus der Doku erfahre ich leider nicht mehr, als das es das gibt.
Ich suche nach einer Möglichkeit den Vorgang Send_To -> Directory in einem Makro zu erfassen.

mfg
mattu

------------------
A fool with a tool is still a fool

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: 26. Jul. 2005 16:04    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 mattu82 10 Unities + Antwort hilfreich

Hallo,

SendTo wird von der COM-Schnittstelle unterstütz, d.h. es gibt eine eigene Methode dafür, siehe Code unten.
Aber: Man benötigt dafür eine PX1 Lizenz (oder z.B. die AL2, die diese enthält).
Das ganze sieht dann ungefähr so aus:

....

Dim aListOfFiles(1000)

Set oSend = oCatia.CreateSendTo()
oSend.SetInitialFile oCatia.ActiveDocument.FullName
oSend.GetListOfDependantFile aListOfFiles

....

SendTo funktioniert nicht mit dem StarCommand, jedenfalls habe ich es nicht hinbekommen, da mir dieser Gedanke auch kam - um die Lizenz nicht verwenden zu müssen.

Im SendTo liegt aber eh viel Müll rum (Thema Ghostlinks), ein Scannen der geladenen Productstruktur ist zwar - auf den Code bezogen umständlicher - aber besser.

Gruss

TomTom

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

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

mattu82
Mitglied
Systembetreuer / CAD Datenaustausch


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

Beiträge: 66
Registriert: 23.06.2005

erstellt am: 27. Jul. 2005 08:38    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

Hi,

danke für die schnelle Antwort.
Ist die COM Schnittstelle auf Windows und auf AIX verfügbar?

Aus deinem Code werd ich irgendwie auch noch nicht schlau.
Ich hoffe, ich habe meine Frage richtig formuliert.
Ich möchte den Weg automatisieren, der manuell über Datei -> Send to ->  Directory geht.

Ist dieser Code für diesen Weg?
Bei der Ausführung als Makro bekomme ich derzeit auch Fehlermeldungen.

mfg
mattu

------------------
A fool with a tool is still a fool

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: 27. Jul. 2005 15:45    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 mattu82 10 Unities + Antwort hilfreich


SendToService.jpg

 
Hi,

das Object SendToService mit den zugehörigen Methoden (siehe Bild im Anhang) gibt’s auch unter Unix, aber von Unix haben wir uns komplett verabschiedet - deshalb spreche ich immer nur von der COM-Schnittstelle, wenn ich mich auf Scripte beziehe.

COM (Component Object Model) ist eine von Microsoft entwickelte Schnittstelle, die von allen 32-bit Microsoft Betriebssystemen unterstützt wird.
COM ist die Basis, auf der OLE-Automation (Object Linking and Embedding) und ActiveX (Softwarekomponenten-Modell) realisiert sind.

Befehlsaufrufe im Script mit Catia.StartCommand führen zu dem Problem, das das Script weiterläuft und nicht auf eine Eingabe durch den User wartet. D.h., das
a.) der StartCommand nur am Ende des Scriptes stehen sollte, oder
b.) nur Befehle aufgerufen werden können, die keine Interaktion erfordern
und: der StartCommand wird nur in der englischen Sprachumgebung unterstützt, in anderen Sprachumgebungen musst du die Befehle mit SendKeys direkt an die Befehlszeile schicken.

Der Code im vorhergehenden Beitrag schreibt alle Files, die sich im Root (also im CATIA.ActiveDocument) befinden in ein Array, aber wie gesagt auch den Müll, der sich im SendTo befindet, und nur mit der benötigten Lizenz.

Aufrufen kannst du „Send To“ mit

Catia.StartCommand „directory“

Aber ich glaube wie gesagt nicht, das du so zu einer Lösung kommst.
Gruss

TomTom

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

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

mattu82
Mitglied
Systembetreuer / CAD Datenaustausch


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

Beiträge: 66
Registriert: 23.06.2005

erstellt am: 28. Jul. 2005 15: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

Super, das nenn ich mal eine Erklärung.
Vielen Dank.

Ich werde mich nach meinem Urlaub mal eingehend damit befassen!!

mfg
mattu

------------------
A fool with a tool is still a fool

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

CATLama
Mitglied



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

Beiträge: 23
Registriert: 30.03.2006

Catia V5 R18

erstellt am: 29. Nov. 2010 14: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 mattu82 10 Unities + Antwort hilfreich

Hallo,
konnt mir jemand sagen, warum Code oben

Dim aListOfFiles(1000)
Set oSend = oCatia.CreateSendTo()
oSend.SetInitialFile oCatia.ActiveDocument.FullName
oSend.GetListOfDependantFile aListOfFiles

funtioniert nicht auf der 64bit-Platform? Ich bekomme Meldung: method getListOfDependantFile of object SendToService failed.
Wenn ich benutze die Klammern

...
oSend.GetListOfDependantFile (aListOfFiles)
...

Syntax ist schon OK aber aListOfFiles ist leer.
Auf der 32bit-Platform ist alles OK.
Danke

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 29. Nov. 2010 17:15    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 mattu82 10 Unities + Antwort hilfreich

Versuch mal
Code:

Call oSend.GetListOfDependantFile (aListOfFiles)

64bit muss über die externe API gehen, da es auf 32bit runtergebrochen werden muss. 32bit kann dafür intern ablaufen, daher gibt's manchmal komische Fehler.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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

CATLama
Mitglied



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

Beiträge: 23
Registriert: 30.03.2006

Catia V5 R18

erstellt am: 01. Dez. 2010 10: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 mattu82 10 Unities + Antwort hilfreich

Call im Code gibt wieder Fehler: method getListOfDependantFile of object SendToService failed ....

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 01. Dez. 2010 17:21    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 mattu82 10 Unities + Antwort hilfreich

Jetzt musste ich auch kurz drüber nachdenken. 

Viel Spaß mit dem Code:

Code:

Public Sub CATMain()

    Dim arrVarListOfFiles() As Variant
    Dim objBuffer          As Object
    Dim sendWork            As INFITF.SendToService
   
    Set sendWork = CATIA.CreateSendTo()
    Call sendWork.SetInitialFile(CATIA.ActiveDocument.FullName)
    Set objBuffer = sendWork
    ReDim arrVarListOfFiles(0)
    Call objBuffer.GetListOfDependantFile(arrVarListOfFiles)

End Sub


------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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

CATLama
Mitglied



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

Beiträge: 23
Registriert: 30.03.2006

Catia V5 R18

erstellt am: 03. Dez. 2010 10:36    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 mattu82 10 Unities + Antwort hilfreich

OK es lauft 
Jetzt muss ich auch nachdenken ...

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