Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Oje Reactor

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 Autodesk Produkte
Autor Thema:  Oje Reactor (456 mal gelesen)
dan_rather
Mitglied
Techniker HLK


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

Beiträge: 97
Registriert: 09.12.2003

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

Hallo zusammen,

das Thema Reactor wurde hier schon des öfteren Besprochen.
Aber trotz aller Themenbeiträge werde ich nicht daraus schlau.
Wäre nett wenn mir dummy mal einer erklären könnte wie ich einen Reactor anwenden muss der bei einem Rechtsklick einen Befehl abbricht und dann die Lisp Datei weiter verarbeitet.
Hier mal ien codefragment:
(if (= KA_ART "0")
    (progn

      (setq PKT1 (getpoint " Erster  PUNKT :"))
      (setq KA_start (getvar "lastpoint"))
      (setq PKT2 (getpoint PKT1 " Zweiter PUNKT :"))
      (setq KA_ende (getvar "lastpoint"))
      (setq ENTF (distance PKT1 PKT2))

      (command "_line" PKT1 PKT2)
      !!!!!Reactor rechte Maustaste gedrückt und Bitte mit Lisp weitermachen!!!!!!
      (setq hilfslin (entlast))

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

cad-intensiv
Mitglied
CAD-Anbieter


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

Beiträge: 31
Registriert: 14.06.2005

erstellt am: 26. Jul. 2005 12:16    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 dan_rather 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von dan_rather:
Hallo zusammen,

das Thema Reactor wurde hier schon des öfteren Besprochen.
Aber trotz aller Themenbeiträge werde ich nicht daraus schlau.
Wäre nett wenn mir dummy mal einer erklären könnte wie ich einen Reactor anwenden muss der bei einem Rechtsklick einen Befehl abbricht und dann die Lisp Datei weiter verarbeitet.


Das dürfte mit einem Reaktor nicht funktionieren, da Du damit keinen laufenden Befehl abbrechen kannst/darfst.

Aber die gute Nachricht ist: dafür brauchst Du so, wie Du es in Deinem Codebeispiel machst, auch keinen Reaktor, denn dort kontrolliert ja Dein LISP-Programm den Befehlsaufruf selbst.

Im Prinzip brauchst Du nur mit
(command "._line")
den Befehlsablauf zu starten, und kannst dann mittels GRREAD (siehe Online-Hilfe) die Tastatur- und Mauseingaben überwachen. Wenn ein rechter Mausklick kommt, dann folgt solange ein
(command)
nach dem anderen, bis alle laufenden Befehle abgebrochen sind (dafür gibt's eine Systemvariable, deren Namen mir gerade nicht einfällt). Ansonsten folgt ein
(command input)
wobei input natürlich das ist, was das GRREAD bis zu einem <RETURN> als Befehlseingabe zusammengebastelt hat.

Beim Abbruch durch (command) in einer WHILE-Schleife musst Du darauf achten, dass Deine Lisp-Funktion nicht selbst als AutoCAD-Befehl deklariert ist, bzw. Du musst die Abbruchbedingung der Schleife entsprechend ändern.

Robert

------------------
Lisp-Seminare in Wien am 25. und 26. Sep 2005 und später in München, Frankfurt, Köln , Berlin ... -> Infos unter cad-intensiv@gmx.de

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

dan_rather
Mitglied
Techniker HLK


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

Beiträge: 97
Registriert: 09.12.2003

erstellt am: 26. Jul. 2005 12:25    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

Danke Robert!

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

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


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

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 27. Jul. 2005 11: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 dan_rather 10 Unities + Antwort hilfreich

Für mich stellt sich erstmals die Frage, wass soll dein
(command "._line" ...) machen !

1. lediglich Zeichnen der Linie von pkt1 bis pkt2 und fertig
dann heisst das
(command "_line" PKT1 PKT2 "")


2. oder soll der Benutzer nach den 2 Punkten noch beliebige weitere linienzüge zeichenn können, biss er mit der rechten Maus oder enter aufhört

dann funktioniert das so

(command "_line" PKT1 PKT2)

(setq pkt pkt2)
(while (setq pkt (getpoint "nächster Punkt" pkt))
(command pkt)
)
(command "")

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

Ing. Anton Fuchs
WWW.FFZELL.AT.TC

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