|
AutoLisp : Scheitelpunkt x / Kontollpunkt
Brischke am 10.06.2003 um 19:51 Uhr (0)
Hallo Andrea, ich habe mir zwar die Zeichnung nicht angesehen, aber mal in Dein Lisp reingeschaut. Versuche es mal mit folgendem Code. Dieser ermittelt den/die Schnittpunkte von 2 Elementen. Falls du wissen willst, was diese Zeilen anrichten , dann schau mal auf Axel s VL-Seiten, da solltest du diesen Code auch finden. Code: (defun intersect(ent1 ent2 / ar) (vl-load-com) (setq ar (vlax-invoke-method (vlax-ename- vla-object ent1) IntersectWith (vlax-ename- vla-object ent2) ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Scheitelpunkt x / Kontollpunkt
Brischke am 12.06.2003 um 08:40 Uhr (0)
Hallo Andrea, ein Toleranzwert ist nicht möglich. Was heißt eigentlich, schneiden sich nicht direkt? Entweder die Linien schneiden sich - oder nicht! Du könntest natürlich die Linien in eine Ebene Projezieren und dann die Schnittpunkte ermitteln, aber ob dir das weiterhilft? Ich denke, du solltest die Linien genauer der Körperkontur anpassen, dann schneiden die sich auch. Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! 4 Neue Tool s im FreeDownload (gesamt 33 ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : mtext --> text
Brischke am 16.07.2003 um 10:03 Uhr (0)
Hallo Attilio, prinzipiell ist das sicher machbar, man muß nur aus dem Text die Font s auslesen. Problem ist (zwar jetzt nicht in der Bsp-Zeichnung), dass innerhalb eines MTEXT auch mehrere Font s genutzt werden. Gehst du da mit Ursprung drauf, werden entsprechend der Fonts einzelne Textobjekte erzeugt. Es ist dann nicht mehr ein Textobjekt, nicht einmal je Zeile, sondern in einer Zeile werden einzelne Textobjekte erzeugt, und ob das dann das Ziel ist? Überleg Dir das noch mal, ob das dann wirklich so sein ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Layerschlüssel in ACAD-Mechanical
Brischke am 17.07.2003 um 08:26 Uhr (0)
Hallo Thomas, die Zeilen: (setq e1 (entget (TBLOBJNAME layer (nth n lst)) ( RAK )) xd (cdr (assoc -3 e1)) Fragen nur EED s der Applikation RAK ab. Dies wird jedoch nicht die sein, die für das Mechanical-Layermanagement verantwortlich ist. Nimm mal an Stelle des RAK ein *, dann werden alle EED s ausgegeben. (setq e1 (entget (TBLOBJNAME layer (nth n lst)) ( * )) xd (cdr (assoc -3 e1)) Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! I ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Auswahlsatz - nach Farbe filtern?
Brischke am 10.07.2003 um 16:12 Uhr (0)
Hallo Jürgen, dann sucht man nicht mehr nach der Farbe, sondern nach den Layern, die alle Rot sind. Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Irgendwann muß man schlafen, deshalb: +!+!+Urlaub vom 01.08.-30.08.2003+!+!+
|
In das Form AutoLisp wechseln |
|
AutoLisp : Auswahlsatz - nach Farbe filtern?
Brischke am 11.07.2003 um 10:45 Uhr (0)
Hallo Jürgen, dann nimmst du einmal die Variante Layer SOWIESO +Farbe VONLAYER und das andere mal, nur die Farbe FARBNR . Beides addiert ergibt dann, das was du suchst. So kann das dann aussehen: Code: (defun ssget:Farbe (farbe vLayer / at autom as) (if vlayer (setq at T autom (apply strcat (mapcar (lambda (S) (if at (progn (setq at nil) S );progn (strcat , S) ) ) (apply append (mapcar (lamb ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Auswahlsatz - nach Farbe filtern?
Brischke am 21.07.2003 um 11:40 Uhr (0)
Hallo Wisch, Code: (setq AS (ssget _X )) (mapcar (lambda (EL) (setq AS(ssdel EL AS)) ) (append (ssget:Farbe 7 T) (ssget:Farbe 7 nil) ) ) (mapcar entdel (bau_elemli AS)) damit sollte es dann gehen (in Verbindung mit dem vorherigen Code-Zeilen) Bei Fragen... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Irgendwann muß man schlafen, deshalb: +!+!+Urlaub vom 01.08.-30.08.2003+!+!+
|
In das Form AutoLisp wechseln |
|
AutoLisp : Layer aufruf aus DCL
Brischke am 29.07.2003 um 17:08 Uhr (0)
Hallo Waldemar, so wie es Helmut beschrieben hat, sollte es gehen. Ich halte eine derartige Vorgehensweise jedoch nicht für so gut. Ich trenne in den Funktionen generell die Benutzereingaben von der eigentlichen Arbeitsfunktion . Somit hat man sehr leicht die Möglichkeit aus einem Tool mit Dialogfenster eines zu basteln, welches nur in der Befehlszeile arbeitet. Außerdem ist es in vielen Fällen so, dass die Dialogfenster vom Aufbau her gleich sind, nur eben die Bezeichner der Felder, oder die Listen mit a ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Layer aufruf aus DCL
Brischke am 30.07.2003 um 13:32 Uhr (0)
Hallo Waldemar, Hallo Theodor, hier nun mal ein schnell zusammen geschossenes Beispiel Ich habe ein Dialogfenster, eine Lisp. In der Lisp sind insgesamt 4 Funktionen definiert. Rechteck zeichnen und 2 Zahlen multiplizieren, jeweils 1x mit und 1x ohne Dialogfenster. Bei Fragen ... Grüße Holger Code: ;;;Hauptprogramm - Multiplikation mit DIA (defun c:mal (/) (main_sub multipliziere "Multiplikation" "Faktor 1" "Faktor 2") (princ) ) ;;;Hauptprogramm - Multiplikation ohne DIA (defun c:-mal (/) (main ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : koordinate checken
Brischke am 31.07.2003 um 10:47 Uhr (0)
Hallo Marvin, mit Code: (ssget _X (list (-4 . and ) (0 . LINE ) (-4 . or ) (cons 10 Koordinate) (cons 11 Koordinate) (-4 . or ) (-4 . and ) ) ) geht das eleganter - aber ob am Ende das Ergebnis tatsächlich den Tatsachen entspricht ist fraglich. Sicherer ist es wirklich alle Linien Anfangs- und Endpunkte mit der Koordinate zu vergleichen. Aber nicht mit (= A B) sondern mit (equal A B toleranz) Die ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : koordinate checken
Brischke am 31.07.2003 um 11:50 Uhr (0)
immer wieder die selben ;-) Ok- ich werde mir einen anderen Nick besorgen, damit das dann nicht so auffällt. besonders frustrierend, wenn man das wissen eigentlich hat, aber einfach nicht drauf kommt...naja die übung machts, hoff ich mal ;-) Ich bin auch erst ca.10 Jahre beim AutoLISP - kann deine Hoffnungen bestätigen - allein der Meilenstein weg vom (command..) zum (entmake..) brauchte Jahre das mit dem equal ist ein guter tip...danke Habe ich selber Tage/Wochen/Monate für gebraucht, um das ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Maus oder Tastatur benutzt ??
Brischke am 31.07.2003 um 10:50 Uhr (0)
Hallo pan, meines Wissens nicht. Aber was willst du mit einer relativen Koordinaten Eingabe? dann mach (getdist..) und errechne, falls du das brauchst den Winkel hinterher, oder du verschiebst das BKS und rechnest mit (trans den Punkt auf dieses Koordinatensystem um. Irgendwie sehe ich keinen Sinn in deinem Vorhaben - lass mich aber gerne aufklären. Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Irgendwann muß man schlafen, deshalb: +!+!+Urlaub vom 01.08.-30.0 ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : INSERT LWPOLYLINE
Brischke am 01.08.2003 um 09:56 Uhr (0)
Hallo marvin, dein Gefühl hat Recht. Gehe in die Blocktabelle, und suche dir da den Block raus. (setq blk(tblobjname BLOCK TOLLERBLOCKNAME )) Mit (entnext..) die Elemente des Blockes durchhecheln, bis du an der Polylinie angekommen bist. Aus dieser suchst du dir dann den entsprechenden Punkt raus. Diesen kannst du dann mit (subst..) tauschen und mit (entmod..) aktualisieren. Dann mit (entupd..) den Block aktualisieren - fertig. Aber Achtung! Die Koordinaten, die du auf dem Monitor pickst musst du a ...
|
In das Form AutoLisp wechseln |