本帖最后由 x_s_s_1 于 2013-4-18 21:24 编辑
无惢 发表于 2013-4-18 20:06
要求达到了,挺好的。还希望改进下。我用其他lsp也类似操作:命令-选择-Esc。没有报错提示啊。。。
命令: hh
选择对象: 指定对角点: 找到 1 个
选择对象: *取消*
; 错误: 函数被取消
我autocad2006没问题,是不是vba的问题啊改成subst试试- (defun x_ssn (ss / n lst)
- (repeat (setq N (sslength ss))
- (setq LST (cons (ssname SS (setq N (1- N))) LST))
- )
- )
- (defun c:hh (/ ss ent str en)
- (while (setq ss (ssget '((0 . "text") (1 . "%%13*`@*"))))
- (foreach en (x_ssn ss)
- (setq ent (entget en)
- str (cdr (assoc 1 ent))
- ent (subst
- (cons 1
- (strcat (substr str 1 5)
- "8"
- (substr str (1+ (vl-string-search "@" str)))
- )
- )
- (assoc 1 ent)
- ent
- )
- )
- (entmod ent)
- )
- )
- (princ)
- )
|