乐筑天下

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

[编程交流] 向图层名称添加文字

[复制链接]

55

主题

325

帖子

274

银币

后起之秀

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

铜币
280
发表于 2022-7-6 00:04:56 | 显示全部楼层 |阅读模式
我试图通过lisp将文字添加到图层名称中,但通过我的研究,我找不到任何有关这方面的信息。有人能给我指一下正确的方向吗?
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 00:16:51 | 显示全部楼层
单向:
  1. (defun c:test ( / LAy LAYN LAYNAME)
  2. (if (setq layname (cdr (assoc 8 (entget (car (entsel "\nSelect an object to change the LayerName: "))))))
  3.    (progn
  4.      (vlax-for lay (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object)))
  5. (setq layn (vla-get-name lay))
  6. (if (and (wcmatch layn layname)
  7.   (/= layn "0")
  8.   (/= layn "Defpoints")
  9.     );; and
  10.   (vla-put-Name lay "My-Test-Layer")
  11. );; if
  12.      );; vlax-for
  13.    );; progn
  14. );; if
  15. (princ)
  16. );; test

 
要将文字添加到图层名,请执行以下操作:
  1. (vla-put-Name lay (strcat layname "your text to add"))

 
HTH公司
亨里克
回复

使用道具 举报

55

主题

325

帖子

274

银币

后起之秀

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

铜币
280
发表于 2022-7-6 00:24:22 | 显示全部楼层
谢谢你的回复。这是visual lisp,对吗?我正在努力学习Autolisp。有没有办法用Autolisp来代替?
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 00:32:44 | 显示全部楼层
可能是这样的:
 
  1. (defun c:test ( / LAYNAME)
  2. (if (and (setq layname (cdr (assoc 8 (entget (car (entsel "\nSelect an object to change the LayerName: "))))))
  3.    (/= layname "0")
  4.    (/= layname "Defpoints")
  5.      );; and
  6.   (command "._rename" "_Layer" layname (strcat layname "your text to add"))
  7. );; if
  8. (princ)
  9. );; test

 
亨里克
回复

使用道具 举报

55

主题

325

帖子

274

银币

后起之秀

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

铜币
280
发表于 2022-7-6 00:35:54 | 显示全部楼层
非常感谢。“strcat”是我需要的。
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 00:46:18 | 显示全部楼层
不客气!
很高兴我能帮忙
 
亨里克
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 00:53:15 | 显示全部楼层
 
亨里克,
 
由于(entget nil)将出错,if语句变得冗余,因为在任何情况下,测试表达式都将返回nil,而程序不会返回错误。
 
只是一个提示!
 
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 00:59:43 | 显示全部楼层
 
李,
一如既往地正确,这是一个很好的提示!
 
但是,太晚了,我几乎睡着了。。。
亨里克
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 01:10:52 | 显示全部楼层
别担心,亨里克!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 21:11 , Processed in 0.868135 second(s), 70 queries .

© 2020-2025 乐筑天下

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