pavilon 发表于 2022-7-5 18:39:58

删除上的选定文本

我有一个dcl和一个lisp,列出了图形中的所有文本和多行文字,我想通过dcl上的删除按钮删除列表中选定的文本,但我需要解决(如果可能):
 
1) 我通过选择删除多个文本的第一个目标不起作用!我得到一个错误:error:bad参数类型:consp nil
 
2) 覆盖重复文本或将相似文本分组
 
3) 从A_Z、0-9等中排序文本。
 
4) 在我删除所需文本之前,如何保持对话?现在是结束对话(尽管删除操作不正常)
 
附件是我的lisp和dcl。
 
谢谢
deltext。dcl
DELTEXT。LSP

rlx 发表于 2022-7-5 18:54:35

我还没有读过你的lisp文件,你知道第二件事,但是关于你的愿望清单中的第三点,我认为你需要隐藏你的对话框,因为删除文本意味着更新你的显示,当对话框处于活动状态时,这是被禁止的。
 
 
Gr.Rlx

rlx 发表于 2022-7-5 18:58:01

在我休息的时候快速看了一下,你的代码停在(第n项t\u lst),因为t\u lst为零。
 
 
你的意思是(第n项l)而不是t\u lst。。。如(setq l(\u list\u text))
 
 
gr.Rlx

rlx 发表于 2022-7-5 19:10:54

好吧,我的老板要杀了我,因为我还没有准备好这些图纸;-)但是试试这个:
 
你的retlist可以包含重复项,所以我先删除它们。
使用sfs(扫描字符串),我扫描整个dwg中的文字/多行文字
最后,我测试每个(m)文本实体是否包含一个选定的字符串,如果包含,则将被删除。
 
 
我还没有测试过
 
 
gr.Rlx

rlx 发表于 2022-7-5 19:17:19

1
 
 
顺便说一句,添加只需将我的代码添加到lsp,并将代码末尾的(do\u atn)替换为(rlx\u deltxt)
 
gr.Rlx

pavilon 发表于 2022-7-5 19:29:40

哦。。我没有收到通知,也没有意识到你已经解决了这个问题。非常感谢您抽出时间,希望您身体健康

rlx 发表于 2022-7-5 19:36:55

事实上,我的“老板”现在在家生病了(背部有问题),所以那里没问题;-)
 
 
希望你的应用现在可以运行
 
 
gr.Rlx

catoscuro 发表于 2022-7-5 19:41:18

您好,帕维隆,您可以更新您的例程与rlx的考虑,我了解很少的lisp和没有实现它的工作。非常感谢。
页: [1]
查看完整版本: 删除上的选定文本