| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
| |
| Startup TOOLS , eine App
|
Autor
|
Thema: UI-Scripting von Intralink / Local.ddb (5290 mal gelesen)
|
llama0 Mitglied NN
Beiträge: 5 Registriert: 25.09.2003
|
erstellt am: 25. Sep. 2003 21:09 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, Hat jemand Erfahrungen mit dem UI-Scripting von ILINK 3.2+ gemacht, oder hat jemand "geheime" Informationen darüber ? Ich selbst habe schon so einiges probiert und herausgefunden, aber vielleicht gibt es noch weiter User, mit denen man sich austauschen könnte. Beispiele: Starten von Fremdapplikationen; Objekte des letzten Eincheckens automatisiert anzeigen, Integration der Scripts ins Menü der Browser. Verwenden von Infos aus der local.ddb von der DOS-Kommandozeile ------------------ |_ |_ /-\ |\/| /-\ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Marianne Mitglied CAD / PLM Support
Beiträge: 344 Registriert: 01.04.2003 Pro/E seit 1994, aktuell Creo 4 M140 PDMLink seit 2008, aktuell 12.0.2.6
|
erstellt am: 29. Sep. 2003 11:24 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
Hallo Llama0, meine Meinung zum Java-Scripting hat sich im Laufe der Zeit von "nicht brauchbar" zu "eigentlich ganz gut" geändert. Ich benutze es z.B., um Rollen für Ordner und Entwicklungsphasen zu vergeben. Das erspart mir mehr als 600 Klicks von Hand ... Dein Tool zum Anzeigen der zuletzt eingecheckten Objekte hört sich interessant an. Könntest Du das vielleicht zur Verfügung stellen? Ich hätte da als Gegenleistung ein Tool zum automatischen Einstellen ganz vieler Berechtigungen anzubieten ... ;-) Danke und Gruß - Marianne Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hagen123 Ehrenmitglied V.I.P. h.c. Application Specialist
Beiträge: 2312 Registriert: 12.11.2000
|
erstellt am: 29. Sep. 2003 12:49 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
... mal eine frage: was soll denn das tool zum anzeigen der zuletzt eingecheckten objekte in der praxis bringen? ... so long [Diese Nachricht wurde von hagen123 am 29. September 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
llama0 Mitglied NN
Beiträge: 5 Registriert: 25.09.2003
|
erstellt am: 29. Sep. 2003 14:26 <-- editieren / zitieren --> Unities abgeben:
Man kann das brauchen, wenn man Objekte direkt nach dem Einchecken auch anheben will o. aehnliches. Bei PROE-Objekten ist das meistens kein Problem, weil man nur die oberste Hierarchieebene auswaehlen muss und dann alle Objekte mitbekommt. Bei Fremdaten, die mitverwaltet werden, kann das schnell zeitaufwendig werden, insbesondere wenn die Objekte ueber mehrere Ordner verstreut sind und auch kein Namensmuster aufweisen. ------------------ |_ |_ /-\ |\/| /-\ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pherok Mitglied Variantenmanagement , CAD-Admin
Beiträge: 46 Registriert: 21.01.2003 Pro/ENGINEER WF4 M160 PDMLink 9.1 M060 INNOFACE-Schnittstelle SAP 4.7
|
erstellt am: 02. Okt. 2003 09:41 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
Hallo Leute, schön das dieses Thema hier diskutiert wird. Ich versuche mich gerade auch daran. Ich arbeite gerade an einem Script, mit dem man automatisiert im WS die Werte von Attributen auf "Null" setzen kann. Grund: Wir erzeugen häufig neue Objekte durch "Duplizieren". Leider werden bei diesen neuen Objekten, Parameter wie z.B. "geändert von"; Projekt_Nr., etc. nicht auf Null gesetzt. Momentan müssen die User das manuell durchführen. Gruß Peter
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roland_s Mitglied CAE-Systemadministrator
Beiträge: 175 Registriert: 04.02.2003 CAE-Systemadministrator www.bucyrus.com ProE Wildfire 4.0 M160 ProINTRALINK 3.4 DCode M070 ISAPconnect / DENC
|
erstellt am: 17. Okt. 2003 12:33 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
Hallo Peter Darf ein ProI 3.2 Neuling mal eine vielleicht dumme Frage stellen ?? Ist UI-Scripting das, was man über die Tastenkombination Strg-S starten kann ? Ich versuche automatisch nur durch Eingabe einer Zeichnungsnummer im CS zu suchen und auszuchecken. Der aufgezeichnete Script funktioniert. Aber kann ich da interaktiv eingeifen (andere zeichnungsnummer) und kann ich das dann von ProE aus starten ? Oder bin ich im falschen Film ?? mfg Roland ------------------ [Diese Nachricht wurde von roland_s am 17. Oktober 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
llama0 Mitglied NN
Beiträge: 5 Registriert: 25.09.2003
|
erstellt am: 17. Okt. 2003 20:23 <-- editieren / zitieren --> Unities abgeben:
Hi Roland, Du bist schon im richtigen Film. Wenn Du Dich ein wenig mit Java auskennst, kannst Du z.B. Scripte aufzeichnen, dann den aufgezeichneten Quellcode editieren, neu kompilieren (per mit dem durch Ctrl-S gestarteten Interface, oder extern) und abspielen. Das Script läßt sich ins Intralink Menü integrieren. Habe selbst schon einiges gebastelt. Derartige Scripte werden von PTC nicht supported, außerdem gibt es kaum Dokumentation darüber. Starten aus ProE heraus denke ich geht nicht so ohne weiteres. Freut mich, dass jemand für das Thema interesiert. ------------------ |_ |_ /-\ |\/| /-\ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roland_s Mitglied CAE-Systemadministrator
Beiträge: 175 Registriert: 04.02.2003 CAE-Systemadministrator www.bucyrus.com ProE Wildfire 4.0 M160 ProINTRALINK 3.4 DCode M070 ISAPconnect / DENC
|
erstellt am: 27. Okt. 2003 09:49 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
Hallo |_ |_ /-\ |\/| /-\ Danke für deine Info. Java kann ich zwar noch nich`,aber das kan man ja lernen. PTC is mir egal die scheren sich ja auch nich` um meine Mapkeys. Über die Mapkeys kann ich doch DOS-Batchdateien aufrufen. z.B. mapkey tnet @SYSTEMd:/proe2001/dbt/telnetdbt.bat Kann man so rum die Javascripte aufrufen um dann doch an ProE zu kommen ? mfG Roland ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
llama0 Mitglied NN
Beiträge: 5 Registriert: 25.09.2003
|
erstellt am: 27. Okt. 2003 21:34 <-- editieren / zitieren --> Unities abgeben:
Hallo Roland, Grundsätzlich kannst du ein Java-Script aus ProE heraus starten. Das Problem dabei ist, du mußt an ein Programmobjekt herankommen, das die laufende Intralink-Sitzung repräsentiert. Das ist aus ProE heraus per Java nicht möglich, ich denke eigentlich nur durch ProE-ProI-Toolkit. Es gibt in ProE noch J-Link wo man mit Java an ProE-Objekte herankommt, aber da kenn' ich mich noch nicht aus (kennt sich da überhaupt wer aus oder nutzt das einer ????) ------------------ |_ |_ /-\ |\/| /-\ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fossy Mitglied Dipl.-Ing. Maschinenbau (Kraftfahrzeugtechnik)
Beiträge: 943 Registriert: 07.02.2001 Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie passten auch heute noch. (George Bernard Shaw, ir. Dramatiker, 1856-1950)
|
erstellt am: 29. Okt. 2003 11:03 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
|
llama0 Mitglied NN
Beiträge: 5 Registriert: 25.09.2003
|
erstellt am: 30. Okt. 2003 19:18 <-- editieren / zitieren --> Unities abgeben:
1. Zeichne Scripts mit dem über Crtl-S gestarteten Dialog auf. 2. Die aufgezeichneten Scripts werden im Ordner %PDM_LDB_PATH%\.proi\.data\user.data\lib gespeichert (eigentlich sind es Java-Classes, *.class) 3. Der Quellcode zu der Class liegt in %PDM_LDB_PATH%\.proi\.data\user.data\source 4. Kopiere das Script "Dein Script.class" in den Ordner %PDM_LDB_PATH%\.proi\.data\user.data\custom\CS wenn es im Commonspace-Browser zu sehen sein soll, in den Ordner ........\WS wenn es im WS-Browser zu sehen sein soll, oder einen Ordner darüber wenn es in beiden zu sehen sein soll. 5. Zugriff erfolgt über das neue Menü "Angepaßt", das in jedem neuen Browser-Fentser erscheint. Die Menü-Auswahlen heißen so wie deine Classes heißen. 6. Die Java-Quelldateien können beliebigen Java-Code, auch selbstgeschriebenen enthalten, damit kann man einiges anstellen, z.B. auch beeinflussen, wie dein Menüeintrag heißen soll, falls er irgendwelche Sonderzeichen enthält. Letzteres ist etwas komplizierter um es auf die schnelle zu erkären. Gruß
------------------ |_ |_ /-\ |\/| /-\ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fossy Mitglied Dipl.-Ing. Maschinenbau (Kraftfahrzeugtechnik)
Beiträge: 943 Registriert: 07.02.2001 Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie passten auch heute noch. (George Bernard Shaw, ir. Dramatiker, 1856-1950)
|
erstellt am: 03. Nov. 2003 09:08 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
|
llama0 Mitglied NN
Beiträge: 5 Registriert: 25.09.2003
|
erstellt am: 03. Nov. 2003 21:12 <-- editieren / zitieren --> Unities abgeben:
Hi fossy, Das kann man nicht herleiten, ich habe die Infos von einem PTC-Consultant, zumindest das mit der Menüintegration (Wenn ich mich nicht irre, dann gibt es in der PTC-Knowledgebase auch Hinweise darauf). Es gibt da auch noch eine inoffizielle Doku mit der angeblich User-Trigger im Workspace möglich sein sollen, ich hab das noch nicht zum Laufen gekriegt. Das mit dem Menünamen geht so: In der neu erzeugten Klasse muß eine Funktion definiert werden mit public String getUIname() { return "Das ist mein Menue-Eintrag"; } z.B. nach public class MyScriptClass extends ILIntralinkScript { Neu kompilieren, in den entsprechenden Ordner verschieben dann erscheint im Angepaßt-Menü nicht "MyScriptClass" sondern eben "Das ist mein Menue-Eintrag" Alles klar !
------------------ |_ |_ /-\ |\/| /-\ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
llama0 Mitglied NN
Beiträge: 5 Registriert: 25.09.2003
|
erstellt am: 02. Dez. 2003 20:42 <-- editieren / zitieren --> Unities abgeben:
|
fossy Mitglied Dipl.-Ing. Maschinenbau (Kraftfahrzeugtechnik)
Beiträge: 943 Registriert: 07.02.2001 Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie passten auch heute noch. (George Bernard Shaw, ir. Dramatiker, 1856-1950)
|
erstellt am: 03. Dez. 2003 13:47 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
hi, da bin ich dabei :-) wir verwenden UI-scripting z.b. für "alle veralteten objekte" aktualisieren. ... problem dabei: ich würde mir wünschen, dass der nutzer "erkennt" dass das script (noch) läuft. kann man sowas umsetzen ('ne art progressbar )
------------------ cu fossy meine kleine website Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
llama0 Mitglied NN
Beiträge: 5 Registriert: 25.09.2003
|
erstellt am: 04. Dez. 2003 19:51 <-- editieren / zitieren --> Unities abgeben:
Hallo fossy, Das mit dem Status wäre schön, da sich, wenn man das Script nochmals startet (zumindest aus dem 'Angepaßt'-Menü heraus), Intralink aufhängt.Man könnte als einfachste Lösung mit Java eine Messagebox einbauen, wenn das Script endet, die dann vom Anwender bestätigt werden MUSS, bevor er etwas anderes machen darf. Eine Realisierung mit dem Verlauf denke ich ist nicht so einfach, da man erst die Dauer des Vorgangs abschätzen müsste. Was aber geht, ist z.B. die Anzahle der selektierten Objekte abzufragen, und ein Schätzung (???) einzubauen.
------------------ |_ |_ /-\ |\/| /-\ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fossy Mitglied Dipl.-Ing. Maschinenbau (Kraftfahrzeugtechnik)
Beiträge: 943 Registriert: 07.02.2001 Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie passten auch heute noch. (George Bernard Shaw, ir. Dramatiker, 1856-1950)
|
erstellt am: 05. Dez. 2003 11:41 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
|
llama0 Mitglied NN
Beiträge: 5 Registriert: 25.09.2003
|
erstellt am: 06. Dez. 2003 20:17 <-- editieren / zitieren --> Unities abgeben:
|
fossy Mitglied Dipl.-Ing. Maschinenbau (Kraftfahrzeugtechnik)
Beiträge: 943 Registriert: 07.02.2001 Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie passten auch heute noch. (George Bernard Shaw, ir. Dramatiker, 1856-1950)
|
erstellt am: 16. Apr. 2004 11:19 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
|
llama0 Mitglied NN
Beiträge: 5 Registriert: 25.09.2003
|
erstellt am: 19. Apr. 2004 20:03 <-- editieren / zitieren --> Unities abgeben:
|
fossy Mitglied Dipl.-Ing. Maschinenbau (Kraftfahrzeugtechnik)
Beiträge: 943 Registriert: 07.02.2001 Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie passten auch heute noch. (George Bernard Shaw, ir. Dramatiker, 1856-1950)
|
erstellt am: 21. Apr. 2004 08:33 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
|
fossy Mitglied Dipl.-Ing. Maschinenbau (Kraftfahrzeugtechnik)
Beiträge: 943 Registriert: 07.02.2001
|
erstellt am: 30. Apr. 2004 07:28 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
|
fossy Mitglied Dipl.-Ing. Maschinenbau (Kraftfahrzeugtechnik)
Beiträge: 943 Registriert: 07.02.2001 Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie passten auch heute noch. (George Bernard Shaw, ir. Dramatiker, 1856-1950)
|
erstellt am: 27. Mai. 2004 08:10 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
hi, hab mal was für alle zum "ausprobieren" :-) (is' 'n script mit "infofenster" für den fortschritt) Zitat: Original erstellt von fossy:
wir verwenden UI-scripting z.b. für "alle veralteten objekte" aktualisieren.
der inhalt des scripts "veraltete_aktualisieren.java": // Version: Intralink v.3.2, (build #2003120 - I4.0.5.25) // Start Macro Recording import com.ptc.intralink.client.script.*; import com.ptc.intralink.script.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class veraltete_aktualisieren extends ILIntralinkScript { ILIntralinkScriptInterface IL = (ILIntralinkScriptInterface)getScriptInterface(); // test eingefügt JFrame converterFrame; JPanel converterPanel; JTextField tempCelsius; JLabel celsiusLabel, fahrenheitLabel; JButton convertTemp; // test eingefügt ende
private void run0 () throws Exception {
// eingefügt //Create and set up the window. converterFrame = new JFrame("Fortschrittsmitteilung"); //Create and set up the panel. converterPanel = new JPanel(new GridLayout(5, 1)); //Set the default button. converterFrame.getRootPane().setDefaultButton(convertTemp); //Add the panel to the window. converterFrame.getContentPane().add(converterPanel, BorderLayout.CENTER); //Add the ubiquitous "Hello World" label. JLabel labela = new JLabel("Dieses Fenster zeigt den Fortschritt des Makros an."); JLabel labelb = new JLabel ("Es wird geschlossen, sobald das Makro beendet ist."); JLabel labelc = new JLabel ("(Im Fehlerfall bitte von Hand schließen!)"); JLabel label1 = new JLabel("------- Bitte warten! ------"); JLabel label2 = new JLabel("------- Fast Fertig! :-) -------"); converterPanel.add(labela); converterPanel.add(labelb); converterPanel.add(labelc); converterPanel.add(label1); converterPanel.add(label2); label2.setVisible(false); label1.setVisible(true); //Display the window. converterFrame.pack(); converterFrame.setLocation(5,5); converterFrame.setSize(400,150); converterFrame.setVisible(true); //eingefügt ende IL.synchronizeWithCS( ); // recorded step: 0 IL.setTableConfiguration( "_veraltet_" ); // recorded step: 1 IL.selectAll( "WSPI" ); // recorded step: 4 IL.openWindow( "CheckOut", "", "" ); // recorded step: 6 IL.startEditor( false ); // recorded step: 7 IL.setCheckoutMethod( true ); // recorded step: 8 IL.checkout( ); // recorded step: 10 IL.closeWindow( ); // recorded step: 11 label1.setVisible(false); label2.setVisible(true); IL.setTableConfiguration( "_geaendert_" ); // recorded step: 12 label1.setVisible(false); label2.setVisible(true); converterFrame.setVisible(false); } // End of run0 public void run () throws Exception { run0 (); // recorded } // End of function } // End Macro Recording ... ist im prinzip aufgezeichnet und den "fest" eingestellten aufgezeichnetten workspace rausgelöscht und danach noch 'n bisschen modifiziert. die tabellenkonfiguration "_veraltet_" zeigt nur veraltete objekte an! weiterhin wird eine tabellenanzeige "_geaendert_" benötigt. ------------------ cu fossy meine kleine website Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hagen123 Ehrenmitglied V.I.P. h.c. Application Specialist
Beiträge: 2312 Registriert: 12.11.2000
|
erstellt am: 27. Mai. 2004 09:29 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
|
fossy Mitglied Dipl.-Ing. Maschinenbau (Kraftfahrzeugtechnik)
Beiträge: 943 Registriert: 07.02.2001 Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie passten auch heute noch. (George Bernard Shaw, ir. Dramatiker, 1856-1950)
|
erstellt am: 27. Mai. 2004 09:50 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
hi, Zitat: Original erstellt von hagen123:
ich glaube das java-script geht nicht fuer alle (ist nur firmenspezifisch)
hast du die letzten zwei sätze beachtet??? eine tabellenanzeige, die nur objekte anzeigt, deren ws-status "veraltet" ist mit dem namen "_veraltet_" und eine andere tabellenanzeige mit dem namen "_geaendert". wenn du das script entsprechend veränderst, kannst du ja auch die namen ändern. noch 'n versuch??? ------------------ cu fossy meine kleine website Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dibu Mitglied Konstrukteur
Beiträge: 143 Registriert: 11.03.2003 W2K 2.4GHz 512MB DELL Workstation NIVIDIA Quadro4 900 XGL<P>PROE 2001/2002310 PROI 3.2 2001440
|
erstellt am: 27. Mai. 2004 12:24 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
Hallo fossy, an welcher Stelle in deinem Script werden die Teile selektiert die veraltet sind? Ich habe dein Script getestet und es aktualisiert alles auch geänderte Teile, weil er ja alles selektiert. IL.selectAll( "WSPI" ); // recorded step: 4 Ich würde gern die Teile über ein Script selektieren die veraltet sind. Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fossy Mitglied Dipl.-Ing. Maschinenbau (Kraftfahrzeugtechnik)
Beiträge: 943 Registriert: 07.02.2001
|
erstellt am: 27. Mai. 2004 15:17 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
hi nochmal Zitat: Original erstellt von fossy:
hast du die letzten zwei sätze beachtet???
keiner versteht mich .... also, im script wird an der stelle IL.setTableConfiguration( "_veraltet_" ); // recorded step: 1 die tabellenkonfiguration "_veraltet_" aufgerufen. diese tabellenkonfiguration ist systemweit so einstellt (stichwort objektfilter), dass NUR objekte angezeigt werden, deren status "Veraltet" lautet. wie sieht's jetzt aus, nun alles unklar???
------------------ cu fossy meine kleine website Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dibu Mitglied Konstrukteur
Beiträge: 143 Registriert: 11.03.2003 W2K 2.4GHz 512MB DELL Workstation NIVIDIA Quadro4 900 XGL<P>PROE 2001/2002310 PROI 3.2 2001440
|
erstellt am: 28. Mai. 2004 10:56 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
|
fossy Mitglied Dipl.-Ing. Maschinenbau (Kraftfahrzeugtechnik)
Beiträge: 943 Registriert: 07.02.2001
|
erstellt am: 28. Mai. 2004 11:01 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
hi dirk, nein, es ist in intralink 3.2 aufgezeichnet (siehe komentar am anfang des scripts) such mal hier im forum nach "status" und "filtern", ich glaube, da wirst du fündig (du hast noch die "alte" 3.2, wo man noch nicht den filter im intralink setzen kann, man kann ihn aber durch editieren einer datei setzen) ------------------ cu fossy meine kleine website Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dibu Mitglied Konstrukteur
Beiträge: 143 Registriert: 11.03.2003 W2K 2.4GHz 512MB DELL Workstation NIVIDIA Quadro4 900 XGL<P>PROE 2001/2002310 PROI 3.2 2001440
|
erstellt am: 28. Mai. 2004 12:50 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
Hallo fossy, ich habe eben den part mit der Tabellen konfiguration implementiert und getestet. Super Sache, ein Problem weniger, weil meine Kollegen immer gern mal vergessen einige Teile zu aktualliesieren. Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fossy Mitglied Dipl.-Ing. Maschinenbau (Kraftfahrzeugtechnik)
Beiträge: 943 Registriert: 07.02.2001
|
erstellt am: 02. Jun. 2004 08:37 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
hi, freut mich, wenn ich helfen konnte ... was mich nur ein bisschen verwundert, dass "so wenige" interesse an sowas haben. laut forumübersicht beteiligen sich ca. 180 leute in diesem forum und 4 haben sich per Üs bedankt - das sind gerade mal 2 prozent, die sich also überhaupt damit auseinander setzten. in meinen augen: bedenklich... naja, vielleicht stößt ja irendwann wieder LLAMA zu uns oder irgendjemand anderes, der noch vorschläge zur lösung meines problems hat. ------------------ cu fossy meine kleine website Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
eic Mitglied
Beiträge: 128 Registriert: 28.03.2001 Pro/ENGINEER WF2 Pro/INTRALINK 3.4 Windows XP Pro SP2
|
erstellt am: 02. Jun. 2004 09:40 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
na da muß ich mich doch beteiligen. erst mal 10 für fossy, funktioniert tadellos (habe nur die Namen der Views auf unsere geaendert). Weiters muß ich noch loswerden: Auch unter IL 3.1 klappt das. Leider ist das ganze ja gar nicht dokumentiert oder hat wer ne Doku zum ILIntralinkScriptInterface ? Aber meine Frage ist ja ne ganz andere: Mein Ziel ist, alle Objekte im WS auf schreibgeschützt zu stellen, die nicht aus dem Ordner des gerade selektierten Objekts kommen. Kann man das machen? Mit einer reinen Aufzeichnung einer Usereingabe wird das nicht funktionieren, das ist mir klar. Aber man kann das Script ja zu Fuß erweitern (fossy hats bewiesen ). Hat wer eine Idee, wie ich das angehen könnte?
------------------ mfg EiC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hagen123 Ehrenmitglied V.I.P. h.c. Application Specialist
Beiträge: 2312 Registriert: 12.11.2000
|
erstellt am: 02. Jun. 2004 12:31 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
... interessiert bin ich auch immer aber bei mir hapert es oft an der zeit. ein zweiter punkt ist, dass ich finde, dass ilink recht schwerfaellig bei der benuzeranpassung ist. also, alles was super mit pro/e geht (mapkeys, menues basteln, werkzeugtools, groessen der fenster,...) hat man bei ilink weggelassen oder nur mit hoechsten programmierbaren aufwand zu erledigen. ich denke mal, die meisten anwender sind verstaendlicherweise nutzer in bezug auf die funktionen, nicht auf die anpassung. hierzu zaehle ich auch. ich habe auch keine lust, komplexe scripts zu erstellen, toolkit oder j-link anpassungen zu machen, wenn die in der naechsten version schon wieder nicht funktieren oder umgearbeitet werden muessen. beispiele aus alten ilink-versionen gibt es da- vielleicht ist deshalb die resonanz so ... mit der hoffnung, das sich anwendertechnisch ein bisschen mehr in der zukunft aendert... ... so long ... mit der resonanz der ue's---> ich bin einfach zu faul Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
eic Mitglied
Beiträge: 128 Registriert: 28.03.2001 Pro/ENGINEER WF2 Pro/INTRALINK 3.4 Windows XP Pro SP2
|
erstellt am: 02. Jun. 2004 14:16 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
Mein Ziel habe ich fast erreicht. Mir fehlt nur noch eine Kleinigkeit: Wie kann ich den Intrlink-Ordner eines zur Zeit selektierten Objektes ermitteln? Ich habe gefunden wie man den Ordner setzt, aber nicht wie man ihn ausließt. ------------------ mfg EiC [Diese Nachricht wurde von eic am 02. Jun. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fossy Mitglied Dipl.-Ing. Maschinenbau (Kraftfahrzeugtechnik)
Beiträge: 943 Registriert: 07.02.2001
|
erstellt am: 02. Jun. 2004 15:43 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
hallo eic, ich wollte sowas ähnliches über eine benutzereingabe realisieren. da ist aber das problem mit dem notifyEndOfScript (die "scriptverbindung" zu intralink wird unterbrochen...) leider weiß scheinbar niemand, wie man ein solches script "am leben halten" kann. ------------------ cu fossy meine kleine website Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
llama0 Mitglied NN
Beiträge: 5 Registriert: 25.09.2003
|
erstellt am: 02. Jun. 2004 20:43 <-- editieren / zitieren --> Unities abgeben:
Hallo eic, hallo fossy, Ich hab' schon länger nichts mehr zu dem Beitrag hinzugefügt, es gibt doch einige Resonanz An eic: Es gibt im Script-Interface eine Prozedur "getSelectedObjects", in dieser werden die aktuell selektierten Zeilen gespeichert. Leider kommt man an dieser Stelle aber nicht weiter, da müsste man die IL-dlls anzapfen, aber ohne Dokumentation ? Aber es gibt einen Trick: Ich hab ein kleines C-Kommandozeilenprogramm geschrieben, das direkt in die local.ddb schaut und verschiedene Attribute abfragen kann. Diesem P. übergibt man z.B. den Objektnamen und läßt das Ergebnis in eine Datei schreiben, die man wieder einliest. Bei Interesse bitte eine Message an mich. An fossy: In dem Script-Interface habe ich festgestellt, dass IL hängen bleibt, wenn man ein Script zweimal startet, wenn das erste noch nicht fertig ist, weil man z.B. eine Fremdapplikation startet. Das mit dem notifyEndofScript() glaube ich,wenn ich mich an meine letzten Versuche zu erinnnere kommt denke ich daher, wenn man eine Programmschleife for, while etc. programmiert ist. Wenn Du versuchst das Script mit dem Interface zu kompilieren und zum Laufen zu kriegen, gehts nicht. Allerdings kannst Du die Java-Quelldatei auch mit dem Java SDK 1.3.1_06 kompilieren, Du musst nur "intralink.jar" als Bibliothek einbinden. (ich verwende JCreator und trage das bei den Projekteinstellungen ein)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
llama0 Mitglied NN
Beiträge: 5 Registriert: 25.09.2003
|
erstellt am: 02. Jun. 2004 21:27 <-- editieren / zitieren --> Unities abgeben:
Hi, ich bins nochmal an eic: Versuchs 'mal mit diesem Code, dieser gibt Infos in der Datei .proi.log.xx im Startverzeichnis aus import com.ptc.intralink.client.script.*; import com.ptc.intralink.script.*; import com.ptc.intralink.ila.*; import java.lang.Object; import java.lang.reflect.*;
public class info extends ILIntralinkScript { ILIntralinkScriptInterface IL = (ILIntralinkScriptInterface)getScriptInterface(); WSPIObjectInfo woi; private void run0 () throws Exception { woi=WSPIObjectInfo.createByKey("12345/part_gen.prt"); Method m[]; Class s=Class.forName("com.ptc.intralink.ila.WSPIObjectInfo"); m=s.getMethods(); // Gibt die Methoden des Objekts WSPIObjectInfo aus z.B. getFolderPath() for (int i = 0; i < m.length; i++) System.out.println("Method[" + i + "] is " + m[i]); // Beispiel für die Anwendung System.out.println(woi.getRelLevel()); System.out.println(woi.getFolderPath()); } public void run () throws Exception { run0 (); } } Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hagen123 Ehrenmitglied V.I.P. h.c. Application Specialist
Beiträge: 2312 Registriert: 12.11.2000 NX 10 Teamcenter 11
|
erstellt am: 03. Jun. 2004 06:58 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
|
llama0 Mitglied NN
Beiträge: 5 Registriert: 25.09.2003
|
erstellt am: 03. Jun. 2004 09:48 <-- editieren / zitieren --> Unities abgeben:
Hi hagen123, Das war so eine komische Sache, das geschah wohl versehentlich! Eines Tages konnte ich mich weder einloggen noch ein neues Passwort abrufen, weil das Profil nicht mehr da war (lt. CAD.de Admin). Warscheinlich wurde ab da die Mitgliedschaft als beendet angezeigt. Als ich's bemerkte habe ich von einem Administrator alles reaktivieren lassen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hagen123 Ehrenmitglied V.I.P. h.c. Application Specialist
Beiträge: 2312 Registriert: 12.11.2000 NX 10 Teamcenter 11
|
erstellt am: 03. Jun. 2004 09:56 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
|
eic Mitglied
Beiträge: 128 Registriert: 28.03.2001 Pro/ENGINEER WF2 Pro/INTRALINK 3.4 Windows XP Pro SP2
|
erstellt am: 03. Jun. 2004 10:30 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
@llama0 Danke mal für die inputs. Die Class info funktioniert. Über woi.getFolderPath() bekomme ich den Pfad des Objektes. Einziges Problem, das dann noch überbleibt ist: Das Objekt ist zur Zeit in den Code geschrieben. Ich muß mir mal ansehen, wie getSelectedObjects() arbeitet. Bei mir erwartet getSelectedObjects, dass ich einen String übergebe. Aber wie die auch schon gesagt hast, ohne Doku ist das ein Krampf. PS. Ich bin kein Java-Guru. Auch wenn ich lernbereit und interissiert daran bin, wirken einige meiner Fragen und Aussagen für eine Java-Könner möglicherweise etwas seltsam, also mal ein globales Sorry!
------------------ mfg EiC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
llama0 Mitglied NN
Beiträge: 5 Registriert: 25.09.2003
|
erstellt am: 03. Jun. 2004 16:10 <-- editieren / zitieren --> Unities abgeben:
@eic Versuch 'mal damit import com.ptc.intralink.client.script.*; import com.ptc.intralink.script.*; import com.ptc.intralink.ila.*; import java.lang.Object; import java.lang.reflect.*; public class info extends ILIntralinkScript { ILIntralinkScriptInterface IL = (ILIntralinkScriptInterface)getScriptInterface(); WSPIObjectInfo woi; private void run0 () throws Exception { Object os[]; // Ausgewählte Objecte im Workspace ermitteln; os = IL.getSelectedObjects(null); for (int i = 0; i < os.length; i++) { System.out.println((String)os[i]); woi=WSPIObjectInfo.createByKey((String)os[i]); System.out.println(woi.getFolderPath()); } } public void run () throws Exception { run0 (); } } Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
eic Mitglied
Beiträge: 128 Registriert: 28.03.2001 Pro/ENGINEER WF2 Pro/INTRALINK 3.4 Windows XP Pro SP2
|
erstellt am: 03. Jun. 2004 17:39 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
|
llama0 Mitglied NN
Beiträge: 5 Registriert: 25.09.2003
|
erstellt am: 03. Jun. 2004 20:30 <-- editieren / zitieren --> Unities abgeben:
Hallo @eic Bitte daran denken dass das für Intralink 3.2 gilt. bei 3.3 erst testen @fossy das mit dem notifyEndOfScript() kommt immer dann, wenn das ScriptInterface keinen der in der Interface-Klasse definierten Befehle mehr findet, denn es wird versucht jeden Script-Schritt in der .proi.log.xx zu protokollieren, jedenfalls ist das in meiner Umgebung so. Ich denke das kann man getrost ignorieren! Ein Wermutstropfen bei selbstprogrammierten Scripts ist, dass man das Script nicht mehr schrittweise ausführen kann (Ctrl-S Dialog) Volle Unities für Eure rege Beteiligung!!
------------------
|_ |_ /-\ |\/| /-\ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
eic Mitglied
Beiträge: 128 Registriert: 28.03.2001 Pro/ENGINEER WF2 Pro/INTRALINK 3.4 Windows XP Pro SP2
|
erstellt am: 04. Jun. 2004 09:09 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
Zitat: Original erstellt von llama0: @eicBitte daran denken dass das für Intralink 3.2 gilt. bei 3.3 erst testen
@llama0 Ich glaube PTC supportet UI-Scripting auch erst ab 3.2.
Aber wie gesagt, bei mir funktionierts auch mit 3.1, wenn auch nicht supported Nächste Woche stelle ich auf 3.3 um, werde ich also sicher testen. ------------------ mfg EiC [Diese Nachricht wurde von eic am 04. Jun. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roland_s Mitglied CAE-Systemadministrator
Beiträge: 175 Registriert: 04.02.2003 CAE-Systemadministrator www.bucyrus.com ProE Wildfire 4.0 M160 ProINTRALINK 3.4 DCode M070 ISAPconnect / DENC
|
erstellt am: 09. Jun. 2004 10:21 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
Hallo Peter auf der Suche nach Lösungen für bekannte Probleme ist mir dein Beitrag aufgefallen. Das Problem der kopierten Attribute haben meine Leute auch. Wäre es unverschämt, dich zu bitten, mir diesen Script zur Verfügung zu stellen ? mfG Roland ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roland_s Mitglied CAE-Systemadministrator
Beiträge: 175 Registriert: 04.02.2003 CAE-Systemadministrator www.bucyrus.com ProE Wildfire 4.0 M160 ProINTRALINK 3.4 DCode M070 ISAPconnect / DENC
|
erstellt am: 01. Jul. 2004 13:54 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
Hallo Marianne auf der Suche nach Informationen zum Intralink Scripting bis du mir auf der Seite http://ww3.cad.de/foren/ubb/Forum69/HTML/000270.shtml als Wissensträgerin aufgefallen. Wärst du bereit, einem Anfänger zu helfen ? Ich versuche mich an einem Script um nach dem Duplizieren von Objekten die Attribute auf Basis einer Tabellenkonfiguration auf die Ausgangswerte zurückzusetzen. Ich hab Probleme mit meinem Gewicht (nicht mit meinem :-) sondern dem Attribut). Wie ist die korrekte Schreibweise ?? Bei "0,0" bekomme ich eine Fehlermeldung. Ich hab beide Dateien dazugelegt. Danke im vorraus Roland ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
llama0 Mitglied NN
Beiträge: 5 Registriert: 25.09.2003
|
erstellt am: 02. Jul. 2004 10:49 <-- editieren / zitieren --> Unities abgeben:
Hallo roland_s Du musst bei Gleitkommazahlen das US-Format verwenden, also 0.0 anstatt 0,0 !!! Intralink stellt das in der deutschen Version nur anders dar. ------------------
|_ |_ /-\ |\/| /-\ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Marianne Mitglied CAD / PLM Support
Beiträge: 344 Registriert: 01.04.2003 Pro/E seit 1994, aktuell Creo 4 M140 PDMLink seit 2008, aktuell 12.0.2.6
|
erstellt am: 05. Jul. 2004 09:34 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
|
roland_s Mitglied CAE-Systemadministrator
Beiträge: 175 Registriert: 04.02.2003 CAE-Systemadministrator www.bucyrus.com ProE Wildfire 4.0 M160 ProINTRALINK 3.4 DCode M070 ISAPconnect / DENC
|
erstellt am: 07. Jul. 2004 10:56 <-- editieren / zitieren --> Unities abgeben: Nur für llama0
Hallo llama0 Danke für deine Hilfe. Nur stelle ich mich irgendwie zu ungeschickt an. Ich hab die Zeile -- IL.setAttribute( "Gewicht", "0.0" ); -- hinzugefügt, neu kompiliert und gestartet. Dann bekomme ich aber die Fehlermeldung Invoke: com.ptc.intralink.client.dialog.WSModifyAttributesManager.setAttribute(Gewicht,0.0) Error running script: Ungültiger Wert. WAS MACH ICH FALSCH ?? Hier noch mal der ganze Script ... // Version: Intralink v.3.2, (build #2001440 - I4.0.5.9) // Start Macro Recording import com.ptc.intralink.client.script.*; import com.ptc.intralink.script.*;
public class ResetAttributes extends ILIntralinkScript { ILIntralinkScriptInterface IL = (ILIntralinkScriptInterface)getScriptInterface(); private void run0 () throws Exception { IL.deselectAll( "WSPI" ); IL.setTableConfiguration( "ResetAttributes" ); IL.selectAll( "WSPI" ); IL.openWindow( "Modify", "", "" ); IL.deselectAll( "NONE" ); IL.selectAll( "NONE" ); IL.setAttribute( "Sap_Aktiv", "NEIN" ); IL.setAttribute( "Sap_Docno", "-" ); IL.setAttribute( "Sap_Matno", "-" ); IL.setAttribute( "Gepr_Datum", "-" ); IL.setAttribute( "Gepr_Name", "-" ); IL.setAttribute( "Gez_Datum", "-" ); IL.setAttribute( "Gez_Name", "-" ); IL.setAttribute( "Sap_Aedat", "-" ); IL.setAttribute( "Sap_Aenam", "-" ); IL.setAttribute( "Sap_Aenr", "-" ); IL.setAttribute( "Sap_Aetex", "-" ); IL.setAttribute( "Gewicht", "0.0" ); IL.ok( ); } // End of run0 public void run () throws Exception { run0 (); // recorded } // End of function } // End Macro Recording
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |