Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Während LISP-Anwendung Systemvariable ein- und am Ende wieder ausstellen (Makro)?

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:  Während LISP-Anwendung Systemvariable ein- und am Ende wieder ausstellen (Makro)? (2113 mal gelesen)
BaCAD
Mitglied
Bauzeichner


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

Beiträge: 129
Registriert: 17.09.2008

AutoCAD 2016

erstellt am: 17. Feb. 2011 16:58    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

Ich wollte ursprünglich in den über ein Jahr alten "Pause in Makro"-Beitrag etwas schreiben, aber da scheint nach dem Klick auf "Antworten" einfach nichts zu passieren...


Ich habe mir von folgendem Beitrag die LISP-Datei runter geladen um interpolieren zu können: http://ww3.cad.de/foren/ubb/Forum54/HTML/016226.shtml#000009


Anscheinend ist das Resultat falsch, wenn die angeklickten Punkte einen Z-Wert aufweisen.

Daher wollte ich den LISP-Befehl (in diesem Falle ip) in ein Makro einbinden und dort vor dem Befehl die Systemvariable OSNAPZ umstellen, damit während dem Klicken der Z-Wert nicht berücksichtigt wird. Nach der LISP-Anwendung (die Eingaben via Tastatur und Klicks verlangt) sollte dann OSNAPZ wieder auf null gestellt werden.


Nur kriege ich das nicht hin - wenn das überhaupt möglich ist.

Sollte das Makro nicht einfach so aussehen?

^C^COSNAPZ;1;ip;OSNAPZ;0

So wird zwar OSNAPZ auf 1 umgestellt und der Befehl ip kann danach sogar durchgeführt werden, jedoch wird danach die Systemvariable nicht mehr geändert. Beim Befehl ip muss man zuerst klicken, dann die Höhe eintippen, wieder klicken und wieder eine Höhe eingeben und am Ende nochmals klicken und die Höhe wird einem dann in der Befehlszeile angezeigt.

Ist es möglich, OSNAPZ danach irgendwie per Makro wieder auf 0 zu schalten?

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

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 17. Feb. 2011 17:20    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 BaCAD 10 Unities + Antwort hilfreich

na integrier das Setzten der Sysvar einfach in das Lisp , (setvar "CMDECHO" ....) steht doch schon drin oder nimm bloß die x,y Koordinaten von getpoint ..

(setq A(getpoint))
(setq A (list (car A)(cadr A) 0))


------------------
      - 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

AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM
Inventor AutoCAD 2022, AIP 4-2022
Win 10

erstellt am: 17. Feb. 2011 17:56    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 BaCAD 10 Unities + Antwort hilfreich

Ich hab die Lisp Routine ein wenig überarbeitet, sodass das schalten von OSNAPZ nicht mehr nötig ist.
Zudem muss bei 3D Punktne jetzt nicht manuell der Höhenwert wieder eingegeben werden.
Code:
;TIP1052B.LSP:  INTERPOL.LSP     Utilities for Civil Engineers     (C)1994, Jeff Reimert
; Update Udo Hübner 17.02.2011

;===================ERROR HANDLER============
(defun ip_err (MSG)
   (alert(strcat "Error!: " MSG))
   (setq *error* OLDERR)
   (setvar"cmdecho" 1)
   (princ)
);end error defun
;===================MAIN PROGRAM=============
(defun C:IP (/ OLDERR PT1 PT2 PT3 EL1 EL2 D1 DLT M D2 M2 C)
   (setq OLDERR *error*)
   (setq *error* IP_ERR)
   (setvar"cmdecho" 0)
   (initget 1)
   (setq PT1(getpoint "\nSelect 1st Known Point: "))
   ; (initget 1)
   (if (not (setq EL1 (getreal (strcat "\nEnter the Elevation <" (rtos (caddr PT1))">:"))))
     (setq EL1 (caddr PT1)))

   (initget 1)
   (setq PT2(getpoint "\nEnter 2nd Known Point: "))
   ;(initget 1)
   (if (not (setq EL2 (getreal (strcat "\nEnter the Elevation <" (rtos (caddr PT2))">:"))))
     (setq EL2 (caddr PT2)))

   (initget 1)
   (setq PT3(getpoint "\nSelect point of Unknown Elevation: "))
   ;==calculations=====
   ;(setq D1(distance PT1 PT2) ; D1 muss die horizontale Länge sein, deshalb bei
   ; Abstandsberechnung mit distance nur die x und y Koordinate betrachten.
   (setq D1(distance (LIST (car PT1)(cadr PT1))(LIST (car PT2)(cadr PT2)))
      DLT(- EL2 EL1)
      M(/ DLT D1)
      D2(distance (LIST (car PT1)(cadr PT1))(LIST (car PT3)(cadr PT3)))
      M2(* M D2)
      C (rtos(+ M2 EL1) 2 2)
   );setq
   ;===================
   (princ (strcat "\nThe Elevation is: " c)) ;output
   (setq *error* OLDERR)
   (setvar "cmdecho" 1)
   (princ)
);end interpol defun
;============================================================
(princ "\nINTERPOL.LSP loaded... Start with IP")
(princ); end interpol.lsp



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

Udo Hübner
www.CAD-Huebner.de

[Diese Nachricht wurde von CAD-Huebner am 17. Feb. 2011 editiert.]

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

BaCAD
Mitglied
Bauzeichner


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

Beiträge: 129
Registriert: 17.09.2008

AutoCAD 2016

erstellt am: 20. Feb. 2011 19:18    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

Ich wollte mich noch bedanken für die abgeänderte LISP-Version. Sie funktioniert wunderbar.

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