Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  PTC Creo Elements/Programmierung
  Ändern des aktiven Applikation per LISP

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO
  
MAIT übernimmt Kundenstamm von GMCAD, eine Pressemitteilung
Autor Thema:  Ändern des aktiven Applikation per LISP (754 mal gelesen)
DieGraetsche
Mitglied
Informatiker


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

Beiträge: 61
Registriert: 28.09.2007

WinXp Prof SP3
4 GB RAM
OSDM 2008; 2009(V17.00)

erstellt am: 24. Jun. 2010 12: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 zusammen,

Gibt es eine Möglichkeit per LISP die aktive Application zu ändern.
z.B. von Modeling nach ANNOTATION und wieder zurück?

Viele Dank schon mal für eure Hilfe,

Grüße, die Graetsche

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

der_Wolfgang
Moderator
Tastenhauer


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

Beiträge: 2296
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build10.0.19045.5737
● Drafting V17~V20.7@job
● Modeling V17~V20.7@job
● Windchill 12.1.2.6@job
● UWGM Client 13.0.0.1@job
● Taschenrechner
● Stift+Zettel V8.42

erstellt am: 24. Jun. 2010 14:50    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 DieGraetsche 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von DieGraetsche:
Hallo zusammen,

Gibt es eine Möglichkeit per LISP die aktive Application zu ändern.
z.B. von Modeling nach ANNOTATION und wieder zurück?


Ja.

.

.

.

.

.

.

.

Du willst auch wissen wie? 
Du weisst was das Integrationkit (IKIT) ist?
Du kennst den Index davon?
Du weisst das sich die "Teile" vom Modeling auch 'applications' nennen?
Dann hast du ja sicher sd-switch-application schon gefunden 

------------------
Seamonkey Firefox Thunderbird ● OSD Hilfeseite (de) / help page (en)NotePad++

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

NOBAG
Mitglied
Supportmanager


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

Beiträge: 610
Registriert: 13.06.2007

erstellt am: 25. Jun. 2010 07:01    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 DieGraetsche 10 Unities + Antwort hilfreich

der Befehl lautet dann vermutlich etwa so:
Code:
(oli::sd-switch-application "Annotation")
(oli::sd-switch-application "SolidDesigner")

Ich habe auch schon nach einer Funktion gesucht, um einfach zwischen den Modulen zu wechseln.
Ähnlich dem Alt+Tab im Windows...

Der Support sagte mir dazu:

Zitat:
Leider ist dieser Wechselschaltet nicht öffentlich. Da dabei nicht einfach zwischen zwei Modulen
umgeschaltet wird, sondern immer zwischen den beiden Letzten, ist die Programmierung doch
relativ aufwendig.

Vorstellbar wäre folgender Weg.
Das entspr. Event ermitteln für den Wechsel zwischen Modulen.
Hierbei eine Variable belegen mit dem letzten Modul.
Dann einen Befehl schreiben der zwischen diesen Modulen schaltet.
Diesen Befehl dann auf die Tastenkombination legen.

Wie eingangs erwähnt ist dies nicht direkt zugänglich. Also leider nur über eine
eigene Programmierung. Bitte lassen Sie mich es wissen, wenn Sie hierzu ein
Angebot benötigen.

Tia, vielleicht ist ja jemand hier, der sich genügend mit Integrationkit usw auskennt und dazu noch Lust und Zeit hat sowas gratis zu machen...

------------------
Gruss vom Thunersee, Joy
-- wer jeden Tag ein Schnitzel isst, der weiss nie wann Sonntag ist --

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

Crespo
Mitglied
Mausschubser


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

Beiträge: 33
Registriert: 19.10.2007

WM 2.0 - 17.0
MM 13.0 - 17.0
ME10 4.31 - 17.00
SD 3.0 - 17.00

erstellt am: 25. Jun. 2010 11: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 DieGraetsche 10 Unities + Antwort hilfreich

Was ist denn mit den Pfeilen <--> ganz unten rechts ? Die machen das doch auch ?

Wer das auf einer Taste mag, könnte ja sowas machen:

Code:

(in-package :MYPACKAGE)
(use-package :OLI)

(setq *MY-LAST-APPLICATION* nil)

(defun my-switch-application-event (from to)
(display (format nil "Switched from ~A to ~A" from to))
(setq *MY-LAST-APPLICATION* from)
)

(defun my-switch-application ()
(when *MY-LAST-APPLICATION*
(sd-switch-application *MY-LAST-APPLICATION*)
)
)
(export 'my-switch-application)


(display "SD-SWITCH-APPLICATION-EVENT:")
(display (oli:sd-unsubscribe-event "*SD-SWITCH-APPLICATION-EVENT*" 'my-switch-application-event))
(display (oli:sd-subscribe-event "*SD-SWITCH-APPLICATION-EVENT*" 'my-switch-application-event))


und die Funktion 'MYPACKAGE:my-switch-application auf eine Taste legen ...

------------------
Gruss aus der Palz
Crespo

[Diese Nachricht wurde von Crespo am 25. Jun. 2010 editiert.]

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

NOBAG
Mitglied
Supportmanager


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

Beiträge: 610
Registriert: 13.06.2007

erstellt am: 25. Jun. 2010 11:14    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 DieGraetsche 10 Unities + Antwort hilfreich

Klingt gut,
aber beim Laden dieses Codes meldet OSD einen Fehler:
Zitat:
LISP-Fehler:
Cannot use #<"OLI" package>
from #<"MYPACKAGE" package>,
because FRAME2:CANCEL_ALL and CANCEL_ALL
will cause a name conflict.

------------------
Gruss vom Thunersee, Joy
-- wer jeden Tag ein Schnitzel isst, der weiss nie wann Sonntag ist --

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

Patrick Weber
Mitglied
Konstruktionstechniker, Admin


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

Beiträge: 659
Registriert: 20.11.2006

Win11 Pro 23H2
Core i7-12700, 32GB RAM, Quadro P620
Creo Elements/Direct 19.0 M030
ModelManager 19.0
License Server 19.0 F000
clisp,VB.net,VBA,AHK,Python

erstellt am: 30. Jun. 2010 12: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 Nur für DieGraetsche 10 Unities + Antwort hilfreich


2d3dumschalten.gif

 
Einfach unter Werkzeuge ->Anpassen einen neuen Befehl anlegen mit folgender Befehlsaktion:
Code:

(LISP::COND
  ((OLI::SD-STRING= (OLI::SD-GET-CURRENT-APPLICATION) "SolidDesigner")
   (LISP::IF (OLI::SD-MODULE-ACTIVE-P "ANNOTATION")
       (FRAME2::PUT-BUFFER
           "cancel_all (oli::sd-switch-application \"Annotation\")")
       (UI::ACT_DEACT_MODULE :ACT "ANNOTATION"
           "MODULE-CONTROLLER-Applications-ANNOTATION-TB"
           '(STARTUP::ACTIVATE-ANNOTATION))))
  ((OLI::SD-STRING= (OLI::SD-GET-CURRENT-APPLICATION) "Annotation")
   (FRAME2::PUT-BUFFER
       "cancel_all (oli::sd-switch-application \"SolidDesigner\")")))

Den Befehl dann als Schaltfläche rausziehen, fertig. Sicher auch innerhalb eines LISPs verwendbar.

------------------
Grüße aus Sachsen
pw

[Diese Nachricht wurde von Patrick Weber am 30. Jun. 2010 editiert.]

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)2025 CAD.de | Impressum | Datenschutz