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)
) 快速修复,
(wcmatch (cdr (assoc "RIN" attlst)) "*PNG")
但我需要仔细检查一下代码。。。已经有一段时间了 嗨,史蒂夫,
我快速浏览了代码,也许这是一个更好的解决方案:
然而,未经测试。。。 哇!你做得很快。
我在你的第一次回复中尝试了这个建议,效果很好,李,但第二篇帖子给出了一个“论点太多”的错误。但它看起来很整洁,我正在努力想办法。
史蒂夫
谢谢
我会检查的,伙计-这就是不测试它的问题。。。
错过了一个“cons”。。。希望已修复-代码已更新 很抱歉延迟回复-论坛一直让我退出。
它工作得很好,李。给人印象深刻的
再次感谢你的帮助
史蒂夫 好极了,史蒂夫,很高兴听到
页:
[1]