需要质量检查工具
嗨,朋友们我有一项任务,比如检查一堆图纸中几个区块和文本的可用性
我检查的所有图纸都应该包含标准块和文本,如果在中遗漏了
画画的时候,应该通知我错过的东西。
请帮助我使用lisp完成此任务。
提前谢谢。
这并不难,你只需要得到一个区块名列表,并将其与文本文件中的列表进行比较。标准文本可能有点困难,但可以做同样的事情,我建议使用strcase作为比较的一部分,所以上下不成问题。
this is not actual program but example bits of code
(tblsearch "BLOCK" "Northn")
((0 . "BLOCK") (2 . "NORTHN") (70 . 0) (4 . "") (10 0.0 0.0 0.0) (-2 . <Entity name: 3af96230>))
(tblsearch "BLOCK" "Nort")
nil
(while read file
(setq found (tblsearch "BLOCK" blockname))
(if (= found nil)
(alert (strcat "block name not found " blockname))
(princ)
)
.........................
)
(setq doc (vla-get-activedocument (vlax-get-acad-object)))
(vlax-for blk (vla-get-blocks doc)
(princ (vla-get-name blk) )
)
嗨,比格尔
谢谢你看这篇文章,编辑lisp有点让我困惑,因为我是新手
我已附上错误屏幕截图,请检查。
我有一个名为test1、test2和test3的3个块
我只需要使用lisp找到这个块,告诉“所有块都可用”
如果缺少一个块,则应提及其名称,如“test2 is missing”
谢谢
(defun c:foo (/ l)
(setq l '("test1" "test2" "test3"))
(foreach a l (or (tblobjname "block" a) (alert (strcat a " DOES NOT EXIST!"))))
(princ)
) @罗恩琼普
您可能需要用或替换和 谢谢你们(ronjonp和tharwat),它就像一个魅力
同样,是否有任何其他方式来检查文本,如“施工图”字丢失,它应该以同样的方式发出警报。
提前感谢 哎呀! 我张贴的代码是3个部分的例子如何做它不是实际的程序。
好的,开始吧,这将把一个包含所有块名的文本文件写入临时目录中的一个文件,如果没有,请更改它。只运行一次,只是为了列出名字。
打开文本文件并添加(setq l’(作为第一行添加)作为最后一行,并替换ronjonp代码中的行作为块名
3
页:
[1]