samifox 发表于 2022-7-5 22:20:23

用文字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")
)
   

)
)

 
谢谢
谢伊

nestly 发表于 2022-7-5 22:33:12

DIMREASOC>ALL将选择应用了文字替代的所有标注。如果在完成命令之前退出命令,则可以使用“选择>上一步”重新选择这些对象。一旦选中,您可以将其更改为另一个图层、更改其颜色、隔离它们或任何其他需要的内容。

Dadgad 发表于 2022-7-5 22:50:20

 
很好的一个nestly,特别是选择>上一个提示!

Lee Mac 发表于 2022-7-5 22:50:37

另一种方式:
(defun c:dimov nil
   (sssetfirst nil (ssget "_X" '((0 . "*DIMENSION") (1 . "*?*"))))
   (princ)
)

samifox 发表于 2022-7-5 23:01:59

 
 
谢谢,但是dimreaoc>ALL不会给我选项,它只是将尺寸线重新关联到他们的赞助商,我找不到任何与文本覆盖问题有关的内容
 
我错过了什么?
 
 
? 你在文本覆盖中找到了什么?
 
李,文本覆盖与扩展数据无关,对吗?

marko_ribar 发表于 2022-7-5 23:18:53

不知道,也许试试这个。。。未经测试。。。
 

(defun c:dimov nil
   (sssetfirst nil (ssget "_X" '((0 . "*DIMENSION") (-4 . "<not") (1 . "<>") (-4 . "not>"))))
   (princ)
)

Lee Mac 发表于 2022-7-5 23:28:36

 
请参阅wcmatch函数的文档以了解此运算符。
 
 
正确,文本覆盖由DXF第1组代码的值给出;只有标注样式替代存储在附着到标注的扩展数据中。
 
 
请注意,您的代码还将选择不带文本覆盖的所有尺寸(即DXF group 1=“”)。
 
要选择应用了文字替代的所有标注,但不包括包含标注值的标注(即替代包含的标注),我建议:
(defun c:dimov nil
   (sssetfirst nil (ssget "_X" '((0 . "*DIMENSION") (1 . "*?*") (1 . "~*<>*"))))
   (princ)
)
页: [1]
查看完整版本: 用文字ove查找dims