|
AutoLisp : LISP Buch ??
mapcar am 27.03.2003 um 22:06 Uhr (0)
Hi Gambrinus, richtig, wie Holger schreibt - erst stand da eine Woche. Das war aber ein Kompromiss mit jemand anders, der aber dann doch gegenstandslos wurde, deswegen habe ich den Text geändert. Ich hatte eigenlich 2 Wochen im Kopf - geh also mal von nächstem Wochenende aus. Du wirst sicherlich Verständnis dafür haben. Gruss, Axel ------------------ Meine AutoLisp-Seiten Meine private Homepage Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Meine Überze ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : LISP Buch ??
MA28 am 28.03.2003 um 10:15 Uhr (0)
Hi Axel! Sicher habe ich dafür Verständnis! Warte aber schon darauf voll durchzustarten mir LISP und deine Seite wird hier im Forum von jedem "verehrt". Werde es aber erwarten!!! ------------------ mfG Gambrinus
|
In das Form AutoLisp wechseln |
|
AutoLisp : Probleme mit Lambda ?
andi2050 am 30.03.2003 um 12:58 Uhr (0)
Hi LISP-Experten ! Wenn ich die untenstehende Funktion mit Text im Editor prüfen (LISP-Editor _VLIDE...)überprüfe, dann sind die Variablen (VTX_LIST NUM X ) als GLOBAL gekennzeichet. Diese habe ich aber deklariert ! Ich möchte aber keines Falls Globals erzeugen. (defun seg2vtx_list (seg_list / num vtx_list ) (setq num 0) (mapcar (lambda (x) (setq num (1+ num)) (setq vtx_list (append vtx_list (list (cons 10 (car x))) (list (cons 42 (caddr x)))) ) ) seg_list ) ) W ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Probleme mit Lambda ?
Brischke am 30.03.2003 um 20:24 Uhr (0)
Hallo Andi, so ganz weiß ich nicht, was die Funktion eigentlich machen soll. Das num ist vollkommen unnötig, wird ja auch im Lambda nicht benötigt. Wahrscheinlich hast du aber zum Posten hier einiges rausgelöscht. So, nun zu Deinem Problem. Innerhalb eines Lambda- ausdruck s existiert ein eigener Namensbereich. Diesen kannst du genau wie beim Defun auch deklarieren. (lambda (INPUTvar / LOKALvar)...) Deine Variablen sind lokal deklariert, sollten also bei Beendigung wieder auf nil gesetzt werden. Das X bere ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Probleme mit Lambda ?
Brischke am 30.03.2003 um 22:07 Uhr (0)
Hallo Andi, genau vom Lambda aus betrachtet sind die in der (defun deklarierten Variablen global. Wie oft ein mapcar ausgeführt wird - genauso oft wie die Liste lang ist. Ich denke diese Lösung ist Dir auch eingefallen. Ich weiß nun nicht mit welcher Listengröße Du es zu tun hast - möchte aber in diesem Zusammenhang auf mapcar s AutoLisp-Seiten verweisen. Diese sind z.Zt. aus Protest gegen den Krieg geschlossen, du kannst aber hier im Forum auch einige Beiträge zu Listen und der Verwendung vom (append . ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Probleme mit Lambda ?
andi2050 am 30.03.2003 um 22:40 Uhr (0)
Hi Holger Mapcar s Seiten kenne ich, hab s mir auch schon mal runtergeladen aber noch nie richtig gelesen. Ich programmiere zwar schon seit mehereren Jahren in LISP, aber so richtig verstehen fange ich erst an. Alte BASIC Zeiten lassen grüßen... Über Laufzeitprobleme habe ich mir bisher noch nie Gedanken machen müssen. Kann sein, daß in nächster Zeit noch einige Fragen auftauchen. Grüße Andi
|
In das Form AutoLisp wechseln |
|
AutoLisp : Probleme mit Lambda ?
mapcar am 31.03.2003 um 09:12 Uhr (0)
Hi Andi, zwei Kleinigkeiten noch, um Holgers Ausführungen zu ergänzen. Ich kenne mich zwar mit dem Lisp-Editor kaum aus, da ich ihn nicht benutze, aber ich weiss, dass es hier angebracht ist, das QUOTE durch FUNCTION zu ersetzen, also: (mapcar(function(lambda... Und dann noch ein Tipp, der mit der Sache an sich nichts zu tun hat: Wenn man mit mapcar eine Liste bearbeitet, sollte man einen deskriptiven Namen für das Argument auswählen, z.B. so: (mapcar (function (lambda(vertex / ) ... ) ) ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Probleme mit Lambda ?
andi2050 am 31.03.2003 um 15:54 Uhr (0)
Hi Mapcar Wenn ich QUOTE durch FUNCTION ersetze wird das X bei der Prüfung nicht mehr als Global ausgegeben. NUM und VTX_LIST werden nach wie vor als Globals ausgegeben.(Is mir aber wurscht, da ich jetzt weiß, daß es in Wirklichkeit keine sind !) Was bewirkt eigentlich FUNCTION genau ? In der Online Hilfe wird gesagt, daß der Compiler den LAMBDA-Ausdruck dann optimieren kann... Toll ! Aber was heißt das nun ??? Habe FUNCTION bisher ignoriert, da mir der Sinn unklar ist und das (QUOTE) kürzer zu schreiben ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Probleme mit Lambda ?
mapcar am 01.04.2003 um 02:06 Uhr (0)
Hallo Andi, beschäftigen tue ich mich schon lange damit - da muss ich selber schmunzeln, wenn ich dran denke. War wohl 90/91, als ich mir meinen ersten PC angeschafft habe, ein XT mit 8 MHz!!! Und da war ein AutoCAD 2.6 drauf - das hat mich irgendwie interessiert. Ich habe ein bisschen damit rumgespielt, habe rausgekriegt, wie man in Lisp programmiert, und ein halbes Jahr später bin ich zu einem AutoCAD-Händler gegangen und hab mal vorgeführt, was ich da so gemacht habe. Kam gut an, und seitdem bin ich in ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Probleme mit Lambda ?
andi2050 am 01.04.2003 um 15:38 Uhr (0)
Hi mapcar Glaub jetzt hab ich s gerafft - Danke ! Ich hatte mal unter ACAD14 ein LISP das gleichzeitig POLYLINIEN und LWPLOLYLINIEN verarbeiten sollte. Dazu modifizierte ich während der Laufzeit den Code entsprechend. Nach dem Update auf A2002 funzte das plötzlich nicht mehr. Ich konnte es mir damals nicht erklären und kickte einfach die alten POLYLINIEN raus. Jetzt kenn ich vermutlich den Grund... Eigentlich sch...(ade), daß A desk LISP vernachlässigt. LISP ist bestimmt ein Grund, warum ACAD so verbreite ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Formatgröße übergeben
Brischke am 31.03.2003 um 22:39 Uhr (0)
Hallo CADchup, da wirst du wohl um eine Umsetzungstabelle nicht umhin kommen. Ambesten alle Blattformate mit nem kleinen Tool rausschreiben lasse und diese dann manuell vergleichen und dann eine Umsetzungstabelle dazu aufbauen. Ich würde die gleichen Formate (mit unterschiedlicher Bezeichnug in ein Liste schreiben lassen, die ich dann nach dem gesucheten Wert durchforste. Spontan würde ich folgenden Aufbau wählen. Liste 1 (in der ich gleiche Formate zusammenfasse): ( ( A4 ISO A4 A4 Hochformat ) ( A3 ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Formatgröße übergeben
Brischke am 01.04.2003 um 12:22 Uhr (0)
Zitat: Original erstellt von CADchup: Hallo Holger, ... Das Problem ist zum Einen, dass die Namen der Papierformate der Drucker unterschiedlich sein können ( A3 A4 bei dem einen, ISO A3 Querformat ISO A4 Hochformat bei dem andern) und ich somit nie über (members) an das passende Format komme... Darum habe ich ja gesagt, dass du dir Liste vorher bauen mußt. Das kann man ja mit einem Tool geschehen lassen, welches die beiden Listen schreibt. Kannst ja in meinem Beispiel mal einen Anderen Dru ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Formatgröße übergeben
Brischke am 01.04.2003 um 21:10 Uhr (0)
Hallo CADchup, in der VLisp- Hilfe sind die Konvertierungs geschichten von Variant, safearray,... eigentlich drin. Da ich selber (im Moment) noch ein Verständnisproblem mit diesem vla-... habe, möchte ich hier keine Erklärung abgeben. Die könnte falsch und/oder verwirrend sein. Suche mal in der Hilfe nach safearray, da solltest du das Gesuchte auch finden. (Bei Fragen ...) Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Neue Tool s im Free-&Download Zugang zum Download ...
|
In das Form AutoLisp wechseln |