StevJ 发表于 2022-7-6 10:10:20

LISP文件帮助

不久前,李·麦克很友善地为我写了这个工具。这是一个整洁的程序,根据区域的形状,在我创建的某些属性区域周围绘制一个虚线框。他让它很容易修改,我已经——很多次了。作为一个QA工具,它可以节省大量的时间。再次感谢李。
 
不过,改变是不可避免的,现在我发现还需要根据一个名为RIN的属性标记(以PNG结尾)而不是形状或层来勾勒某些区域的轮廓,如ZX39EX84K43。巴布亚新几内亚。
 
它不想玩。只是坐在那里什么也不做(像我妻子的猫)。
为了便于查找,相关的线是红色的。如果你们当中有人能看一眼,告诉我我做错了什么,也许能把我踢向正确的方向,我会非常感谢你们的帮助。
 
谢谢
史蒂夫
 
;;;
;;; Crafted by Lee Mac at cadtutor.net 14 May 2009
;;; http://www.cadtutor.net/forum/showthread.php?36206/page2

;;; Modifications by Steve J:
;;;   14 May 2009 - To use dashed red vector lines

;;; Wish list 14 Nov 2010:
;;;   To be able to select with wildcard when
;;;   attribute tag RIN ends with PNG.
;;;   Why "*PNG" no workee?


(defun c:ZQA (/ ss attLst Box ul lr)
(vl-load-com)
(if (setq ss (ssget "_X" '((0 . "INSERT") (66 . 1))))
   (progn
   (foreach Obj (mapcar 'vlax-ename->vla-object
                  (mapcar 'cadr (ssnamex ss)))
       (setq attLst nil)
       (foreach att (vlax-safearray->list
                      (vlax-variant-value
                        (vla-getAttributes Obj)))
         (setq attLst (cons (cons (vla-get-TagString att)
                                  (vla-get-TextString att)) attLst)))
       (if (and (assoc "RIN" attLst)
                (eq "*PNG" (cdr (assoc "RIN" attLst)))
                (setq Box (assoc "BOXSIZE" attLst)
                      Box (read (cdr Box))))
         (progn
         (setq ul (list (car Box) (cadr Box))
               lr (list (caddr Box) (cadddr Box)))
         (grvecs (list -1 lr (list (car lr) (cadr ul))
                         -1 ul (list (car lr) (cadr ul))
                         -1 lr (list (car ul) (cadr lr))
                         -1 ul (list (car ul) (cadr lr))))))))
   (princ "\n<!> No Attributed Blocks Found <!>"))
(princ)
)

Lee Mac 发表于 2022-7-6 10:22:06

快速修复,
 
(wcmatch (cdr (assoc "RIN" attlst)) "*PNG")
 
但我需要仔细检查一下代码。。。已经有一段时间了

Lee Mac 发表于 2022-7-6 10:32:32

嗨,史蒂夫,
 
我快速浏览了代码,也许这是一个更好的解决方案:
 
然而,未经测试。。。

StevJ 发表于 2022-7-6 10:42:42

哇!你做得很快。
我在你的第一次回复中尝试了这个建议,效果很好,李,但第二篇帖子给出了一个“论点太多”的错误。但它看起来很整洁,我正在努力想办法。
 
史蒂夫

Lee Mac 发表于 2022-7-6 11:00:11

 
谢谢
 
我会检查的,伙计-这就是不测试它的问题。。。
 
错过了一个“cons”。。。希望已修复-代码已更新

StevJ 发表于 2022-7-6 11:05:53

很抱歉延迟回复-论坛一直让我退出。
 
它工作得很好,李。给人印象深刻的
再次感谢你的帮助
 
史蒂夫

Lee Mac 发表于 2022-7-6 11:20:02

好极了,史蒂夫,很高兴听到
页: [1]
查看完整版本: LISP文件帮助