|
AutoLisp : Namen und Ablageort der Zeichnung
Brischke am 24.03.2004 um 09:40 Uhr (0)
Hallo Andreas, beides kannst du aus Systemvariablen ermitteln (getvar DWGNAME )- Dateiname (getvar DWGPREFIX )- Verzeichnis Das ganze dann den Variablen zuweisen. (setq name (getvar DWGNAME );- Dateiname verzeichnis (getvar DWGPREFIX );- Verzeichnis ) Verbinden dann mit (strcat name verzeichnis) Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat!
|
In das Form AutoLisp wechseln |
|
AutoLisp : AutoLisp in AutoCad-LT
WolfgangE am 24.03.2004 um 09:55 Uhr (0)
Hallo Lisp-Gemeinde, mal ne Grundsatzfrage (bin übrigens Anfänger): wenn ich ein paar AutoLisp-Routinen programmiere und über den VLISP-Editor in eine FAS kompiliere, kann ich dann davon ausgehen, dass das Ding auch auf AutoCad-LT läuft? Ist wirklich reines AutoLisp, kein einziger VLISP-Befehl. Ich hab schon ein wenig rum-gegooglet , die Antwort müsste ja sein, würde ich sagen. Ich hätte nur noch mal gern die Bestätigung der Spezialisten. Besten Dank und schönen Tag, WolfgangE ------------------ An Op ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : "Solange bis...."
Brischke am 24.03.2004 um 16:19 Uhr (0)
(while Bedingung ;hier mach was ) So heißt das in Lisp. Bei Fragen ... Grüße Holger (Habe im Moment keine Zeit, deshalb nur so kurz) ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat!
|
In das Form AutoLisp wechseln |
|
AutoLisp : "Solange bis...."
Brischke am 24.03.2004 um 18:15 Uhr (0)
Hallo Holger, ähm .. Lisp ist hervorragend dazu geeignet mit Listen zu hantieren, deshalb würde ich dir empfehlen, die Listenbearbeitungsfunktionen mal anzuschauen. Ich programmiere schon eine Weile, habe auch selber bereits mit variablen Variablennamen gespielt aber wirklich gebraucht habe ich dieses noch nicht. Mal ein paar Stichworte (Suchworte) für die Hilfe zum Suchen: cons - assoc - nth - mapcar - lambda - apply - append - reverse - vl-sort - ... Dein Konstrukt könnte dann wie folgt aussehen: C ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Attributsdefinition auslesen
Manuel Sauter am 25.03.2004 um 08:30 Uhr (0)
Guten Morgen vielen Dank für Eure Unterstützung. Habe eine LISP gefunden. Gruss Manuel
|
In das Form AutoLisp wechseln |
|
AutoLisp : while verlassen
Brischke am 25.03.2004 um 10:16 Uhr (0)
Gar nicht. [ESC] löst einen Abbruch aus. Setze doch die Bedingung so, dass du keinen Abbruch brauchst. Du kannst ja dem (entsel ..) auch ein Initget mit Keywörtern voranstellen, und hinterher die Rückgabe von (entsel..)testen. also in etwa so: (while (/= antw Nein ) (initget Ja Nein ) (setq antw(entsel
Weitere Objekte wählen? [Ja/Nein] Nein : )) (if (not antw)(setq antw Nein )) (if (= ENAME (type antw)) (setq obj (car antw)) ) ) Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Attributsdefinition auslesen
Brischke am 25.03.2004 um 20:32 Uhr (0)
@Tom sicher ist das alles möglich. Auf diese Weise kann man, obwohl es ein und derselbe Blockname ist, die Inserts/Attribute verschieden aufzubauen. Ich persönlich halte davon überhaupt nichts, und finde es nicht gut, dass du diese Möglichkeiten auch noch propagierst. Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat!
|
In das Form AutoLisp wechseln |
|
AutoLisp : while verlassen
Brischke am 26.03.2004 um 12:18 Uhr (0)
Hallo Georg, dafür gibt es die *error* Funktion, die das dann macht. Schau mal dort - http://ww3.cad.de/foren/ubb/Forum145/HTML/000435.shtml Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat!
|
In das Form AutoLisp wechseln |
|
AutoLisp : Mandelbrot
mapcar am 26.03.2004 um 16:21 Uhr (0)
In der Zeile (if (setvar z (complex x y))... hast du doch so einen Fall: (defun complex(real imag / )(list real imag)) (defun realpart(cmplx / )(car cmplx)) (defun imagpart(cmplx / )(cadr cmplx)) (setq myC(complex 3 2)) = (3 2) (realpart myC) = 3 (imagpart myC) = 2 Bis dahin ist das doch allerbanalstes Lisp. Wie gesagt, soweit wird doch noch gar nix gerechnet. Erst bei + , aber das hier: (+ (3 2) 1.5734462) funktioniert nun mal nicht so. Und es kommt noch mehr: (setq z (complex x y) ... (setvar ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Pläne automatisch in Layout einfügen
Revilo am 27.03.2004 um 11:47 Uhr (0)
Hallo ihr, ich bin ein abslouter Lisp n00b. Deshalb wende ich mich hier an Euch. Gibt es eine Möglichkeit die es mir erlaubt verschiedene plänme über ein Lisp script Automatisch in ein Layouts einzufügen. Ich habe mal ein Muster angehängt welches ich gerne in die Layouts einfügen will genauer die einzelnen blätter / pläne in die Layouts einfügen. Wenn ja wie sieht die möglichkeit aus. Gearbeitet wird mit Acad 2004. Danke Euch für eure hilfe. MFG olli PS. Welche seite würdet ihr mir empfehlen um Lisp zu le ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Mandelbrot
tom.berger am 27.03.2004 um 16:43 Uhr (0)
Zitat: Original erstellt von mapcar: Komplexe Zahlen als Liste von 2 Elementen speichern, dann ist realpart = car und imagpart = cadr. Die Zeiten, wo es noch ganz einfach ging (setq realpart car imagpart cdr) sind aber in AutoLisp leider vorbei. Hallo Axel, Warum? Das funktioniert noch wie schon immer: (setq realpart car) # SUBR @0222ef8c CAR (realpart (1 2 3)) 1 Sogar mein uraltes objectiveCAD funktioniert noch immer, das ja on the fly parametrische Objekte als LISP-Funktionen definiert. Was ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Pläne automatisch in Layout einfügen
Revilo am 27.03.2004 um 17:43 Uhr (0)
Schoneinmal danke für die links. Leider finde ich mich darin noch nicht so gut zurecht aber übung macht den meister. Kann mir evt. einer nen ansatz zeigen wie ich anfange. Ich weiß nicht welche operationen / befehle ich in das Lisp script eingeben muss die Layouts zu erstellen. Danke
|
In das Form AutoLisp wechseln |
|
AutoLisp : Datenbankeinträge.
valerich am 28.03.2004 um 16:49 Uhr (0)
Hallo Zoran, es ist natürlich möglich auf Grund einen Bauteilnummer die Bauteilbezeichnung und die maße einzufügen, wenn du die Daten im DB hast. Du musst folgende Schritte vornehmen: Bauteil mit der IMOS-Funktion einfügen - Bauteilnummer auslesen - Zeile mit der entsprechenden Bauteilnummer im DB finden und die Bauteilbezeichnung und die maße auslesen - die Daten in die Zeichnung einfügen. Das alles kann man in LISP vorbereiten. Wenn du noch Fragen hast, antworte ich dir gern. Gruß Serghei
|
In das Form AutoLisp wechseln |