|
AutoLisp : funktionsaufruf
mapcar am 09.05.2003 um 01:12 Uhr (0)
nth/c?r: Das ist keine Frage der Effizienz, sondern der Konventionen. Warum z.B. gibt es die Funktionen (not) und (null) - intern sind die völlig identisch. Aber man verwendet not, wenn s um die logische Negation geht, und null, wenn man auf leere Listen testet. Und genauso nimmt man für Punkte(XYZ) eben c?r, aber für lange Listen nth. Und Schleifenzähler heissen immer i,j,k oder so - sicher, man kann sie auch ich-moechte-in-urlaub-fahren nennen. Das macht s aber nicht einfacher lesbar;-) car, cdr und cons ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : funktionsübergreifende funktionen
mapcar am 08.05.2003 um 09:59 Uhr (0)
Ben, jetzt wird es klarer, worum es dir geht. Zunächst mal der Aufruf (der abgesehen von den Grossbuchstaben keineswegs komisch aussieht - so sieht Lisp einfach aus): Werden an dieser Stelle (d.h. im Kontext des Aufrufs) diese beiden Sachen benötigt? Irgendwo ist natürlich ein weiter Begriff, aber es sieht nicht so aus. Lediglich (bw_getappcounter) benötigt sie, also ist es auch die Aufgabe von (bw_getappcounter), diese zu besorgen. Man könnte diese Art des Aufrufs als Aufweichen des Funktionsprinzips a ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : funktionsübergreifende funktionen
benwisch am 09.05.2003 um 19:24 Uhr (0)
hi axel, ich glaube, ich bin dem prinzip der effektivität ein stückchen näher gekommen... ich habe nun nach deiner erklärung folg. getan : hauptparameter setzen --------------------- file, onlyPath, curArea profil ...im hauptprogramm, da sich die innerhalb eines durchlauf s nicht verändern und ich sie häufiger brauche. weiterhin werden die module bw_curArea und bw_onlyPath nur einmal aufgerufen, es muß also auch nur einmal gearbeitet werden. bei anderen funktionen, die diese werte benötigen, schleife ich d ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Usprung von Blöcken in Layouts
Brischke am 07.05.2003 um 09:31 Uhr (0)
Hallo Heidi, anbei ein Tool, welches gewählte Blöcke in allen Layout s explodiert. Dennoch ein paar Ausführungen zum Prinzip Ich durchlaufe alle Elemente aller Layout s und wenn ein Block mit dem gesuchten Namen gefunden wird, dann wird dieser explodiert. Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Neue Tool s im Free-&Download Zugang zum Download schon gesichert?
|
In das Form AutoLisp wechseln |
|
AutoLisp : Usprung von Blöcken in Layouts
heidi am 07.05.2003 um 14:53 Uhr (0)
erst einmal vielen Dank an alle! @Axel danke für den Tipp, werde mich noch damit auseinandersetzen. @Heinz super, dein Lisp funzt. Das bringt mich schon ein ganzes Stück weiter. @Holger es klappt bei mir auch mit der bereinigten dwg nicht, teste aber weiter. Bericht folgt. Gruß an alle Heidi ------------------ Gruß Heidi
|
In das Form AutoLisp wechseln |
|
AutoLisp : Usprung von Blöcken in Layouts
nahe am 08.05.2003 um 07:03 Uhr (0)
Hallo Axel ich hab ja auch nicht gesagt, dass das die eleganteste Lösung ist. Da ich mich nur ab und zu mit LISP beschäftige, habe ich mich bis jetzt auch nicht mit Active-X auseinandergesetzt. Grüße Heinz
|
In das Form AutoLisp wechseln |
|
AutoLisp : Usprung von Blöcken in Layouts
Brischke am 08.05.2003 um 08:28 Uhr (0)
Hallo, wenn s ohne ActiveX läuft ist doch nicht schlecht - falls das Ganze auf LT mit LispExtender laufen soll. Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Neue Tool s im Free-&Download Zugang zum Download schon gesichert?
|
In das Form AutoLisp wechseln |
|
AutoLisp : Usprung von Blöcken in Layouts
Brischke am 09.05.2003 um 11:44 Uhr (0)
Hallo Heidi, da scheint irgendetwas mit dem ActiveX nicht richtig zu funktionieren. Diese Fehlermeldung deutet darauf hin. Auf jeden Fall scheint s wirklich an deinem Rechner zu liegen. Aber was? Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Neue Tool s im Free-&Download Zugang zum Download schon gesichert?
|
In das Form AutoLisp wechseln |
|
AutoLisp : Usprung von Blöcken in Layouts
Brischke am 09.05.2003 um 12:02 Uhr (0)
@Axel, ich mache genau das gleiche wie du. Als erstes steht (vl-load-com) drin. Daran kanns also nicht liegen, zudem dann auch die Fehlermeldung bzgl einer unbekannten Funktion kommen würde. Weshalb das ne vlx ist, hat nur damit zu tun, dass die Blöcke aus einer dcl ausgewählt werden können, und in der vlx ist dann alles beisammen. Habe Heidi auch schon den Quellcode geschickt - sie wollte den debugger mal drüber laufen lassen, hatte wohl aber noch keine Zeit dazu. Grüße Holger ------------------ Holger B ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Z-Koordinate auslesen
Brischke am 12.05.2003 um 15:43 Uhr (0)
Hallo Christian, mit (caddr(trans (0.0 0.0 0.0) 1 0)) Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Neue Tool s im Free-&Download Zugang zum Download schon gesichert?
|
In das Form AutoLisp wechseln |
|
AutoLisp : initget
Brischke am 13.05.2003 um 16:11 Uhr (0)
Hallo Georg, versuch s hiermit: (INITGET 1 5 10 25 50 100 ) (SETQ interv (atoi(getkword Intervall (5,10,25,50,100): ))) Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Neue Tool s im Free-&Download Zugang zum Download schon gesichert?
|
In das Form AutoLisp wechseln |
|
AutoLisp : Polylinien in Blöcken
mapcar am 15.05.2003 um 13:14 Uhr (0)
Nachtrag wg. der PM: Code: ;Lisp-Funktion (defun curve-area(curve-object / ) (vla-get-area(vlax-ename- vla-object curve-object)) ) ;AutoCAD-Befehl (defun c:curve-area( / curve-object) (if (member (cdr(assoc 0(entget(setq curve-object(car(nentsel)))))) ( LWLPOLYLINE POLYLINE SPLINE ELLIPSE CIRCLE ARC ) ) (curve-area curve-object) ) ) Geht mit Polylinien, Kreisen usw. in Blöcken und ausserhalb. Gruss, Axel ------------------ Meine AutoLisp-Seiten Meine private Ho ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Poly im Block die 2.
Brischke am 19.05.2003 um 17:47 Uhr (0)
Hallo Marvin, wenn du die Polylinie ändern möchtest, dann musst du die Blockdefinition ändern. Dazu mit (tblnext BLOCK ) die Blocktabelle durchlaufen, bis zu dem zu ändernden Block oder mit (tblobjectname BLOCK BLOCKNAME ) direkt auf den Block springen dann kannst du mit (entnext die Blockelemente (ATTDEF und LWPOLYLINE) durchforsten um diese dann mit (entmod zu modifizieren. Fertig! Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Neue Tool s im Free-&D ...
|
In das Form AutoLisp wechseln |