用文字ove查找dims
你好我从现场的人那里得到了一个错误,关于我所做的维度,这没有任何意义。当我在图形中检查它时,我看到我无意中正确地给了它覆盖值。
我决定编写一个程序,检查图形中的所有尺寸图元,并高亮显示应用覆盖的所有尺寸图元。
这就是我开始写的,
但我不明白出了什么问题
(defun C:test(/ mbr dim )
(while (setq mbr (tblnext "DIMSTYLE" (null a)))
(setq dim (entget (cdr (assoc 340 mbr))))
(if (not (equal (cdr(assoc 1 dim)) ""))
(princ "override has been found")
)
)
)
谢谢
谢伊 DIMREASOC>ALL将选择应用了文字替代的所有标注。如果在完成命令之前退出命令,则可以使用“选择>上一步”重新选择这些对象。一旦选中,您可以将其更改为另一个图层、更改其颜色、隔离它们或任何其他需要的内容。
很好的一个nestly,特别是选择>上一个提示! 另一种方式:
(defun c:dimov nil
(sssetfirst nil (ssget "_X" '((0 . "*DIMENSION") (1 . "*?*"))))
(princ)
)
谢谢,但是dimreaoc>ALL不会给我选项,它只是将尺寸线重新关联到他们的赞助商,我找不到任何与文本覆盖问题有关的内容
我错过了什么?
? 你在文本覆盖中找到了什么?
李,文本覆盖与扩展数据无关,对吗? 不知道,也许试试这个。。。未经测试。。。
(defun c:dimov nil
(sssetfirst nil (ssget "_X" '((0 . "*DIMENSION") (-4 . "<not") (1 . "<>") (-4 . "not>"))))
(princ)
)
请参阅wcmatch函数的文档以了解此运算符。
正确,文本覆盖由DXF第1组代码的值给出;只有标注样式替代存储在附着到标注的扩展数据中。
请注意,您的代码还将选择不带文本覆盖的所有尺寸(即DXF group 1=“”)。
要选择应用了文字替代的所有标注,但不包括包含标注值的标注(即替代包含的标注),我建议:
(defun c:dimov nil
(sssetfirst nil (ssget "_X" '((0 . "*DIMENSION") (1 . "*?*") (1 . "~*<>*"))))
(princ)
)
页:
[1]