Hallo, ich schon wieder,
warum macht mir das Lisp nicht die Bemaßung entsprechend der Vorgabe der Varable DIMSCALE?
;; Unknown Copyright
;;Bogenlängenbemassung
;;
;;modified 17-October-02
;;by cadditions
;;----------------------
;; modified 08.04.2003 by Scht
;;
;;
(defun C:dim_Bogenlaenge (/ arc ent obj l aktueller_layer)
(setq aktueller_layer(getvar "CLAYER"))
(setq cmde (getvar "CMDECHO"))
; (setvar "CMDECHO" 0)
;;; Layer erstellen, falls nocht nicht vorhanden-------------------------
(if (not (tblsearch "LAYER" "Bemaßung Hilfslinien"))
(command
"_-LAYER" "_N" "Bemaßung Hilfslinien"
"_C" "151" "Bemaßung Hilfslinien"
"_LT" "CONTINUOUS" "Bemaßung Hilfslinien"
"_LW" "0.15" "Bemaßung Hilfslinien"
""
)
)
;;; Block Maßpfeil einfügen, falls noch nicht vorhanden------------------
(if (not (tblsearch "BLOCK" "Maßpfeil"))
(command "_-INSERT" "mmiso.dwg" "0,0" "1" "" "0" "")
)
;;; Layer aktuell setzen-------------------------------------------------
(command "_-LAYER" "SE" "Bemaßung Hilfslinien" "")
(command "_-dimstyle" "holen" "MMA" "")
;;;----------------------------------------------------------------------
(setq arc (entsel "\nPick ARC to dimension: ")
ent (entget (car arc))
obj (cdr (assoc 0 ent))
) ; setq
(if (= obj "ARC")
(progn
(setvar "cmdecho" 0)
; (setvar "dimscale" *Bemfaktor1*)
(setvar "luprec" (getvar "dimdec"))
(setq l (* (cdr (assoc 40 ent))
(if (minusp (setq l (- (cdr (assoc 51 ent))
(cdr (assoc 50 ent))
) ; -
)
) ; setq + minusp
(+ pi pi l)
l
) ; if
) ; *
) ; setq
(command "_.dimangular" arc "_t" (rtos (* 0.001 l)))
(while (= (logand (getvar "cmdactive") 1) 1)
(command pause)
) ; while
) ; progn
(princ "\nNo ARC selected.")
) ; if
(setvar "CMDECHO" cmde)
(setvar "CLAYER" aktueller_layer)
(princ)
) ; defun
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP