Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  wie gebe ich einem lispbefehl eine eingabe mit?

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:  wie gebe ich einem lispbefehl eine eingabe mit? (1735 mal gelesen)
michelangelo
Mitglied



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

Beiträge: 158
Registriert: 08.04.2004

Win XP, ACAD 2002 ExpressTool vom ACAD 2000

erstellt am: 25. Mai. 2004 08:24    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

also ich rufe in einem lisp ein lisp auf

(c:explode_all) ;das ist ein lisp von marc.scherler

wie kann ich im einem wert mit geben?

z.B.

(C:explode_all "ja") wie geht das?

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: 25. Mai. 2004 08: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 michelangelo 10 Unities + Antwort hilfreich

Hallo Michelangelo,

die mögliche Übergabe von Parametern wird in der aufgerufenen Lisp-Datei festgelegt.

(defun msg (TEXT /)
(alert TEXT)
)
(msg "Texttext")

Du wirst dir dann also die Lisp-Datei dementsprechend anpassen müssen, dass du diesen Parameter gleich mitgeben kannst.
Allgemein:
(defun FunktionsName (argument1 argument2 / lokaleVariable1 lokaleVariable2)
;...
)
(FunktionsName WertfürArgument1 WertfürArgument1)

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

Treffen Sie (defun auf dem Autodesk Anwendertreffen am 15.06. in Steyr/Österreich!

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: 25. Mai. 2004 08:46    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 michelangelo 10 Unities + Antwort hilfreich

Holger meint das sicher so :

(defun C:EXPLODE_ALL (/ INDEX AUSWAHLSATZ OBJFILTER ASLENGTH)
  (command "_.-layer" "_thaw" "*" "_unlock" "*" "_on" "*" "")
  (setq OBJFILTER (cons 0 "DIM*,INSERT,*POLYLINE,HATCH"))
  (if (not (setq AUSWAHLSATZ
                  (ssget "_I"
                        (list OBJFILTER (cons 410 (getvar "ctab")))
                  ) ;_ end of ssget
          ) ;_ end of setq
      ) ;_ wenn kein pickset vorh.
    (progn
      (setq AUSWAHLSATZ
            (ssget
              "_X"
              (list OBJFILTER (cons 410 (getvar "ctab")))
            ) ;_ end of ssget
      )                            ; nimm alle
      (if AUSWAHLSATZ
        (progn
          (setq INDEX    -1
                ASLENGTH (sslength AUSWAHLSATZ)
          ) ;_ end of if
          (repeat ASLENGTH ;_ end of sslength
            (command "_.explode"
                    (ssname AUSWAHLSATZ (setq INDEX (1+ INDEX)))
            ) ;_ end of command
          ) ;_ end of repeat
          (princ (strcat "\n>> "
                        (itoa ASLENGTH)
                        " << Objekt(e) aufgelöst. "
                ) ;_ end of strcat
          ) ;_ end of princ
        ) ;_ end of progn
        (princ "\nKeine auflösbaren Objekte gefunden!")
      ) ;_ end of if
    ) ;_ end of progn
  ) ;_ end of if
  (princ)
)

@MARC ... kein (vlax-invoke-methode Objekt 'Explode) ?

------------------
- Thomas -

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 25. Mai. 2004 09:23    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 michelangelo 10 Unities + Antwort hilfreich

Hi CADmium,
@: "... kein (vlax-invoke-methode Objekt 'Explode)?"

Kannte ich da noch nicht :-).
's is relativ alt, damals wußte ich NOCH weniger über Lisp als heute.

@Michel Anderswo:
Marc SCHERER heißt das, nicht Scherler... So viel Zeit muß sein :-)


------------------
Ciao,
Marc

[Diese Nachricht wurde von marc.scherer am 25. Mai. 2004 editiert.]

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

michelangelo
Mitglied



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

Beiträge: 158
Registriert: 08.04.2004

Win XP, ACAD 2002 ExpressTool vom ACAD 2000

erstellt am: 25. Mai. 2004 09:29    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 das gibt 10 U's

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: 25. Mai. 2004 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 michelangelo 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CADmium:
Holger meint das sicher so :

(defun C:EXPLODE_ALL (/ INDEX AUSWAHLSATZ OBJFILTER ASLENGTH)
.....



@CADmium
Nein, das meine ich nicht so.
Die Frage war nicht, ob jemand mal eine Lisp ändern könnte, sondern ob und wie man einer Lisp-Routine Parameter mit übergeben kann. Die Routine, die auch nicht beigefügt war, musste ja nur als Bsp herhalten.

EDIT>>Scheinbar meinte michelangelo das doch wie du es verstanden hattest, denn die von ihm angesprochenen Us sind bei mir nicht angekommen, so dass ich davon ausgehe, dass ihm meine Antwort nicht geholfen hat.<<EDIT

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

Treffen Sie (defun auf dem Autodesk Anwendertreffen am 15.06. in Steyr/Österreich!

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