|
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 |
|
AutoLisp : Lisp für Rohransichten verschwunden ?
andi2050 am 31.03.2003 um 19:29 Uhr (0)
Hi Forum Heute wurde ein Beitrag mit dem Betreff: "Lisp zum zeichnen von Rohransichten" gepostet. Ich habe mir daraufhin die Mühe gemacht, eine Anwort mit LISP-Programm zu erstellen. Als ich die Antwort abschicken wollte, war der Beitrag verschwunden. Damit zumindest das LISP Programm aus der Zwischenablage befreit wird , habe ich diesen neuen Beitrag erstellt. Grüße Andi
|
In das Form AutoLisp wechseln |
|
AutoLisp : Lisp für Rohransichten verschwunden ?
andi2050 am 31.03.2003 um 19:31 Uhr (0)
Hi Mario Ich habe mir erlaubt Dein LISP etwas abzuändern ! Es ginge zwar noch etwas eleganter, aber auf die schnelle... Wenn ich richtig verstanden habe, dann soll die Ursprungslinie am aktuellen Layer bleiben und die neuen Linien auf dem neuen Layer liegen. Der Layer wird im LISP erstellt, aber nicht aktiviert. Nachdem das neue Element erstellt wurde wird der Layer des Elements geändert. Das hat den Vorteil, daß bei einem Programmabbruch nicht der Layer "005b...." aktiv ist, sondern der aktuelle Layer. Da ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Lisp für Rohransichten verschwunden ?
Mario Scht am 01.04.2003 um 11:01 Uhr (0)
Hallo Andi, danke vorab für Deine Bemühungen. Ich bin absoluter Lisp-Anfänger und habe die Aufgabe ins Netz gestellt, da ich nach anfänglichen Extemschwierigkeiten keine andere Hoffnung sah. Dann kam ich auf den Befehl COMMAND und nach geraumer Tüftelei hat er genau das gemacht, was ich wollte. Dann habe ich mal drauf los geschrieben und es hat geklappt. Da ich das Forum nicht vollpflastern wollte habe ich den Beitrag wieder entfernt. Anbei mein Code. Er erstellt gleich die zugehörigen Layer und legt alle ...
|
In das Form AutoLisp wechseln |