|
Lisp : quit
WolfgangE am 30.09.2003 um 11:37 Uhr (0)
Hallo Lispler, hab auch den Befehl (COMMAND "QUIT" "J") am Ende einer Lisp stehen. Diese Lipst tut nichts weiter, als ein (COMMAND "_Plot" ...) aufzurufen, danach eben das QUIT.Das Programm wird aber nicht geschlossen. Fehlermeldung: Unbekannter Befehl "J".Das heißt, die Antwort "ja", ob ich die Änderungen verwerfen will, wird nicht angenommen, die Zeichnung bleibt offen. Wenn ich den Quit-Befehl in die Kommandozeile reinkopiere, funktionierts hingegen.Wer kann helfen?Danke und ciao,WolfgangE
|
In das Form Lisp wechseln |
|
Lisp : quit
WolfgangE am 30.09.2003 um 13:09 Uhr (0)
Hat sich vorerst erledigt. Ich rufe den Befehl jetzt über eine SCR-Datei auf. Hier gebe ich als getrennte Befehle QUIT und J ein, dann funktionierts.Wenn trotzdem noch wer die Lösung hat, wie das (COMMAND "QUIT" "J") aus einer LISP aufrufen kann, ich bin immer noch daran interessiert. Ciao,WolfgangE
|
In das Form Lisp wechseln |
|
AutoLisp : DCL-Felder positionieren
ManfredMann am 29.09.2003 um 16:26 Uhr (0)
Hallo Experten! Ich habe seit einiger Zeit DCL-Fenster in meine Lisp eingebunden, aber es ist mir nicht gelungen die Positionierung der Felder richtig zu gestalten. Links- bzw. Rechtsbündigkeit kann ich kaum erreichen, sowie Zentrierung dieser Ferder, oder Texte. Gibt es einen Trick wie man die alignment Befehle anwendet, oder gibt es andere Steuerbefehle? Wer hat Erfahrung & könnte mir helfen? : column { : edit_box { key = dd_spos_ug ; allow_accept = true; alignment=centere ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Obejkte auf Layer legen
Walter Zettlitzer am 01.10.2003 um 11:40 Uhr (0)
Hallo zusammen, ich habe mir aus verscheidenen Vorlagen angehängtes Lisp gebastelt, das auch schon gut funktionert. Es wird unter anderem pro Klick eine Ordnungsnummer und die Koordinaten in die Zeichnung geschrieben und ein Punkt gezeichnet. Ich hätte nun gerne die Punkte auf einem Layer liegen, die Ordnungsnummern auf einem zweiten und die Koordinaten auf einem dritten. Ist das einfach zu realisieren? Mein Problem ist die Abarbeitung der (zugegeben nicht idealen) comand-Befehle. Vielen Dank, Walter [Die ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Obejkte auf Layer legen
Brischke am 01.10.2003 um 11:50 Uhr (0)
ähhh ... Wo ist die angehängte LISP? Holger ------------------ Holger Brischke (defun - Lisp over night! ...mit erweitertem Leistunsspektrum...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Obejkte auf Layer legen
Brischke am 01.10.2003 um 13:55 Uhr (0)
Hallo Walter, am besten, du stellst bevor du das (command ..) aufrufst, den gewünschten Layer ein. (setvar CLAYER Layer1 ) (Command Text Pkt 0 NR) (setvar CLAYER Layer2 ) (Command Text (rtos (car pkt))) (setvar CLAYER Layer3 ) (Command Text (rtos (cadr pkt))) (setvar CLAYER Layer4 ) (Command Text (rtos (caddr pkt))) (setvar CLAYER Layer5 ) (Command _point pkt) Prüfe aber vorher ob diese Layer auch in der zeichnung existieren, sonst gibts einen Fehler Prüfung könnte so a ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Obejkte auf Layer legen
Brischke am 01.10.2003 um 14:19 Uhr (0)
Hallo Walter, ich will ja nicht meckern, nur ein Hinweis. Mit der (command..)-Programmierung tut man sich keinen Gefallen. Verstellt der User was am System, dann kann die Befehlsfolge sehr unterschiedlich sein, und dein Programm funzt nicht mehr. Deshalb schreibe die Elementdaten direkt in die Zeichnungsdatenbank. Das geht mit (entmake..). Damit bist du unabhängig von irgendwelchen Einstellungen. Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! ...mit erweitertem ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Obejkte auf Layer legen
Walter Zettlitzer am 01.10.2003 um 15:06 Uhr (0)
Hallo cadwieseil, Georg, Holger, mit (command -layer se ... habe ichs zuerst erfolglos probiert, die Listenverarbeitung funktioniert nicht wie gewünscht, der Layer wird erst ganz zum Schluß umgestellt, wie oft bei command-Programmierung. Leider funktioniert es mit setvar genauso wenig, auch die Methode von cadwiesel ist leider erfolglos. @Georg: Du kannst Deine Methode vereinfachen und statt der zwei Zeilen (command -layer ma... und später (command -layer se ... gleich nur ersteres mit ma verwend ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Obejkte auf Layer legen
Walter Zettlitzer am 01.10.2003 um 16:42 Uhr (0)
Die Texthöhe ist schuld! Muss ich das verstehen? Standareingestellt ist bei uns hier 0. Wenn ich was anderes einstelle, funktioniert textsize nicht mehr, das ich aber oft verwende. Setze ich die Höhe auf 1, funktioniert mein eigenes Lisp-File nicht mehr!?! Lässt sich das erklären? Gruss, Walter @Marvin: Bei Höhe = 0, so war es bisher: Der Aufruf (setvar clayer 2 ) wird NICHT ausgeführt: (setvar clayer 1 ) (Command Text Pkt 0 NR) (setvar clayer 2 ) (Command Text (rtos (car pkt))) ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Obejkte auf Layer legen
Walter Zettlitzer am 01.10.2003 um 16:54 Uhr (0)
Ok, dass mein Lisp nicht mehr funktioniert, liegt daran, dass mal die Texthöhe abgefragt wird, mal nicht. @Georg: Dasselbe wird wohl für sinngemäß auch für Dein Lisp gelten, welches in Deiner dwg funktioniert, nicht aber mit der Höhe 0. Warum hast Du die Befehle umprogrammiert (Ich sehe da z.B. (SETQ pkt (polar pkt (/ (* pi 3) 2) (* as 1.3)))... )?? Interessiert mich, insbeonders, da Dein File klappt und meins nicht ;-) Das kann doch nicht an der Texthöhe liegen und wird sicher mit Höhe 0 auch zum La ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Obejkte auf Layer legen
Brischke am 01.10.2003 um 18:11 Uhr (0)
Hallo Walter, das ist das was ich mit obigen Beitrag meinte. Die Befehlsfolge ändert sich je nach Einstellung. Teste mal den Textbefehl mit einem Stil, der die Höhe 0 hat, und dann einen der eine Höhe ungleich 0 auweist. Du wirst sehen, dass die Befehlsabfolge in der Befehlszeile eine andere ist. Das kannst du mit (command kaum bewerkstelligen. Morgen will ich mal sehen, dass man die (Commands durch (entmake) rausbekommt. Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over n ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Obejkte auf Layer legen
Brischke am 02.10.2003 um 10:58 Uhr (0)
Hallo Walter, das mit dem (entmake ..) ist gar nicht so schwer. Tippe folgende Anweisung in der Befehlszeile ein: (entget(car(entsel))) Das was dann im Textfenster steht sind die Elementdaten, welche du in ähnlicher Form auch zur Erzeugung von Objekten benötigst. Die einzelnen Elemente sind immer aus (Bezeichner . Wert) Die Bezeichner kannst du in der DXF-Referenz nachlesen. Nahezu generell kann man aber sagen, dass die Gruppencodes -1, 100, 5, 330 in einer (entmake-Liste nichts zu suchen haben, da diese d ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Script-fähige XREF-Pfad-Binden-Routine
CAD-Tötti am 02.10.2003 um 21:22 Uhr (0)
Hi, ich möchte foldendes Problem lösen: ich brauche eine Scriptfähige Lisp-Routine, die XREFs mit der Option Einfügen bindet. Dabei sollen geclipte XREFS hinterher als geclipte Blöcke erhalten bleiben und nicht einfach verschwinden. Hat jemand von Euch eine gute Idee für einen LISP-Befehl ? Danke, CAD-Tötti :-)
|
In das Form AutoLisp wechseln |