|
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 : AutoLisp in AutoCad-LT
marvin101010 am 24.03.2004 um 16:38 Uhr (0)
also...der Extender ist echt gut... halt wie du schon selber anmerktest keine vlax-geschichten... vl-sowieso funktioniert dagegen absolut einwandfrei... viel spass ------------------ ...so long and thanx for all the fish!
|
| 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 : entmake mtext
Bernd10 am 25.03.2004 um 09:19 Uhr (0)
Hallo, hier die Gruppencodes (Entwicklerdokumentation AutoCAD 2002): MTEXT Die folgenden Gruppencodes gelten für Elemente vom Typ MTEXT. Zusätzliche Informationen neben den hier beschriebenen Gruppencodes finden Sie unter Gängige Gruppencodes für Elemente. Informationen zu den in dieser Tabelle verwendeten Abkürzungen und Formatierungen finden Sie unter Formatierungskonventionen in der Referenz. MTEXT-Gruppencodes Gruppencodes Beschreibung 100 Subklassenmarkierung (AcDbMText) 10 Einfügepunkt DXF: X-W ...
|
| 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 : "Solange bis...."
mapcar am 25.03.2004 um 12:11 Uhr (0)
Holger, tu dir selbst den Gefallen und hör auf deinen Namensvetter: Nimm cons und nicht append . Wirf mal die Suche an, da wirst du eine sehr ausführliche Begründung finden. Aber immerhin verzichtest du auf die Idee, eine Invasion von globalen Variablen zu erzeugen. Da hat dein Namensvetter ebenfalls Recht, er formuliert das aber viel zu milde. Das ist nämlich ein ausgesprochen schlechter Ansatz, vor allem, wenn man die Technik nicht hat/beherrscht, um diese Variablen lokal zu machen, obwohl sie nicht ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Variable??
Brischke am 25.03.2004 um 15:30 Uhr (0)
Hallo Moony, alle Variablen, die nicht in der Klammer nach dem (defun Name (..) stehen, sind Global. die Aufteilung in der Klammer selbst ist wie folgt: (defun Name (parameterA parameterB / variable1 variable2) ...) Eine Funktion, die so definiert ist, erwartet 2 Parameter, wenn diese aufgerufen wird. (defun vari_alert (Text /) (alert Text) ) (vari_alert hallo ) oder (setq vari1 Du da ) (vari_alert vari1) Nachlesen kannst du das auch in der Serie Einführung in Autolisp , zu finden auf meiner Seite ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : entmake mtext
tom.berger am 25.03.2004 um 20:07 Uhr (0)
Zitat: Original erstellt von fca_mi2: eine frage noch ! was ist im gc210 unter extrusionrichtung zu verstehen ? Damit wird das BKS, in dem das Element liegt, definiert. Tom Berger ------------------ Architekturwerkzeuge für AutoCAD: http://www.archtools.de
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Attributsdefinition auslesen
tom.berger am 25.03.2004 um 20:11 Uhr (0)
Zitat: Original erstellt von marvin101010: (setq testblock (car (entsel))) - Attributsblock deiner Wahl (setq attribut (entnext testblock)) - über entnext gerätst du an das erste Attribut des Blockes mit jedem weiteren entnext die nächsten, in der Reihenfolge der Attributsabfrage. (entget attribut) - du erhältst die eigenschaften (gruppencodes) des Attributes als Liste Damit kommst Du nur an die Attribute selbst, aber nicht an die Attributdefinitionen heran - ATTD ...
|
| 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 : Attributsdefinition auslesen
mapcar am 25.03.2004 um 20:57 Uhr (0)
Holger, nachdem ich heute eigentlich meinen Holger-Zustimmtag hatte... Da muss ich dir ganz klar widersprechen: Kannst ja darüber denken, was du willst - aber soll man das denn totschweigen? Das Problem hat doch jeder DAU sowieso, wenn er seine Blöcke redefiniert und dabei eine andere Anzahl von Attributen verwendet. Da hab ich schon oft staunende Kinderaugen erlebt;-) Ausserdem kann das durchaus sinnvoll sein, BlockDefs ohne AttDefs zu verwenden und sich dann die Attribute mit einem Tool dranzukleben. Die ...
|
| 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
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 |