もう一つ。-DIMINSPECTと同じ入力方法で、検査率の入力なしバージョン。
-------------------------------------------------------------------------
(defun c:NIRD (/ ss fm ff lb lf i ename edata xdata)
(prompt "\n検査寸法を追加する寸法オブジェクトを選択:> ")
(if (setq ss (ssget '((0 . "DIMENSION"))))
(progn
(initget "R A N")
(or
(setq fm (getkword "形状のオプションを入力 [丸型(R)/角型(A)/なし(N)] <丸型>:"))
(setq fm "R")
)
(cond
((= fm "R") (setq ff 1))
((= fm "A") (setq ff 2))
( T (setq ff 4))
)
(setq lb (getstring "ラベル データを入力 または <なし>:"))
(if (= lb "")
(setq lf 0)
(setq lf 16)
)
(setq i 0)
(repeat (sslength ss)
(setq ename (ssname ss i))
(setq edata (entget ename))
(if (= lf 0)
(progn
(setq xdata (list '(1070 . 396) '(1000 . "") '(1070 . 394) (cons '1070 ff) '(1070 . 393) '(1070 . 1)))
)
(progn
(setq xdata (list '(1070 . 396) '(1000 . "") '(1070 . 395) (cons '1000 lb) '(1070 . 394) (cons '1070 (+ ff lf)) '(1070 . 393) '(1070 . 1)))
)
)
(setq xdata (cons "ACAD_DSTYLE_DIMINSPECT" xdata))
(setq xdata (list -3 xdata))
(setq edata (append edata (list xdata)))
(entmod edata)
(setq i (1+ i))
)
)
)
(princ)
)
- LUNE
- 2018/03/28 (Wed) 17:18:55