乐筑天下

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

[编程交流] 用chan重新定义块

[复制链接]

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 12:46:43 | 显示全部楼层
 
对不起,我正在睡觉(
c u明天
 
~'J'~
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 12:48:57 | 显示全部楼层
 
啊,睡不着
 
尝试
 
  1. (defun change-tags-by-prompts (/ acsp adoc att atts att_info blockname
  2.                         block_info bname cur_lst ent find ipt layer
  3.                         new_block obj prompts rot xscale yscale zscale)
  4. (setq        adoc (vla-get-activedocument
  5.        (vlax-get-acad-object)
  6.        )
  7. acsp (vla-get-block
  8.        (vla-get-activelayout adoc)
  9.        )
  10. )
  11. (setq ent (car (entsel "\n        ***        Select block to change tags tags: ")))
  12. (if ent
  13.    (progn
  14.      (setq obj (vlax-ename->vla-object ent))
  15.      (if (eq :vlax-false (vla-get-isdynamicblock obj))
  16. (setq bname (vla-get-name obj))
  17. (setq bname (vla-get-effectivename obj))
  18. )
  19.      (vlax-for        att  (vla-item (vla-get-blocks adoc) bname)
  20. (if (eq (vla-get-objectname att) "AcDbAttributeDefinition")
  21.   (progn (setq prompts (cons (strcase
  22.              (vl-string-translate
  23.                (chr 32)
  24.                (chr 95)
  25.                (vla-get-promptstring att))) prompts)
  26.                )
  27.          (vla-put-tagstring
  28.            att
  29.            (strcase
  30.              (vl-string-translate
  31.                (chr 32)
  32.                (chr 95)
  33.                (vla-get-promptstring att)))))
  34.   )
  35.   )
  36.      (setq prompts (reverse prompts))
  37.      (vlax-for        layout        (vla-get-layouts adoc)
  38. (vlax-for blk  (vla-get-block layout)
  39.   (if (eq (vla-get-objectname blk) "AcDbBlockReference")
  40.     (progn
  41.     (if        (eq :vlax-false (vla-get-isdynamicblock blk))
  42.       (setq blockname (vla-get-name blk))
  43.       (setq blockname (vla-get-effectivename blk))
  44.       )
  45.     (if        (eq bname blockname)
  46.       (progn
  47.         (setq block_info nil)
  48.         (setq ipt    (vla-get-insertionpoint blk)
  49.               layer  (vla-get-layer blk)
  50.               rot    (vla-get-rotation blk)
  51.               xscale (vla-get-xscalefactor blk)
  52.               yscale (vla-get-yscalefactor blk)
  53.               zscale (vla-get-zscalefactor blk)
  54.               )
  55.         (foreach att  (vlax-invoke blk 'Getattributes)
  56.           (setq        att_info (cons (car prompts)
  57.                                (vla-get-textstring att)
  58.                                )
  59.                 )
  60.           (setq prompts (cdr prompts))
  61.           (setq block_info (cons att_info block_info))
  62.           )
  63.         (setq block_info (reverse block_info))
  64.         (setq new_block (vla-insertblock acsp ipt bname xscale yscale zscale rot))
  65.         (vla-delete blk)
  66.                (vlax-release-object blk)
  67.         (vla-put-layer new_block layer)
  68.         (setq ats (vlax-invoke new_block 'Getattributes))
  69.         (foreach at  ats
  70.           (if (setq find (assoc (vla-get-tagstring at) block_info))
  71.             (vla-put-textstring at (cdr find)))
  72.           (vla-update at)
  73.             )
  74.           )
  75.         )
  76.       )
  77.     )
  78.   )
  79. )
  80.      )
  81.    )
  82. (princ)
  83. )
  84. (defun C:CTP(/)
  85. (change-tags-by-prompts)
  86. (princ)
  87. )
  88. (vl-load-com)
  89. (princ "\n   ***   Type CTP to execute   **")
  90. (prin1)

 
~'J'~
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:55:05 | 显示全部楼层
 
哈哈,你让我想起了我
回复

使用道具 举报

1

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 12:56:55 | 显示全部楼层
:)非常感谢fixo。。。。它就像一种魅力。。。。。我太感谢你了。。。。祝你过得愉快!!!!!
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 13:02:09 | 显示全部楼层
 
不客气
很乐意帮忙
 
~'J'~
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 10:37 , Processed in 0.517404 second(s), 71 queries .

© 2020-2025 乐筑天下

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