乐筑天下

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

[编程交流] 块提取

[复制链接]
JRM

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:14:34 | 显示全部楼层 |阅读模式
你好
 
寻找一些可以帮助从一个块中提取属性信息和多行文本的代码,以便将其插入到另一个块中。我已经能够在一个街区同时做一个或另一个,但不能同时做两个。
 
 
谢谢
杰西
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 08:29:09 | 显示全部楼层
示例[Retrieve text String]
  1. (defun c:sample  (/ a e txtlst atbtlst)
  2.      (if (setq txtlst nil
  3.                a      (ssget "_:S:E" '((0 . "INSERT"))))
  4.            (progn
  5.                  (setq e (vlax-ename->vla-object (ssname a 0)))
  6.                  (vlax-for
  7.                         itm
  8.                         (vla-item
  9.                               (vla-get-blocks
  10.                                     (vla-get-ActiveDocument
  11.                                           (vlax-get-acad-object)))
  12.                               (vla-get-effectivename e))
  13.                        (if (wcmatch
  14.                                  (vla-get-ObjectName itm)
  15.                                  "AcDb*Text")
  16.                              (setq txtlst
  17.                                         (cons (vla-get-TextString
  18.                                                     itm)
  19.                                               txtlst))))
  20.                  (setq atbtlst
  21.                             (mapcar
  22.                                   (function
  23.                                         (lambda (j)
  24.                                               (vla-get-textstring
  25.                                                     j)))
  26.                                   (vlax-invoke
  27.                                         e
  28.                                         'GetAttributes)))
  29.                  )
  30.            )
  31.      (foreach
  32.             itm  (list '("TEXT" txtlst) '("ATTRIB" atbtlst))
  33.            (if (eval (cadr itm))
  34.                  (progn (print (car itm))
  35.                         (foreach
  36.                                str  (eval (cadr itm))
  37.                               (princ (strcat "\n\t\t" str)))
  38.                         )
  39.                  )
  40.            )
  41.      (princ)
  42.      )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:48:08 | 显示全部楼层
你的代码格式化pBe是怎么回事?你在使用标签吗?
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 08:55:58 | 显示全部楼层
我想是的。在vlide上,当我点击“格式选择”时,它会这样做。在压痕没有那么宽之前。尝试恢复到默认值,但仍然没有乐趣。
回复

使用道具 举报

JRM

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:06:25 | 显示全部楼层
很好,非常感谢。
 
杰西
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 09:17:45 | 显示全部楼层
 
不客气Jess
很高兴我能帮忙
 
干杯
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 09:13 , Processed in 0.625180 second(s), 64 queries .

© 2020-2025 乐筑天下

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