帮网友写的 - ;;;by x_s_s_1@163.com
- ;;;注册表数据存于"HKEY_CURRENT_USER\\Software\\Autodesk\\sjbhx"如有需要自行删除
- ;;;如杀毒软件,管理员权限等限制无法读写注册表请自行处理
- (defun c:sjbhx (/ get_dxf changenum en reg num num1)
- (vl-load-com)
- (defun get_dxf (en num /) (cdr (assoc num (entget en))))
- (defun changenum (num /)
- (cond ((< num 10) (strcat "00" (itoa num)))
- ((and (> num 9) (< num 100)) (strcat "0" (itoa num)))
- ((> num 99) (itoa num))
- )
- )
- (setq reg "HKEY_CURRENT_USER\\Software\\Autodesk\\sjbhx")
- (if (null (vl-registry-read reg "sjbhx"))
- (vl-registry-write reg "sjbhx" "000")
- )
- (while (setq en (car (entsel "\n拾取编号:")))
- (if (= "TEXT" (get_dxf en 0))
- (progn
- (setq num (vl-registry-read reg "sjbhx")
- num1 (getint (strcat "\n输入新编号<" num ">:"))
- )
- (if num1
- (setq num (changenum num1))
- (setq num num)
- )
- (vla-put-textstring (vlax-ename->vla-object en) num)
- (vl-registry-write reg "sjbhx" (changenum (1+ (read num))))
- )
- )
- )
- )
|