Autor
|
Thema: PowerCopy aus einem Catalog per VB6 starten (4578 mal gelesen)
|
JPF Mitglied Programmierer
Beiträge: 128 Registriert: 17.08.2001 CATIA V5R19 SP9--HP420,Intel(R) Xeon(R) CPU E5-1620 3.60GHz,32 GB Ram, NVIDIA Quadro 2000--Windows 7 Enterprise 64bit
|
erstellt am: 08. Feb. 2008 07:30 <-- editieren / zitieren --> Unities abgeben:
Hallo Catiagemeinde, ich brauche mal wieder einen Tip. Wie kann ich per VBScript oder VB6 auf einen Catalog zugreifen und eine vorbestimmte PowerCopy starten. Ich möchte nicht dieses auswählen und geklicke durch den Catalog-Editor. Nur das "Insert Object"-Fenster. Den Tip mit der Veröffentlichung im Catalog und die Veröffentlichung auf ein Icon legen ist für mich nicht zugebrauchen. Nachdem löschen der UserSettings sind die auch wieder verschwunden..... Ach ja, und das ganze muss auch ohne KT1 Lizens funktionieren.... Gruss JPF Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JPF Mitglied Programmierer
Beiträge: 128 Registriert: 17.08.2001 CATIA V5R19 SP9--HP420,Intel(R) Xeon(R) CPU E5-1620 3.60GHz,32 GB Ram, NVIDIA Quadro 2000--Windows 7 Enterprise 64bit
|
erstellt am: 08. Feb. 2008 08:52 <-- editieren / zitieren --> Unities abgeben:
Nachtrag: wie kann man überhaupt eine bestimmte PowerCopy starten mit VB6 ????? Mit dem Catia-Startcommand und c: Instantiate From Document, aber wie bekomme ich das richtige Part dazu gestartet ???
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 10. Feb. 2008 01:02 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
Hallo JPF, ich habe es selber noch nicht gemacht, doch wenn Du den VBA-Editor in CATIA eingebunden hast (Alt+F11), dann schau doch mal in der Reference unter "InstanceFactory". Dort ist zum Fall "PowerCopy" der Weg beschrieben, allerdings habe ich ihn noch nicht getestet und weiß auch nicht, welche Lizenzen dazu gebraucht werden. 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
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 11. Feb. 2008 06:42 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
Moin, "InstanceFactory" benötigt eine KT1 Lizenzs, ab der R17 steht das sogar in der Online-Doku. Einen wirklich vernünftigen Weg über CATIA.StartCommand gibts nicht. Folgendes geht aber: - PowerCopy öffnen - das PowerCopy-Object in der PowerCopy seletieren - CATIA.StartCommand "Instantiate From Selection" - ein Sleep (1 Sekunde Pause) das Abfragemenü erscheint ... Hoffe das hilft weiter Gruß TomTom ------------------ tomtom1972
[Diese Nachricht wurde von tomtom1972 am 11. Feb. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
YellowDevil Mitglied PI, Makroentwicklung, NC Automatisierung
Beiträge: 67 Registriert: 21.12.2006
|
erstellt am: 12. Feb. 2008 05:14 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
Meines wissens nach braucht man zum starten einer PowerCopy nicht auf die Catalog Datei zugreifen. Man benötigt nur die Part Datei in der die PowerCopy drin ist. Im Ordner VBSCript ist ein Ordner PowerCopy und dort liegt ein VBScript drin, in welchem gezeigt wird wie man eine PowerCopy anspricht. Bei diesem Beispiel sind die Objecte bekannt und werden direkt zugeordnet. Wenn sie nicht bekannt sind, kann man über eine normale Selektion gehen und sie zuordnen. Sollte die Powercopy auf einen Fehler laufen, so wird sie nicht eingefügt. Problematisch ist dabei nur die Ausrichtungen der einzelnen Elemente, da diese mit der powerCopy übereinstimmen müssen, sonst funktioniert sie nicht wirklich. Einfach das Script mal anschauen, eigentlich relativ simple. Sonst einfach fragen, sitze auch grad an einer Lösung zu PowerCopy über VB6.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 12. Feb. 2008 06:06 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
|
JPF Mitglied Programmierer
Beiträge: 128 Registriert: 17.08.2001 CATIA V5R19 SP9--HP420,Intel(R) Xeon(R) CPU E5-1620 3.60GHz,32 GB Ram, NVIDIA Quadro 2000--Windows 7 Enterprise 64bit
|
erstellt am: 12. Feb. 2008 07:08 <-- editieren / zitieren --> Unities abgeben:
Hallo und guten Morgen Zusammen, das Script in VBScript habe ich schon getestet. Das Macro wird an der Stelle factory.BeginInstanceFactory "TwoSurfacicHole", "e:\tmp\PowerCopyReference.CATPart" abgebrochen. Es wird zwar ein Teil geladen, aber nur teilweise. Mit einer KT1 Lizenz läuft das Macro durch. mfg JPF Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
YellowDevil Mitglied PI, Makroentwicklung, NC Automatisierung
Beiträge: 67 Registriert: 21.12.2006
|
erstellt am: 12. Feb. 2008 14:47 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
|
Kay Petri Mitglied Konstrukteur Catia V5
Beiträge: 24 Registriert: 18.06.2012 Workstation HP 840
|
erstellt am: 16. Jul. 2012 08:29 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
Hallo Ihr, ich blicke im Moment garnicht durch. Ich habe jetzt schon soviel gelesen, aber die Lösung habe ich nicht gefunden. Es ist im Grunde ganz einfach was ich möchte. Ich habe 5 Catparts die powercopys darstellen. Ich habe ein macro geschrieben dasss Schaltflächen enthält mit denen ich andere Macros aufrufen kann. Nun möchte ich gerne die Schaltflächen mit einer Powercopy belegen. Also bei Klick, dann Powercopy starten UND ZWAR MIT DEM AUSWAHLFENSTER DER PARAMETER USW. Das dieser Weg nur über ein Macro geht ist mir schon klar, aber wie muss denn das Macro aussehen, damit ich einfach nur die Powercopy starten kann, ohne die benötogten Selectionen schon im Macro niederschreiben zu müssen. Also ich möchte einfach dieses Auswahlfeld nach dem Powercopy Start sehen. Gruß Kay Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
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: 16. Jul. 2012 16:01 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
Das ist über einen Katalog nicht lösbar, das geht nur über das FileSystem. ------------------ 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 |
Kay Petri Mitglied Konstrukteur Catia V5
Beiträge: 24 Registriert: 18.06.2012 Workstation HP 840
|
erstellt am: 17. Jul. 2012 06:35 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
Nach einer langen hin und her Sucherrei, ahbe ich doch ein Lösung gefunden. Die Powercopys müssen in einem katalog abgelegt sein Den Katalog öffnet man nun in Catia und "veröffentlicht" die einzelnen Powercopys. Dabei erhält man einen Catia internen Link zu dieser Powercopy, welcher in den CatSettings abgespeichert ist. Dieser link wird einfach in das "Click" Event der Schaltfläche aus einer Form in den Catia.StartCommand kopiert. z.B.: CATIA.StartCommand "UID_v0/File/L:\cat\Katalog\Normteile.catalog?type=catalog|Normteile /PowerCopy/2 inputs|PowerCopy.1" Ist das so gemacht. Kann man mittels Schaltfläche in einem Macro eie Powercopy starten die auch die Parameter anzeigt. Und alle User Selections sind auswählbar. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
camahiahua Mitglied ingenieur
Beiträge: 31 Registriert: 28.09.2010
|
erstellt am: 31. Jul. 2012 15:40 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
Hallo Kay Petri, Ich habe so ein ähnliches Problem gehabt. Ich habe ein Paar PowerCopies, die durch ein Makro aufgerufen werden. Ich wollte dieses Input Fenster von dem Powercopy in meinem Makro haben. Ich habe ein Catalog erstellt und die verschiedenen PowerCopys veröffentlicht. Ich habe wie du gesagt hast, die CATIA interne Links benutzt und mit dem Befehl CATIA.StartCommand gearbeitet. Alles funktioniert wunderbar. Das Problem ist jetzt, dass dieses Makro nur in meinem Rechner verwendet werden kann. Wenn ich das Makro in anderem Rechner nutze werden die PowerCopies nicht aufgerufen.
Der Catalog muss bei dem neuen Rechner geöffnet werden und ich muss die Powercopies wieder veröffentlichen. Am Ende bekomme ich den gleichen Pfad von dem CATIA Link wie in meinem Rechner aber ich muss sowieso alle Powercopies veröffentlichen.... Kann ich was programmieren um dieses Makro in anderen Rechner nutzen zu können, ohne die manuelle Veröffentlichung??? vielen Dank Aller Rechner habe zugriff zum Katalog aber in jedem CATIA Session müssen die PowerCopies wieder veröffentlicht werden Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Trilemma Mitglied staatl. gepr. Techniker
Beiträge: 254 Registriert: 20.08.2010 Catia V5 R19 SP8 Windows7 64bit 12GB 2,93GHz Dell Precision T3500
|
erstellt am: 31. Jul. 2012 15:49 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
|
Kay Petri Mitglied Konstrukteur Catia V5
Beiträge: 24 Registriert: 18.06.2012 Workstation HP 840
|
erstellt am: 31. Jul. 2012 18:22 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
Ja. Der Katalog muss an jedem Rechner veröffentlicht werden. Das ist leider so. ODer man nimmt die Settings wie beschrieben zu jedem mit. Man kann nat. auch eine Prozedur schreiben welche die Settings aus einem nbestimmten Ordner automatisch holt. Dann ist jeder automatisch auf dem richtigen Stand. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
camahiahua Mitglied ingenieur
Beiträge: 31 Registriert: 28.09.2010
|
erstellt am: 01. Aug. 2012 10:11 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
Hallo, Ich habe die datei SettingsPublishCatalogPath.CATSettings kopiert und in den entsprechenden Verzeichnisse eingefügt und hat alles gut geklappt!! Dieses Forum ist richtig Klasse =) vielen Dank für die Hilfe
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kay Petri Mitglied Konstrukteur Catia V5
Beiträge: 24 Registriert: 18.06.2012 Workstation HP 840
|
erstellt am: 06. Feb. 2013 09:27 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 06. Feb. 2013 09:30 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
Servus Bei welchem Code kommt der Fehler? In welcher Zeile kommt der Fehler? Welches Command macht Probleme? Auf welchem System/Release arbeitest du? Gruß Bernd PS: Bitte Systeminfo ausfüllen. ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kay Petri Mitglied Konstrukteur Catia V5
Beiträge: 24 Registriert: 18.06.2012 Workstation HP 840
|
erstellt am: 06. Feb. 2013 09:35 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
Hallo, ich hatte ja oben geschrieben wie man eien powercopy ohen KT1 aus einem Katalog starten kann. CATIA.StartCommand "UID_v0/File/L:\cat\Katalog\Normteile.catalog?type=catalog|Normteile /PowerCopy/2 inputs|PowerCopy.1" Jetzt geht es allerdings über diese Methode nicht mehr. Wenn ich mein Icon mit dem entsprechenden Click Event zur Powercopy betätige dann kommt: Unknown Command UID_v0/File/L:\cat\Katalog\Normteile.catalog?type=catalog|Normteile /PowerCopy/2 inputs|PowerCopy.1 Es ging aber mit besagter Methode. V5 R19 Hotfix 49
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sven Iffert Mitglied Student
Beiträge: 1 Registriert: 14.11.2013
|
erstellt am: 02. Dez. 2013 10:33 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
Hallo Leute, auch ich habe keine KT1-Lizens und versuche mein Makro CATIA.StartCommand "Instantiate From Document" ausführen zu lassen. Vorher erstellt das Makro bereits die Inputgeometrien. Endet das Makro nach CATIA.StartCommand "Instantiate From Document", kann ich erfolgreich den Pfad auswählen und die Powercopy wird eingefügt. Wenn man nun nach CATIA.StartCommand "Instantiate From Document" im Skript, beispielsweise, eine einfache Messagebox einfügt, so bleibt das Auswahlfenster für den Pfad leer und die Messagebox erscheint trotzdem. Ich vermute, dass man die Sleepfunktion einfügen muss, weiß aber nicht, wie das geht. Hoffentlich könnt Ihr mir helfen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 11. Dez. 2014 22:01 <-- editieren / zitieren --> Unities abgeben: Nur für JPF
Hallo Sven, Sleep/SleepEx sind Api-Funktionen: Code:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Private Declare Function SleepEx Lib "kernel32" (ByVal dwMilliseconds As Long, _ ByVal bAlertable As Long) As Long Private Sub Form_Load()
'· dwMilliseconds 'Specifies the time, in milliseconds, that the delay is to occur. A value 'of zero causes the function to return immediately. A value of INFINITE 'causes an infinite delay. '· bAlertable 'Specifies whether the function may terminate early due to an I/O completion 'callback function or an APC. If bAlertable is FALSE, the function does not 'return until the time-out period has elapsed. If an I/O completion callback 'occurs, the function does not return and the I/O completion function is not 'executed. If an APC is queued to the thread, the function does not return 'and the APC function is not executed. 'If bAlertable is TRUE and the thread that called this function is the same 'thread that called the extended I/O function (ReadFileEx or WriteFileEx), 'the function returns when either the time-out period has elapsed or when an 'I/O completion callback function occurs. If an I/O completion callback occurs, 'the I/O completion function is called. If an APC is queued to the thread '(QueueUserAPC), the function returns when either the timer-out period has 'elapsed or when the APC function is called.· 'Sleep for 5000 milliseconds Sleep 5000 'Sleep 2 seconds SleepEx 2000, False End Sub
Tschau, Joe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |