(defun c:FOO (/ text ss)
(if (and (/= "" (setq text (getstring T "\n>>Enter Group Number: ")))
(setq ss (ssget "_x" (list '(0 . "TEXT,MTEXT") (cons 1 (strcat text "*"))))))
(sssetfirst nil ss)
(prompt "\n<!>Nothing Selected<!> "))
(princ))
阅读wcmatch上的帮助文件 仅在我选择的对象内不搜索。它在看整个图纸。只有当整个文本是我无法在文本中搜索时,它才能找到它 我可以这样做
(defun c:find2 nil
(sssetfirst nil
(ssget
(list (cons 0 "MTEXT,TEXT")
(cons 1 (strcat "*" (getstring "\nText to Find <All>: ") "*"))
)
)
)
(princ)
)
我今天一定很傻,但你在说什么?
并不是说我的代码是正确的(因为它显然不适合你),但我很难理解你(请耐心等待)。
那么您想(手动)选择一组文本实体,然后输入组码,然后根据组码标准对其进行过滤?
编辑:
我刚刚在写这篇文章的时候看到了李的帖子,可能唯一遗漏的就是过滤条件中前面的“*”。
我很欣赏你的程序的优雅,但是getstring=“…”呢。。。? 看近一点。 李的代码更接近我所看到的。它允许我选择一个我想搜索的组。但只有当所需文本等于文本块的整个上下文时,它才会找到它。
(1) 1.02底背厚34.8975 x 12.86
(2) 1.01底背厚34.8975 x 12.86
(3) 1.02底背厚34.8975 x 12.86
(4) 1.01底背厚34.8975 x 12.86
让我们只说上面是我试图搜索的文本对象的一个例子。“1.01”组是我唯一要找的组。
我想能够输入“1.01”,它应该只突出显示红色的内容。
(1) 1.02底背厚34.8975 x 12.86
(2) 1.01底背厚34.8975 x 12.86
(3) 1.02底背厚34.8975 x 12.86
(4) 1.01底背厚34.8975 x 12.86
然而,如果我输入“(1)1.02 Base Back Thick 34.8975 x 12.86”,它只会突出显示一些内容 出于好奇,是你的(1)。。。(4) 示例一段多行文字或单独的(M)文字对象? 对不起,是的,它们是4个不同的单行文本对象
页:
1
[2]