|
AutoLisp : (410 . ???)
marvin101010 am 12.06.2003 um 10:54 Uhr (0)
hallo ihr götter des LISP ;-)) warum funzt das nicht??? (lay2 ist eine variable) (setq kopf (ssname (ssget x ((2 . blabla )(410 . lay2))) 0)) meldet mir: Fehlerhafter SSGET-Listenwert ------------------ alle wege führen nach rom...bis auf den mittleren!
|
In das Form AutoLisp wechseln |
|
AutoLisp : (410 . ???)
Geos am 13.06.2003 um 08:00 Uhr (0)
Hi Marvin Noch was grundsätzliches (in der Antwort von A.Mann bereits umgesetzt): Wenn Du den Layer (oder Blockname, Farbe, ...) in einer Variablen (lay2) gespeichert hast, musst Du (ssget X ....) mit (cons) bauen. (ssget X ( ...)) kannst Du verwenden wenn Du den Layer in Klartext reinschreibst zB. (ssget X ((8 . abc ) ...)) ). So stehts im Lisp-Handbuch von ACAD 12 - hab aber nicht überprüft, ob s noch gültig ist. Gruß, Ernst
|
In das Form AutoLisp wechseln |
|
AutoLisp : Dateinamen übernehmen
STP am 23.06.2003 um 12:13 Uhr (0)
Hallo ich bin kein Programmierer und habe kaum LISP Kenntnisse. Vielleicht kann mir irgendjemand helfen. Ich habe AutoCAD 2004, öffne eine beliebige Datei, kopiere mir über die Zwischenablage einige Elemente und schließe diese Datei wieder. Dann erstelle ich eine neue Datei mit Vorlage und kopiere diese Elemente hinein. Nun möchte ich die Datei wieder unter den Dateinamen der ursprünglichen Datei speichern und die alte überschreiben. Wie kann ich der neuen Datei den alten Dateinamen geben? Ich habe schon ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Dateinamen übernehmen
Brischke am 23.06.2003 um 12:53 Uhr (0)
Hallo Stffen, zunächst würde ich die Datei mit Pfad auslesen, dann würde es so aussehen. Code: (setq NAME (strcat (getvar DWGPREFIX ) (getvar DWGNAME )) f (open c:
ame.txt w ) ) (write-line NAME f) (close f) ;... (setq f (open c:
ame.txt r )) (setq NAME (read-line f)) (close f) (command _.saveas NAME) Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! 4 Neue Tool s im FreeDownload (gesamt 33)!?
|
In das Form AutoLisp wechseln |
|
AutoLisp : Problem mit mapcar
Brischke am 26.05.2003 um 15:37 Uhr (0)
Hallo Andrea, dann eben hier ;-) So sollte es gehen: (mapcar (lambda (L1 L2) (mapcar - l1 l2) ) (list (10 9 8) (7 6 5)) (list (1 2 3) (4 5 6)) ) - ((9 7 5) (3 1 -1)) Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Neue Tool s im Free-&Download Zugang zum Download schon gesichert?
|
In das Form AutoLisp wechseln |
|
AutoLisp : Problem mit mapcar
Brischke am 27.05.2003 um 08:30 Uhr (0)
Zitat: Original erstellt von mapcar: Probleme mit mapcar? Mit mapcar muss aber wirklich keiner einer Problem haben! *grien* [/code] [/B] Hallo mapcar, stimmt! - aber bei der Ergründung deiner Lösungen (manchmal) schon *grins*. Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Neue Tool s im Free-&Download Zugang zum Download schon gesichert?
|
In das Form AutoLisp wechseln |
|
AutoLisp : Problem mit mapcar
Dea am 23.06.2003 um 13:37 Uhr (0)
Eine späte Nachfrage noch zur Lösung (vorher bin ich nicht zum Durcharbeiten gekommen): Warum werden überall die gleichen Variablennamen genommen? Ich habe herumprobiert und mir ist (apply (lambda (a b) (mapcar (lambda (c d) (mapcar - c d))a b)) v) dann leichter verständlich vorgekommen und es funktioniert auch. Da meine Lisp-Kenntnisse nicht so riesig sind weiss ich nicht ob die vielen u s und v s vielleicht doch einen Vorteil haben und wenn ja welchen?
|
In das Form AutoLisp wechseln |
|
AutoLisp : Problem mit mapcar
Brischke am 23.06.2003 um 14:45 Uhr (0)
Hallo Dea, du kannst natürlich so viele Variablen vereinbaren, wie du gern möchtest. Schneller macht s das aber nicht. In diesem Fall gehts auch mit den 2en, da die Lambda-Funktion einen eigenen Namensraum hat. Warum also mit verschiedenen Variablen noch mehr Verwirrung stiften . Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! 4 Neue Tool s im FreeDownload (gesamt 33)!?
|
In das Form AutoLisp wechseln |
|
AutoLisp : MRUNumber
CADchup am 25.06.2003 um 15:50 Uhr (0)
Hi, versuche gerade, ein paar Standard-Einstellungen der Optionen per Lisp zu machen und stolperte über die Anzahl der zuletzt verwendeten Dateien . Ich würde die gerne autom. auf 9 stellen lassen, aber die betreffende Eigenschaft ist read-only. Soll heißen: (vla-get-mrunumber (vla-get-OpenSave (vla-get-preferences (vlax-get-acad-object)))) funktioniert, aber ein vla-put-mrunumber gibbet nicht! Kommt man da irgendwie noch anders ran? fragt grüßend CADchup ------------------ www.cadditions.de
|
In das Form AutoLisp wechseln |
|
AutoLisp : initget "2punkte"
Brischke am 26.06.2003 um 10:58 Uhr (0)
Hallo Jan, schau mal dort: http://ww3.cad.de/foren/ubb/Forum145/HTML/000136.shtml da gings um s Gleiche. Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! 4 Neue Tool s im FreeDownload (gesamt 33)!?
|
In das Form AutoLisp wechseln |
|
AutoLisp : Schon wieder mapcar
Brischke am 25.06.2003 um 15:44 Uhr (0)
Hallo Dea, ich würde so nicht rangehen. Bei mürde das spontan so aussehen: Code: (defun aussen1 (ptl /) (mapcar car (list (vl-sort (mapcar car ptl) ) (vl-sort (mapcar cadr ptl) ) (vl-sort (mapcar caddr ptl) ) ) ) ) Dein Konstrukt lässt sich nur auf eine Liste mit 3 Punkten anwenden. Hast Du aber immer nur 3? (vielleicht fällt mir ja noch was ein?) @Ulf, zum mapcar (lambda gab s hier in den Foren schon sehr viele Au ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Schon wieder mapcar
mapcar am 25.06.2003 um 16:06 Uhr (0)
Hallo Dea, der Ansatz ist super (das ist Lisp, kein Basic!) - nur ein kleiner Haken bei der Ausführung: Da ist eine Evaluationsstufe zu wenig im Spiel. CAR evaluiert zu # SUBR @027eef8c CAR - und das ist das, was da gebraucht wird (in XYZ), nicht der Name CAR, sondern der Funktionsinhalt. Ändere (car cadr caddr) in (list car cadr caddr) um, dann geht s, weil dann nicht die Namen, sondern die evaluierten Inhalte an mapcar durchgereicht werden. Code: (setq punktliste ((1 6 3)(2 5 7)(9 4 6))) (mapcar ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : BlackBoard unter 2004 langsamer und Daten-Container
marc.scherer am 13.06.2003 um 11:29 Uhr (0)
Hi Achim, *null-check* was meinst Du denn mit: Implementierung eines quasi-separaten und globalen Daten-Containers, der nicht Zeichnungs übergreifend ist Was ist er denn nu? global oder NICHT Zeichnungsübergreifend? Was hältst Du von ner ini-Datei? (Ich hab da geade was zum lesen und schreiben in Lisp gebaut... ------------------ Ciao, Marc
|
In das Form AutoLisp wechseln |