Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Lisp beenden!

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:  Lisp beenden! (1293 mal gelesen)
vision
Mitglied



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

Beiträge: 113
Registriert: 27.10.2003

AutoCAD 2015
Expresstools
Windows 10

erstellt am: 04. Jun. 2015 09:57    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


LINE_BRUCH.txt

 
Hallo,
das Lisp-Programm bricht eine überkreuzende Linie um 2.5 mm auf. Das funktioniert auch. Was aber nicht geht, ist das Programm mit der rechten Maustaste zu beenden (nur mit ESC-Taste).

Für Eure Unterstützung bedanke ich mich schon im Voraus.

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 04. Jun. 2015 10:06    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 vision 10 Unities + Antwort hilfreich

(schon wieder Klugsch ...)Auch wenn dein Posting lediglich eine Feststellung und keine Frage oder konkretes Hilfegesuch enthält .. Du musst deine Abbruchbedingung in der (while - Schleife bei Leer Eingabe so einstellen, dass aus der Schleife herausgegangen wird.

Mal über deinen Code geschaut:
Wenn (if (setq schn (getpoint "\n Schnittpunkt wählen: ")) Falsch(also Nil) ist, dann musst du (setq t_0 nil) setzen.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 04. Jun. 2015 10: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 vision 10 Unities + Antwort hilfreich

da müßtest du dein Prog umschreiben und einen Maus-Reaktor --> (vlr-mouse-reactor data callbacks)  einbauen

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 04. Jun. 2015 10:30    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 vision 10 Unities + Antwort hilfreich

Ich denke ein Mouse Reaktor ist hier Overkill.
Als Kompromiss kann man eine Option zur Beendigung des Befehls einbauen (hier Beenden).
Code:
(defun Init ()
  (setq
    Err     *error*
    *error* Fehler
    Osx     (getvar "OSMODE")
  )
)

(defun ReInit ()
  (setvar "OSMODE" Osx)
  (setq *error* Err)
  (redraw t_2 4)
  (princ)
)

(defun Fehler (s)
  (print (strcat "Fehler: " s))
  (ReInit)
)

(defun c:LINE_BRUCH (/ t_0 t_1 t_2 Err Osx)
  (Init)
  (vl-load-com)
  (setq t_0 T)
  (While t_0
    (setq t_0 nil)
    (While (not t_0) ; Diese Zeile auskommentieren, wenn Leereingabe
; oder danebenklicken = Nil auch zur Beendigung führen soll
      (initget "Beenden")
      (setq t_0 (entsel "\n Bruchlinie wählen [Beenden]: "))
    ) ;end while 2    ; Diese Zeile auskommentieren, wenn Leereingabe
; oder danebenklicken = Nil auch zur Beendigung führen soll
    (cond
      ((= t_0 "Beenden")
      (setq t_0 nil)
      )
      (t_0
      (setq t_1 (entget (car t_0)))
      (setq t_2 (car t_0))
      (redraw t_2 3) ;Linie ausleuchten!
      (setvar "OSMODE" 32)

      (if (setq schn (getpoint "\n Schnittpunkt wählen: "))
(progn
  (if (or (= (cdr (assoc 0 t_1)) "LINE")
  (= (cdr (assoc 0 t_1)) "LWPOLYLINE")
      )
    (progn ; dann ...
      (setvar "OSMODE" 0)
      (command "_break"
t_2
(vlax-curve-getPointAtDist
  (vlax-ename->vla-object t_2)
  (-
    (vlax-curve-getDistAtPoint
      (vlax-ename->vla-object t_2)
      schn
    ) ;vlax-curve-getDistAtPoint
    1.25 ; Bruchbreite -
  )
) ;vlax-curve-getPointAtDist
(vlax-curve-getPointAtDist
  (vlax-ename->vla-object t_2)
  (+ 1.25 ; Bruchbreite +
    (vlax-curve-getDistAtPoint
      (vlax-ename->vla-object t_2)
      schn
    )
  )
) ;vlax-curve-getPointAtDist
      ) ;end command
    ) ;end progn
  ) ; end if
) ;end progn
      ) ; end if schn
      ) ;end cond t_0
    ) ; end cond
  ) ;end while 1
) ;end defun



------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 04. Jun. 2015 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 vision 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CAD-Huebner:
Ich denke ein Mouse Reaktor ist hier Overkill.

... sehe ich auch so .. wollte aber auf die Möglichkeit, bezogen auf den konkreten Wunsch in der Fragestellung, hinweisen .. 

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Jürgen Scheeren
Mitglied
Energieanlagen Konstrukteur , CAD-Administrator


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

Beiträge: 262
Registriert: 03.04.2003

Autocad MEP 2016
win7x64bit

erstellt am: 04. Aug. 2015 11: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 vision 10 Unities + Antwort hilfreich


BK.LSP

 
Also ich benutze das kleine Helferlein, macht einen 2.5mm Bruch und beendet sich dann selber.....

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