|
AutoLisp : Platzbedarf (Kontur) von AutoCAD-Objekten
cad-lisp am 27.02.2003 um 21:25 Uhr (0)
Hallo Axel, die Größe kannst du mit der Funktion vla-getboundingbox ermitteln. Hier ein keines Beispiel. (defun c:ufr ( / ELE LL P0 P1 UR ) ;Funktion gibt Punkte für umfassendes Rechteck zurück (vl-load-com) (setq ele(entsel
Bitte Element wählen: )) (vla-getboundingbox (vlax-ename- vla-object (car ele)) ll ur) (setq p0 (vlax-safearray- list ll));Punkt links unten (setq p1 (vlax-safearray- list ur));Punkt rechts oben (list p0 p1) ) hoffe es hilft dir weiter Gruß cad-lisp
|
In das Form AutoLisp wechseln |
|
AutoLisp : Gleiche Punkte oder doch nicht!?
cad-lisp am 13.02.2003 um 13:00 Uhr (0)
Hallo CADwiesel, hab es gerade einmal ausprobiert, bei mir klapp es mit equal. Kann es sein, das mit der Punktliste etwas nicht stimmt? (setq li ((-41.1235 -34.1954) (-41.1235 -34.1954) (-41.1235 -34.1954))) (= (car LI) (cadr LI)) ;= ergibt nil (eq (car LI) (cadr LI)) ;= ergibt nil (equal (car LI) (cadr LI)) ;= ergibt T Gruß cad-lisp
|
In das Form AutoLisp wechseln |
|
AutoLisp : elemente aus dem bruch abfragen
cad-lisp am 10.03.2003 um 14:55 Uhr (0)
Hallo Jan, hier ein kleines Beispiel wie es gehen könnte. (defun c:test (/ le le1 aw) (setq le (entlast)) (princ "
Bruchstelle wählen") (command "bruch" pause pause) (setq le1 le) (setq aw (ssadd)) (while le1 (if (and (member (cdr (assoc 0 (entget le1)))(list "POLYLINE" "LWPOLYLINE")) (/= le1 le)) (setq aw (ssadd le1 aw)) ) (setq le1 (entnext le1)) ) aw ) Ich hoffe es hilft dir weiter Gruß cad-lisp
|
In das Form AutoLisp wechseln |
|
AutoLisp : elementeigenschaften erweitern
cad-lisp am 18.03.2003 um 16:44 Uhr (0)
Hallo Georg, versuch es einmal so (SETQ lintyp (CONS 6 "VERDECKT")) (SETQ ele (ENTGET(ENTLAST))) (if (assoc 6 ele) (entmod(subst lintyp (assoc 6 ele) ele)) (entmod(append ele(list lintyp))) ) hoffe es hilft dir weiter. Gruß cad-lisp
|
In das Form AutoLisp wechseln |
|
AutoLisp : Text klebt am Mauszeiger
cad-lisp am 07.05.2003 um 10:58 Uhr (0)
Hallo Mario, versuch es mal so. (defun c:AU ( / obj flaeche umfang faktor exitflag) (setq exitflag nil) (setq obj nil) (setq faktor 0.001) (setq obj (entsel
Fläche wählen: )) (command _area o obj) (setq flaeche (* faktor faktor (getvar area ))) (setq umfang (* faktor (getvar perimeter ))) (command text (getpoint
Einfügepunkt für Fläche ) 25.0 0.0 (strcat A (rtos flaeche 2 2) qm )) (command _move (entlast) @ pause) (command _text (getpoint
Einfügepunkt für U ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Zahl Hochzählen
cad-lisp am 20.02.2003 um 12:24 Uhr (0)
Hallo Mario, eine Aufstellung findest du in der AutoCad Hilfe unter DXF-Reference. Gruß Cad-Lisp
|
In das Form AutoLisp wechseln |
|
AutoLisp : Zahl Hochzählen
cad-lisp am 20.02.2003 um 12:39 Uhr (0)
Hallo Heinz, ich habe mir einmal erlaubt das Lisp zu ändern, damit es läuft. So sollte es funktionieren. Die Frabe stimmt aber nur dann, wenn der ausgewählte Layer die Farbe vonLayer hat. (defun c:num (/ nr ipt ant th prefix) (setq LAY_OLD (getvar "CLAYER")) (setq prefix (getstring "
Textprefix: ") nr (if (setq ant (getint "
Startnummer 0 ")) (1- ant) 0 ) ;_ end of if th (getreal "
Texthöhe:") ) ;hier fehlte eine Klammer (while ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Zahl Hochzählen
cad-lisp am 20.02.2003 um 13:22 Uhr (0)
Hallo Heinz, die Programmierung kam nicht von mir, habe nur die vorhandenen Fehler beseitigt. Aber trotzdem hier die gewünschte Änderung. Gruß Cad-Lisp (defun c:num (/ nr ipt ant th prefix) (setq LAY_OLD (getvar "CLAYER")) (setq prefix (getstring "
Textprefix: ") nr (if (setq ant (getint "
Startnummer 0 ")) (1- ant) 0 ) ;_ end of if th (getreal "
Texthöhe:") ) ;hier fehlte eine Klammer (princ "
Wählen sie ein Element für die Layers ...
|
In das Form AutoLisp wechseln |