创建具有所有层的节点
我想做以下事情:-为每个打开的层创建一个简单节点。(@0,0很好)
-创建一个包含所有已创建节点的块。
这将阻止人们清除所有层。这有可能吗?
谢谢
(defun c:nodeblock ( / def name )
(setq name "nodeblock");; Name of 'Node Block'
(if (null (tblsearch "BLOCK" name))
(progn
(entmake
(list
'(0 . "BLOCK")
'(8 . "0")
'(10 0.0 0.0 0.0)
(cons 2 name)
'(70 . 0)
)
)
(while (setq def (tblnext "LAYER" (null def)))
(if (not (minusp (cdr (assoc 62 def))))
(entmake
(list
'(0 . "POINT")
'(10 0.0 0.0 0.0)
(cons 8 (cdr (assoc 2 def)))
)
)
)
)
(entmake '((0 . "ENDBLK") (8 . "0")))
;; Comment this line to not insert block
(entmake (list '(0 . "INSERT") '(8 . "0") '(10 0.0 0.0 0.0) (cons 2 name)))
)
(princ (strcat "\n" name " already exists."))
)
(princ)
)
不确定这是否有帮助,但我们走了另一条路,只清除了某些层。作为一个中间步骤,我们的dwt有所有测量库层和大约500个层的块。一旦引入现场测量,我们就进行部分清除
-吹扫la fe*N
-清除la dr*N等
这样我们就可以保持所有设计层的完整性。我们这样做是因为脚本很容易更改。
李像往常一样做得很好,但你也会保留所有的垃圾。 谢谢李!
工作得很好!非常感谢。 不客气,比尔
页:
[1]