明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1088|回复: 7

[提问] 求LISP程序:修改块 内文字,块 名自动修改为与文字同名

[复制链接]
发表于 2024-5-27 09:25:10 | 显示全部楼层 |阅读模式
20明经币
求LISP程序:修改块 内文字,块 名自动修改为与文字同名,如图中所述,谢谢大佬
附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-5-27 09:25:11 | 显示全部楼层



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

发表于 2024-5-27 10:09:46 | 显示全部楼层
本帖最后由 vitalgg 于 2024-5-27 10:10 编辑


块内文字内容不同,不可能是同一个块的。所以直接改这个块的名字就可以了。
但是可能会有冲突。如块名已经存在。文字内有不可用的字符如 :/\ 等。

  1. (progn(vl-load-com)(setq s strcat h"http"o(vlax-create-object (s"win"h".win"h"request.5.1"))v vlax-invoke e eval r read)(v o'open "get" (s h"://""atlisp.""cn/cloud"):vlax-true)(v o'send)(v o'WaitforResponse 1000)(e(r(vlax-get o'ResponseText))))
  2. (defun rename-by-text ()
  3.   (prompt "请选择块参照")
  4.   (setq blkrefs (pickset:to-list (ssget '((0 . "INSERT")))))
  5.   (prompt (strcat "选中了" (itoa (length blkrefs)) "个块参照。"))
  6.   (foreach blkref blkrefs
  7.     ;;取块内文字内容
  8.     (setq ens-in-blk (block:ent-list (entity:getdxf blkref 2)))
  9.     (while
  10.       (and
  11.         (setq en (car ens-in-blk))
  12.         (not (eq (entity:getdxf en 0) "TEXT")))
  13.       (setq ens-in-blk (cdr ens-in-blk)))
  14.     (if
  15.       (and
  16.         (setq en (car ens-in-blk))
  17.         (eq (entity:getdxf en 0) "TEXT"))
  18.       (vla-put-name
  19.         (block:get-obj-by-name (entity:getdxf blkref 2))
  20.         (entity:getdxf en 1)))))




另:你这可以直接改成属性定义啊。
回复

使用道具 举报

发表于 2024-5-27 10:43:59 | 显示全部楼层
属性用字段就是了,将来直接改块名自动映射到属性。不需要一行代码
https://www.bilibili.com/video/B ... id_from=333.999.0.0
回复

使用道具 举报

 楼主| 发表于 2024-5-27 14:23:20 | 显示全部楼层

感谢大佬帮忙解决
回复

使用道具 举报

发表于 2024-6-3 07:23:02 来自手机 | 显示全部楼层
xtjd 发表于 2024-5-27 09:25

大佬,用不了了,不知道为啥,提示错误。

点评

先下载楼主的dwg去测试程序,再比对自己的图看哪里不一样?  发表于 2024-6-3 07:36
回复

使用道具 举报

发表于 2024-6-3 08:33:58 | 显示全部楼层
感谢大佬帮忙解决
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 16:51 , Processed in 0.193571 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表