[其他]代码库
(defun c:ffg ()
(setq ss (ssget))
(setq i 0)
(repeat (sslength ss)
(setq typ (cdr (assoc 0 (entget (ssname ss i)))))
(if (= typ "CIRCLE")
(progn
;;;;以下为 INPUT 像素选取
;;;;以下为像素数据&半径数据取得
(setq en_data (entget (ssname ss i))) ;取得元体资料串行
(setq old_rad_list (assoc 40 (entget (ssname ss i))));取得半径子串行
(setq old_rr (cdr old_rad_list)) ;取得旧有半径
(princ “\n旧半径=”)(princ old_rr) ;显示该旧圆半径值于指令区
;;;;以下为新半径输入&像素数据新旧半径更替
(IF (AND (> old_rr 4.02) (<= old_rr 4.48))
(progn
(setq new_rr 4.5);新半径
(setq new_rad_list (cons 40 new_rr)) ;产生新半径子串行
(setq en_data (subst new_rad_list old_rad_list en_data)) ;新旧交替
(entmod en_data) ;依新像素数据自动更新圆半径
)
)
(IF (AND (> old_rr 5.02) (<= old_rr 5.48))
(progn
(setq new_rr 5.5);新半径
(setq new_rad_list (cons 40 new_rr)) ;产生新半径子串行
(setq en_data (subst new_rad_list old_rad_list en_data)) ;新旧交替
(entmod en_data) ;依新像素数据自动更新圆半径
)
)
(IF (AND (> old_rr 6.02) (<= old_rr 6.48))
(progn
(setq new_rr 6.5);新半径
(setq new_rad_list (cons 40 new_rr)) ;产生新半径子串行
(setq en_data (subst new_rad_list old_rad_list en_data)) ;新旧交替
(entmod en_data) ;依新像素数据自动更新圆半径
)
)
(IF (AND (> old_rr 7.02) (<= old_rr 7.48))
(progn
(setq new_rr 7.5);新半径
(setq new_rad_list (cons 40 new_rr)) ;产生新半径子串行
(setq en_data (subst new_rad_list old_rad_list en_data)) ;新旧交替
(entmod en_data) ;依新像素数据自动更新圆半径
)
)
(IF (AND (> old_rr 8.02) (<= old_rr 8.48))
(progn
(setq new_rr 8.5);新半径
(setq new_rad_list (cons 40 new_rr)) ;产生新半径子串行
(setq en_data (subst new_rad_list old_rad_list en_data)) ;新旧交替
(entmod en_data) ;依新像素数据自动更新圆半径
)
)
);操作代码
)
(setq i (1+ i))
)
;(princ)
)