我在上面发布的代码与Diesel表达式链接,以更新一个字段,该字段反过来会更新数据提取表。唯一的一点是,它没有为我需要计算的特定块查找嵌套块。我发现LeeMac的代码很好用,但我不知道如何将信息输出到字段中,并让它像以前一样更新数据提取。。但这是代码。我只是在寻找一个特定的块,并让它自动更新字段,就像以前一样。谢谢你的帮助
- (defun c:nest (/ str lst tdef)
- (while
- (progn
- (setq str (getstring t "\nSpecify Block Name <All> :"))
- (cond ((eq "" str)
- (while (setq tdef (tblnext "BLOCK" (null tdef)))
- (setq lst (cons (cdr (assoc 2 tdef)) lst))) nil)
- ((and (snvalid str)
- (tblsearch "block" str))
- (setq lst (list str)) nil)
- (t (princ "\n** Block not Found **")))))
- (setq mstr (+ 5 (apply 'max (mapcar 'strlen lst))))
- (princ (strcat (Pad "\n Block" 32 mstr) "| Count"))
- (princ (strcat (Pad "\n " 45 mstr) (Pad "|" 45 10)))
- (foreach x lst
- (setq i (Blkcount x))
- (princ
- (strcat
- (Pad (strcat "\n " x) 46 mstr)
- (Pad "|" 46 (- 10 (strlen (itoa i)))) (itoa i))))
- (princ))
- (defun Pad (Str Chc Len)
- (while (< (strlen Str) Len)
- (setq Str (strcat Str (chr Chc))))
- Str)
|