Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Auswahl, bei nein abbruch

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:  Auswahl, bei nein abbruch (552 mal gelesen)
RobCraven
Mitglied
Konstrukteur


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

Beiträge: 107
Registriert: 30.01.2009

erstellt am: 10. Aug. 2010 08:45    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


Save.txt

 
Hallo,

ich beschäftige mich seit kurzem mit Macros in AutoCad mech 2008/2009. Ich möchte ein lisp schreiben, bzw habe auch schon damit angefangen welches Zeichnungen nachbearbeitet und abschliessend speichert.

Ich komme jedoch mit der Abfrage (JA/Nein) nicht klar, es soll so funktionieren, dass bei "Ja" das Macro weiter abgearbeitet wird, und bei "Nein" eine Ausschrift erfolgt und das Macro abgebrochen wird. Ich hatte es auch schon andersherum probiert (d.h. alles für "Ja" ins IF geschrieben), da scheitere ich aber daran, dass das bereinigen scheinbar nicht innerhalb eines IF funzt.
Ich hoffe ihr versteht, was ich meine. Ich hab auch schon auf diversen Seiten geschaut, auch hier im Forum gesucht, aber meiner Ansicht nach nichts passendes gefunden.


mfg
KJ.

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: 10. Aug. 2010 08:51    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 RobCraven 10 Unities + Antwort hilfreich

icvh denke, es ist ein Fehler im IF

Syntax ist so
(if (bedingung) (erüllt anweisung) (nicht erfüllt anweisung))

Das heisst diese Zeile macht genau folgendes

Wenn die Abfrage gleich "NEIN" ist, mach ein command Gridmode 0, ansonsten mach ein command Cancel

Code:

(if (= Abfrage "Nein") ;;bei nein abbrechen und ausschrift
  (command "Gridmode" "0")  ;; -> Erfüllt ANweisung
  (command "cancel")        ;; -> Nicht Erfüllt Anweisung
)


ich denke, du willst aber beide Commands machen bei Abfrage ="nein"

Code:
(if (= Abfrage "Nein") ;;bei nein abbrechen und ausschrift
    (progn
      (command "Gridmode" "0")
      (command "cancel")
    )
)

progn fasst nun beide command Anweisungen zu einer Lisp Anweisung zusammen

[Diese Nachricht wurde von fuchsi am 10. Aug. 2010 editiert.]

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: 10. Aug. 2010 08: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 Nur für RobCraven 10 Unities + Antwort hilfreich

Noch was

(command "cancel") ist etwas, nun ja ungewöhnlich
Dazu gebe es erstens (exit) in Lisp.

Noch schöner wäre eine Abbruch ohne Fehlermeldung


Code:
(defun c:sv()

(command "BEREINIG" "BL" "" "N")
;; Rahmen/Schriftkopf/Stempel auf AM_BOR
;;Stückliste auf AM_5
;;Zeichnungsblöcke auf 0
(command "_zoom" "_e")
(command "LIMMIN" "0.0000,0.0000")
(command "Griddisplay" "2")
(command "Gridmode" "1")
(command "LWDISPLAY" "EIN")
;;abfrage
(initget "Ja Nein")
(setq Abfrage (getkword "Sind Grenzen,Limiten und Linienstärke ok? [Ja/Nein] <Nein>:"))
(if (not Abfrage) (setq Abfrage "Nein")) ;;if


(if (= Abfrage "Nein") ;;bei nein abbrechen und ausschrift
    (progn ;; alles bei NEIN machen
      (command "Gridmode" "0")
      (prompt"\nNacharbeiten --->LISP neu starten mit sv")(princ)
    )
    (progn ;; alles bei JA machen
      (command "Gridmode" "0")
      (command "BEREINIG" "AL" "" "N")
      (command "_qsave")
      (command "_close" "n")
    )
) ;;if
(princ)
) ;;defun



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: 10. Aug. 2010 09: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 RobCraven 10 Unities + Antwort hilfreich

(defun c:sv()
  (command "_purge" "_bl" "" "_n")
  (command "_zoom" "_e")
  (setvar "LIMMIN" '(0 0))
  (setvar "Griddisplay" 2)
  (setvar "Gridmode" 1)
  (setvar "LWDISPLAY" 1)

  (initget "Ja Nein")
  (if(=(getkword "Sind Grenzen,Limiten und Linienstärke ok? [Ja/Nein] <Nein>:")"Ja")
    (progn
      (setvar "Gridmode" 0)
      (command "_purge" "_AL" "" "_N")
      (command "_qsave")
      (command "_close" "_n")
    )
    (progn
      (setvar "Gridmode" 0)
      (prompt"\nNacharbeiten --->LISP neu starten mit sv")
    )
  )
)

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

RobCraven
Mitglied
Konstrukteur


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

Beiträge: 107
Registriert: 30.01.2009

erstellt am: 10. Aug. 2010 11:03    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 euch beiden für die rasche Hilfe hat super funktioniert

KJ.

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