Hallo Leute!
Ich hab da ein Lisp-Programm das einen Rahmen um einen Text zeichnet leider aber ganz genau um den Text!! Da ich aber gerne einen Abstand zum Text haben möchte so das es optisch was ausschaut, wollte ich euch fragen wo ich das in dem Lisp Programm ändern müsste!!
Bzw. kann mir jemand den ersten Teil des Lisp etwas genauer erklären?? (Ab entmak (list....)
Ich Danke euch für eure Hilfe
LG Petra
(defun c:txr (/ obj_3d aa bb minpt maxpt)
(if (setq obj_3d (f:select (list "TEXT" "MTEXT")))
(vla-GetBoundingBox (vlax-ename->vla-object obj_3d) 'aa 'bb)
)
(if (and aa bb)
(entmake (list
'(0 . "LWPOLYLINE")
'(100 . "AcDbEntity")
'(67 . 0)
'(410 . "Model")
'(8 . "0");hier den layer ändern
'(100 . "AcDbPolyline")
'(90 . 4)
'(70 . 1)
'(43 . 0.0)
'(38 . 0.0)
'(39 . 0.0)
(cons 10 (setq minpt (vlax-safearray->list aa)))
'(40 . 0.0)
'(41 . 0.0)
'(42 . 0.0)
(cons 10 (list (car (setq maxpt (vlax-safearray->list bb)))(cadr minpt)(caddr minpt)))
'(40 . 0.0)
'(41 . 0.0)
'(42 . 0.0)
(cons 10 maxpt)
'(40 . 0.0)
'(41 . 0.0)
'(42 . 0.0)
(cons 10 (list (car minpt)(cadr maxpt)(caddr minpt)))
'(40 . 0.0)
'(41 . 0.0)
'(42 . 0.0)
'(210 0.0 0.0 1.0)
)
)
)
)
;;;
;;;
(defun f:select (sel_objli / sel_el tmp sel_el_etyp)
(while (not sel_el)
(setq tmp (entsel (strcat
"\nSelect "
(apply 'strcat (mapcar '(lambda (TXT)
(strcat TXT "/ ")
)
sel_objli
)
)
)
)
)
(if tmp
(progn
(setq sel_el (car tmp)
sel_el_etyp (cdr (assoc 0 (entget sel_el))))
(if (not (member sel_el_etyp sel_objli)
)
(setq sel_el nil)
)
)
(setq sel_el T)
)
);while
(if (= (type sel_el) 'ENAME)
sel_el
;;(princ "\nKeine gültige Auswahl - Programmabbruch")
)
)
------------------
LG Petra
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP