|
AutoLisp : max. Zeichenanzahl in Variablen / Funktionen
Paulchen am 07.12.2005 um 12:32 Uhr (0)
Vielen Dank an alle! Scheinbar habe ich einen kleineren Diskussionsbedarf geweckt...Entschuldigend muß ich gestehen, daß ich aus der "Nicht-Programmierer-sondern-Ingenieur-der-bißchen-mit-Lisp-rumspielt"-Ecke (so ähnlich laut mapcar ) komme. Ich möchte vermeiden, daß ich bereits am Anfang grobe Fehler mache. Eine gewisse Eleganz will ich mir schon selbst abverlangen, zumal man sich später viel Ärger und Arbeit erspart, vom "Spott" der wirklichen Lispler mal ganz abgesehen!@Holger: Danke für den Link, hätt ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Herkunft eines Commands
Goofy007 am 12.12.2005 um 13:47 Uhr (0)
Hallo Forum,ich habe zwei Fragen an euch:1. Man kann im Autocad Commands mittels (defun C: ...) selber erzeugen. Kann man hinterher abfragen woher so ein Command kommt?Ich habe zB. den Befehl xy der halt irgend was macht. Und nun möchte ich wissen woher der kommt (zB. in welchem Lisp-File wurde er definiert, bzw was macht er?).2. Kann ich feststellen welche Parameter eine Funktion benötigt ohne den Quellcode zu kennen?mfg Didi
|
In das Form AutoLisp wechseln |
|
AutoLisp : Herkunft eines Commands
Brischke am 12.12.2005 um 13:56 Uhr (0)
Du kannst dir im _appload - Dialog_appload die geladenen Anwendungen ansehen, das schränkt die Suche nach dem entsprechenden Lisp vielleicht etwas ein.------------------Holger BrischkeCAD on demand GmbHIndividuelle Lösungen von Heute auf Morgen.
|
In das Form AutoLisp wechseln |
|
AutoLisp : suche
highway45 am 20.12.2005 um 13:08 Uhr (0)
Ich komm grad hier durch Zufall vorbei:Auch die Suche nach "initget" und dann Beschränkung auf "cadmium" bringt nicht das gewünschte Ergebnis: http://ww5.cad.de/index.php/Lisp/index.php?research=initget&category=&forum=145&member=CADmium&opt=ctx&ord=dat ------------------ Matthias Werbung: Kinderbücher
|
In das Form AutoLisp wechseln |
|
AutoLisp : Prüfen ob Zahl
Dober Heinz am 21.12.2005 um 16:23 Uhr (0)
Hallo LisplerHabe diese Lisp zum Prüfen ob Zahl, beim ersten Beispiel funkt es.Aber beim zweiten nicht mehr habe keine Ahnung warum.Bitte um eure Hilfe.----------------------------------------------------------------------(defun str-zahl-am-ende (teststring / zaehler stringende zahl-am-ende) (setq zaehler 0) (while (numberp (read (setq stringende (substr teststring (- (strlen teststring) zaehler))))) (setq zahl-am-ende (read stringende)) (setq zaehler (1+ zaehler)) )zahl-am-ende)----------- ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Prüfen ob Zahl
marc.scherer am 21.12.2005 um 18:33 Uhr (0)
Hallo Heinz,könnte es sein, dass Du die nützlichen Debug-Funktionen der VLisp-IDE gar nicht benutzt?Solltest Du aber. Hier kannst Du nämlich ne ganze Menge über die Funktionsweise des Lisp-Interpreters lernen indem Du bestimmte Ausdrück überwachen läßt und Deine Proggies Schrittweise arbeiten läßt. Dann ist es auch überhaupt kein Problem für Dich herauszufinden was genau Deinen Fehler verursacht:(read ".1")Was genau soll denn Deine Funktion machen?Soll da am Ende n Integer oder Real rauskommen?Guck Dir mal ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Prüfen ob Zahl
Dober Heinz am 21.12.2005 um 19:10 Uhr (0)
@ MarcDas Lisp soll Prüfen ob die Strings eine Zahl sind.200.1 sollte rauskommen 1 ist Zahl.200.11 sollte rauskommen 11 ist zahl, die will ich dan um eins erhöhen.mit diesen Symbol geht es ja / aber mit Punkt habe ich ein Problem.bei 200/1 kommt dan 1 raus, die kann ich dan erhöhen.Wird dann 200/2 das funkt super so. danke für Antwort. ------------------ Heinz
|
In das Form AutoLisp wechseln |
|
AutoLisp : Linie zeichnen und verschieben
CADmium am 23.12.2005 um 20:11 Uhr (0)
sorry, was soll das werden?zum verschieben und kopieren .. 3 mm (eigentlich Zeichnungseinheiten) sind der Betrag des Verschiebevektors, aber wo ist die Richtung??prinzipiell ist in Lisp ne Menge machbar, aber du mußt schon genauer schreiben, was du willst.in etwa könnten aber die Fragmente, die du willst, so aussehen:1:(progn(setq START(getpoint "
Start: "))(setq ENDE (getpoint "
ENDE: "))(command "_line" START ENDE "")(setq LINE(entlast))(command "_move" LINE "" (0 0 0) (0 3 0)))2.(progn(setq LINE(car(ent ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Linie zeichnen und verschieben
Paulchen am 24.12.2005 um 16:38 Uhr (0)
Seltsam. Habe Deine Zeilen in AutoCAD per Strg+C und Strg+V eingefügt; funktioniert einwandfrei! Welche Acad-Version verwendest Du (Profil)? Wie lädst Du die Funktion? Über das Menü oder aus Lisp heraus? Beschreibe bitte Dein Vorgehen etwas genauer. WANN taucht die Meldung auf? Direkt beim Laden oder erst, wenn Du "(test_move)" in der Kommandozeile eingegeben hast? Oder ist die Funktion einem Button hinterlegt? Dann könnte es an den Zeilenumbrüchen liegen...Freddy :~}
|
In das Form AutoLisp wechseln |
|
AutoLisp : Linie zeichnen und verschieben
stk am 25.12.2005 um 08:36 Uhr (0)
Es tut mir leid, aber ich habe bisher mit Autocad LT gearbeitet und mußmich erst in die Vollversion und Lisp reinfinden und erstmal sehen,wiedas ganze so funktioniert.Hätte ich Ahnung von Lisp,dann hätte ich nichthier nachgefragt,ob mir jemand diesen Code schreiben kann.Ich wollte Dich keinesfalls demotiviren, aber der Weihnachtsstreß war doch zuvieldes guten.Oder ich habe meine Frage zum falschen Zeitpunkt gestellt.Ich entschuldige mich vielmals.Frohes Fest
|
In das Form AutoLisp wechseln |
|
AutoLisp : Linie zeichnen und verschieben
CADmium am 25.12.2005 um 09:17 Uhr (0)
Ist zwar Weihnachten, aber da ich sowieso die Kiste mal anschalten mußte, um Software für den Digiknipser zu installieren ... wenn du dich in Lisp einarbeiten willst, sindMapcars Seiten erste Wahl und hier gibs das Lisp-Handbuch zur 14er Version..------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
In das Form AutoLisp wechseln |
|
AutoLisp : Linie zeichnen und verschieben
Brischke am 25.12.2005 um 18:26 Uhr (0)
Zitat:Original erstellt von stk:... ob mir jemand diesen Code schreiben kann. ...Hallo stk,zur Info (auch wenn Weihnachten ist) : Dies ist nicht das Wunschforum, indem man Code bestellen kann. Hier wird eine Menge Code ausgetauscht, das ist richtig. Zweck des Forums ist jedoch bei Problemen der Lisp-Programmierung Hilfe zu finden und/oder zu geben.Ein frohes Fest wünschtHolger------------------Holger BrischkeCAD on demand GmbHIndividuelle Lösungen von Heute auf Morgen.
|
In das Form AutoLisp wechseln |
|
AutoLisp : Command definieren
Goofy007 am 27.12.2005 um 14:36 Uhr (0)
Hallo Forum,Kann mir bitte jemand den Unterschied zwischen folgenden Befehlen erklären?Code:(defun c:CMD_Name () (vla-runmacro(vlax-get-acad-object) "MeinMakro"))(defun c:CMD_Name () (vl-vbarun "MeinMakro"))Ich habe festgestellt, daß MeinMakro bei der ersten Variante nicht mit Autocad kommunizieren kann.so führt zb. die AnweisungCode:varPunkt = ThisDrawing.Utility.GetPoint(, "Punkt zeigen")in der ersten Variante des Commands zu einem Programmabsturz, während sie in der zweiten Variante tadellos funktionier ...
|
In das Form AutoLisp wechseln |