|
AutoLisp : Befehlsablauf in Lisp
CeZet am 06.08.2004 um 15:53 Uhr (0)
Hi zusammen Ich habe am morgen bereit im AutoCAD-Forum einen Beitrag verfasst zum Thema Lisp oder Script für meine Wünsche. Anfangs versuchte ich es in Lisp, stieg dann aber mittags um wieder auf Script und muss nun damit auch wieder aufgeben, da es zuwenig kann für meine Bedürfnisse. Besser gesagt, ich müsste die Schnellauswahl im Script benützen können, geht aber nicht so wie ich gelesen habe. Das heisst, umsteigen auf Lisp. ich hoffe ihr helft mir bei meinen Startschwierigkeiten: Im grossen und ganzen g ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Befehlsablauf in Lisp
mapcar am 09.08.2004 um 00:41 Uhr (0)
Schönes Beispiel für das, was ich immer wieder (und ob s jemand hören will oder nicht) hier erzähle. So sollte ein Interface aussehen: (defun c:machwas() (machwas(objekte-wählen)) (princ) ) (defun machwas(objekte / ) (...) ) Hätte sich Adesk an diese einfachen Grundregeln gehalten, wäre das jetzt kein Problem. Lokale Funktionen wie in burst.lsp sind ein nettes Feature - aber da hat man etwas übertrieben: Alles lokal zu (defun c:burst()...) ist zuviel des Guten, so bleibt nur noch ein Befehl ohne Para ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Befehlsablauf in Lisp
CADmium am 09.08.2004 um 08:19 Uhr (0)
@Axel : Volle Zustimmung, bloß bei mir sieht s immer so aus (defun machwas(objekte / ) (...) ) (defun c:machwas() (machwas(objekte-wählen)) (princ) ) Du siehst, dein Predigen hat zumindest bei mir Anklang gefunden! Tja, und zu burst ... wo fängt das Plagiat an ? - aber dein Tipp zum alleine Rausfinden ist wohl das sicherste ------------------ - Thomas -
|
In das Form AutoLisp wechseln |
|
AutoLisp : Befehlsablauf in Lisp
mapcar am 09.08.2004 um 19:20 Uhr (0)
Ich wollte eigentlich noch eine 100%ig Plagiatfreie Lösung liefern. Mein Ansatz: Genau das, was man immer macht, wenn solche Inkompatibilitäten vorliegen: Man lädt die Datei burst.lsp , biegt aber temporär den load-Vorgang ein bisschen um, so dass das Ganze dann passt. Auf diese Weise kann man mal eine SCHEME-Funktion im LISP-Interpreter fahren oder umgekehrt. Naheliegend der Gedanke, die wenigen notwendigen Änderungen am burst-sourcecode on the fly durchzuführen. Etwa so: Code: (defun m-burst( / o ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Einsatz
Petra_Sp am 10.08.2004 um 14:44 Uhr (0)
Hallo Leute vor einer ganzen Weile hab ich mal gefragt um Teile eines Strings und von sehr sehr super Tipps bekommen!! Nun wollte ich etwas Fragen bezüglich einer Antwort von CADmium - Thomas: Folgendes: Diese Funktion schneidet bei einer Anzahl die Verzeichnissen ab. Wie kann ich so eine Funktion einsetzen-benutzen??? Mittels Lisp, Button, Text, oder etwas anderem damit ich mein Ergebnis bekomme???? Der Tag ist schon sehr sehr lange, bitte helft mir! (defun Zchnstr ( VERZEICHNISSE / RETURN) (if (=(type ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Einsatz
Brischke am 10.08.2004 um 14:52 Uhr (0)
Hallo Petra, dieser Code ist eine Subfunktion. Du kannst diesen in deinem Programmcode verwenden. (setq ergebnis (Zchnstr PfadangabeAsString)) 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 : Num.LSP (Einfügepunkt)
Alpschorsch am 10.08.2004 um 14:52 Uhr (0)
Hallo, ich bin s nochmal! Möchte jetzt den Einfügepunkt etwas nach unten verschieben! z.B. 10 Einheiten! Geht doch bestimmt mit den Gruppencodes? Wo muß ich suchen! Hab in der LISP-Hilfe gesucht und ein bischen gefunden, aber noch nicht das richtige! Kenn mich da noch nicht so aus! Bitte um einen kleinen Hiep auf den Hinterkopf! Nich so doll! Mfg Alpschorsch
|
In das Form AutoLisp wechseln |
|
AutoLisp : Num.LSP (Einfügepunkt)
CADmium am 10.08.2004 um 15:30 Uhr (0)
@Caddfm .. schöne Möglichkeit mit einfachen Mitteln ans Ziel zu kommen!! @Alpschorsch: wenn du es gleich in dein Tool implementieren willst, anbei mal ein Codfragment: (setq DATEN (entget(car(entsel)))) (if (not(equal (cdr(assoc 11 DATEN)) (0.0 0.0 0.0))) (progn (setq XYZ (cdr(assoc 11 DATEN))) (entmod (subst (cons 11 (list (car XYZ) (- (cadr XYZ) 10) (caddr XYZ) ) ) ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Einsatz
Brischke am 10.08.2004 um 15:47 Uhr (0)
Hallo Petra, dann fangen wir mal ganz am Anfang an. Was willst du überhaupt machen? a) Du schreibst gerade ein Lisp-Programm, und willst diesen Code verwenden b) Du willst die Pfadangabe einfach irgendwo in der Zeichnung als Text oder Attributwert, oder oder oder haben Schreib mal ganz genau, was du vorhast! 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 : Einsatz
Brischke am 11.08.2004 um 09:11 Uhr (0)
Hallo Petra, ganz so einfach ist dein Problem nicht zu lösen, denn die im Block augenscheinlich als Text enthaltenen RTEXT-Elemente müssen in der Blockdefinition durch Text-Elemente ersetzt werden, damit diese dann im AutoCAD ohne ETools erkannt werden. Das kann man entweder manuell mit Referenz bearbeiten machen, was natürlich relativ aufwendig ist, wenn man das in 100 Zeichnungen machen muß, und zum anderen hast du dann immernoch nicht die Pfadangabe im Text stehen, was dann zusätzlich eingetragen werd ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Gleiche Blöcke schieben
Proxy am 12.08.2004 um 14:36 Uhr (0)
Hi, ich habe da etwas im CAD.DE Forum gefunden das mir die x Blöcke relativ zum Basispunkt und ihrem Drehwinkel um eine einzugebende ZE verschiebt jedoch habe ich da kleine Probleme: ich habe es so gemacht dass ich einen Block einklicke dieser dann als Referenz ... (setq block (entsel
VORGABEBLOCK WÄHLEN: ) block (if block (car block) ) ) (if (and block (= INSERT (cdr (assoc 0 (entget block)))) ) (setq bname (cdr (assoc 2 (entget block))) bang (* (/ (cdr (assoc 5 ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Gleiche Blöcke schieben
Proxy am 12.08.2004 um 15:00 Uhr (0)
Gott &% § ... einfach genial ... 10 U s ------------------ Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language? Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF
|
In das Form AutoLisp wechseln |
|
AutoLisp : ltscale in lips datei
cadffm am 12.08.2004 um 16:04 Uhr (0)
Dann überhaupt nicht !? - sorry,aber was möchtest du ? (setvar ltscale WERT) damit könntest du den Wert von LTSCALE oer Lisp ändern, hoffe es hilft. ------------------ - Sebastian -
|
In das Form AutoLisp wechseln |