Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Lsp über Button starten

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:  Lsp über Button starten (1691 mal gelesen)
Bauvermesser
Mitglied
Vermesser


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

Beiträge: 460
Registriert: 18.03.2006

AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,

erstellt am: 10. Dez. 2006 13:22    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 will einige LSP über Buttons starten welche ich nur wenig brauche
Frage:
1. was ist der Unterschied zwischen den beiden Befehlen oder welcher ist der bessere
^C^C^P(if (null F:/xx/LSP-TOOLS/(load"EDIT-SOLL"))(princ);EDIT-SOLL
^C^C(if (not f:/xx/lsp-tools/(load "fla-bere.lsp"));fla
2. sind die Befehle auch ohne Einschränkung anzuwenden wenn ich sie doch 3,4 mal in der selben Zeichnung starten muss,;
wäre für Hinweise dankbar,
-allen eine schöne Weihnachtszeit

------------------
Gruß vom Bauvermesser;

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 10. Dez. 2006 13:43    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 Bauvermesser 10 Unities + Antwort hilfreich

Hallo

(if (null
oder
(if (not

machen bei Deinem Beispiel das gleiche und zwar: wenn das Programm XX nicht geladen ist, laden.

Wenn Du das (if ... nicht verwendest, wird das Programm XX nochmals geladen, auch wenn es schon geladen war.

Gruß
Theodor

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: 10. Dez. 2006 16:54    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 Bauvermesser 10 Unities + Antwort hilfreich

Sieh dir in dem Zusammenhang auch mal die Funktion (autoload ... ) an

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

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: 11. Dez. 2006 08:39    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 Bauvermesser 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Bauvermesser:
Hallo,
1. was ist der Unterschied zwischen den beiden Befehlen oder welcher ist der bessere
^C^C^P(if (null F:/xx/LSP-TOOLS/(load"EDIT-SOLL"))(princ);EDIT-SOLL
^C^C(if (not f:/xx/lsp-tools/(load "fla-bere.lsp"));fla


Es gibt keinen, weil beide totaler Blödsinn sind. Entweder hat das Forum Dir den Text hier zerhauen, oder Du hast ihn nicht korrekt eingegeben...

Die allgemeine Form des Lisp-Anteils der Menüanweisung lautet:

Code:

(Wenn (nichtvorhanden Symbolname)(dann (lade Dateiname))(ansonsten))

Ein nichtvorhandener Symbolname läßt sich sowohl mit null als auch mit not
überprüfen.
Der Dateiname kann als Fullpath angegeben werden, oder aber wenn im Suchpfad vorhanden
nur als Dateiname. Wobei es hier unerheblich ist ob man die Dateierweiterung ".lsp" mit
angibt.
Das princ am Ende der Lisp Anweisung soll verhindern, das die Rückgabe der If Anweisung
in der Befehlszeile angezeigt wird.

In folgender Form wären die Sachen lauffähig:

Code:

(if (null C:EDIT-SOLL)(load "EDIT-SOLL"))(princ);EDIT-SOLL;

(if (not C:FLA)(load "fla-bere.lsp"));fla;


Handelt es sich bei der Lisp Funktion nicht um ein "defun c:"; sprich Define Function Command;
könnte die Anweisung so aussehen:

Code:

(if (null my-fine-func)(load "my-fine-lisp-file"))(princ);(my-fine-func);

Oder auch so:

Code:

(if (null my-fine-func)(load "my-fine-lisp-file"))(my-fine-func);

Zu den Steuerzeichen in Menümakros mal in der Hilfe schauen unter:
"Verwenden von Sonderzeichen und Steuerzeichen in Menümakros"

Da findet sich die Bedeutung der folgenden und weiterer Steuercodes:

^c^c In Menümacros führt ein zweimaliges ESCAPE aus um jeden laufenden Befehl im Vorfeld abzubrechen.

^p Aktiviert oder deaktiviert MENUECHO

; Entspricht der EINGABETASTE

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

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: 11. Dez. 2006 08: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 Nur für Bauvermesser 10 Unities + Antwort hilfreich

ok, vielleicht ist es mit Kanonen auf Spatzen schießen, aber um ganz sicher zu gehen... 

(if(or(=(type(eval my-fine-func))'SUBR)
      (and(/=(load "my-fine-lisp-file" "ERROR")"ERROR")
          (=(type(eval my-fine-func))'SUBR)
      )
  )
  (my-fine-func)
)
   

(=(type(eval my-fine-func))'SUBR) testet, ob Symbol im Speicher und eine aufrufbare Routine

(/=(load "my-fine-lisp-file" "ERROR")"ERROR") ... gint 'T zurück, wenn Datei geladen werden konnte ..

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

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: 11. Dez. 2006 09:01    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 Bauvermesser 10 Unities + Antwort hilfreich

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

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

Bauvermesser
Mitglied
Vermesser


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

Beiträge: 460
Registriert: 18.03.2006

AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,

erstellt am: 11. Dez. 2006 10: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

Danke der ausführlichen Erläuterung, bei dem Reinkopieren der Befehle hat sich eine Klammer davon gemancht, aber die Erläuterung hilft mir sehr die Dinge zu verstehen,
schöne Weihnachten

------------------
Gruß vom Bauvermesser;

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