DuanJinHui 发表于 2022-7-5 17:50:04

获取当前中的所有块名

(setq n (getstring t "\nEnter new block name: "))
 
我想获得当前图形中的所有块名。如果我输入的新名称已经存在。返回“nil”,
 
请帮忙。谢谢

Tharwat 发表于 2022-7-5 18:00:37

你需要明确你想要实现的目标

DuanJinHui 发表于 2022-7-5 18:09:34

 
我尝试编写一个lisp来更改块名。如果输入新的块名,则该块名已存在。 提示“块名称已存在。”

Tharwat 发表于 2022-7-5 18:19:17

 
供您测试。
 

(if (/ "" (setq n (getstring t "\nEnter new block name: ")))
(if (tblsearch "BLOCK" n)
   (alert "Block name is already existed !")
   (alert "Block name is not found in current drawing !")
   )
)

DuanJinHui 发表于 2022-7-5 18:25:43

 
(if(/“”(setq n(getstring t“\n输入新块名:”))
红色字体字符串是什么意思?
 
我测试,但错误。
error: bad argument type: numberp: ""

Tharwat 发表于 2022-7-5 18:34:38

对不起,我忘了等号。
 
必须是这样:

(/= "" (setq n (getstring t "\nEnter new block name: ")))

DuanJinHui 发表于 2022-7-5 18:49:37

 
谢谢你,塔瓦。

Tharwat 发表于 2022-7-5 18:55:39

 
不客气。
页: [1]
查看完整版本: 获取当前中的所有块名