乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 19|回复: 2

[编程交流] 我的代码出错,更改tex

[复制链接]

5

主题

20

帖子

15

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 08:58:15 | 显示全部楼层 |阅读模式
你好
 
我有我的代码,它工作良好,直到我有一个在我的绘图层,其中没有文字实体的。如果是这种情况,我得到以下错误;
“命令:;错误:错误参数类型:lselsetp nil”
我试图在变量L14上添加If语句nil,但这并没有解决问题。
所以要澄清的是:我相信问题的出现是因为我有一个图层,但在特定图形的特定图层中没有“文本”。在其他图纸中,如果有文本,则需要使用代码。
谁能帮我用正确的if语句来解决这个问题。
 
 
  1.   (setq L14 (tblsearch "layer" "E_B_KV23_KABEL_LABEL_VB"))
  2. (if (/= L14 nil)
  3.    (progn
  4.        (setq cnt 0 sset (ssget "x" '((8 . "E_B_KV23_KABEL_LABEL_VB"))))(setq len(sslength sset))(setq valid 0 erms "")
  5. (setq cnt 0)
  6. (while (> len 0)
  7.       (setq en (ssname sset 0))
  8.       (if (= (cdr (assoc 0 (entget en))) "TEXT")
  9.        (progn(command "change" en "" "" "" "isocp2_08" "" "" )(setq cnt(+ cnt 1))
  10.      )
  11. )
  12. (setq sset (ssdel en sset))(setq len(- len 1))
  13. )
  14.    )
  15. )
  16. (if (= L14 nil)
  17.    (setq L14 nil)
  18. )

 
提前感谢,
 
上下快速移动
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 09:35:15 | 显示全部楼层
这条线
(setq len(sslength sset))和之后的其余部分将运行,而不管(setq cnt 0 sset(ssget“x”'((8。“E\u B\u KV23\u KABEL\u LABEL\u VB”))的结果是否为零
 
因此,请尝试将其更改为:
 
  1. (if (and  (/= L14 nil)
  2.             (setq cnt 0 sset (ssget "x" '((8 . "E_B_KV23_KABEL_LABEL_VB")))))
  3. (progn
  4.               (setq len(sslength sset))(setq valid 0 erms "")......
回复

使用道具 举报

5

主题

20

帖子

15

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 10:28:04 | 显示全部楼层
非常感谢pBe。
这很好地解决了问题。
 
上下快速移动
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-7 06:31 , Processed in 0.655203 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表