用点替换块
尊敬的各位:,我有一个在文本插入点有将近36000个块的图形。
这些区块具有不同的层。现在,我需要一个lisp来删除块,并在块/文本的插入点及其相应的层上放置一个点。
对应的层?这是它前面的文本层吗?它是一种带有符号(块)及其描述(层)的表格吗?
一张图纸中有36000块??? 看看这个。。。。。。伙计。
(defun c:test (/ *error* ss TH:CAD TH:StartUnDo TH:EndUnDo)
; Tharwat 21. 02. 2011
(vl-load-com)
(defun *error* ( msg )
(and TH:UnDo (vla-EndUndoMark TH:CAD))
(or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
(princ (strcat "\n** Error: " msg " **")))
(princ)
)
(setq TH:CAD (vla-get-ActiveDocument (vlax-get-acad-object)))
(setq TH:StartUnDo (vla-StartUndoMark TH:CAD))
(if (eq (getvar 'pdmode)0 )(setvar 'pdmode 3))
(if (setq ss (ssget "_x" '((0 . "INSERT"))))
((lambda (i / ss1 e L )
(while
(setq ss1 (ssname ss (setq i (1+ i))))
(entmakex (list (cons 0 "POINT")(cons 8 (cdr (assoc 8 (entget ss1))))(cons 10 (cdr (assoc 10 (entget ss1))))
)
)
(entdel ss1)
)
)
-1
)
(Alert "\n Not even one block found "))
(setq TH:EndUnDo (vla-EndUndoMark TH:CAD))
(princ)
)
塔瓦特 Tharwat=快速冈萨雷斯
我不明白花边是什么意思。
http://en.wikipedia.org/wiki/Speedy_Gonzales
http://www.youtube.com/results?search_query=speedy+冈萨雷斯和aq=f
:眨眼: 很好的冈萨雷斯,很高兴认识他。
谢谢你的信息。
塔瓦特 塔尔瓦特,
用于返回vla开始/结束标记的变量的目的是什么?
此外,这是多余的:
它可以被替换为
(assoc8 (entget ss1))
(assoc 10 (entget ss1)) 哇,几天前才有人向他指出这一点。
没错,李,这些函数不需要变量名。
也是这样,这是一个免费重建两次的问题。
非常感谢。
塔瓦特
页:
[1]
2