明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1322|回复: 8

【RTB】分解缩放块的同时,恢复块内文字状态

  [复制链接]
发表于 2023-4-26 22:13:47 | 显示全部楼层 |阅读模式
本帖最后由 kucha007 于 2023-4-26 22:17 编辑

需求来自这里:
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=187696&fromuid=7329538

  1. ;分解缩放块的同时,恢复块内文字状态 by kucha
  2. (defun C:RTB (/ Old_Cmd K:DXF Blk SCVar SS i en TmeVar)
  3.   (setq Old_Cmd (getvar "cmdecho"))
  4.   (defun K:DXF (key en) (cdr (assoc key (entget en))))
  5.   (command "undo" "be");记录编组
  6.     (setvar "cmdecho" 0)
  7.     (if
  8.       (and
  9.         (setq Blk (car (entsel "\n→请点选块: ")))
  10.         (eq (K:DXF 0 Blk) "INSERT")
  11.       )
  12.       (progn
  13.         (setq SCVar (list (K:DXF 42 Blk) (/ (K:DXF 41 Blk) (K:DXF 42 Blk))));高宽
  14.         (command "Explode" Blk)
  15.         (setq SS (ssget "p"))
  16.         (repeat (setq i (sslength SS))
  17.           (setq en (ssname SS (setq i (1- i))))
  18.           (if (eq (K:DXF 0 en) "TEXT")
  19.             (progn
  20.               (setq TmeVar (mapcar '(lambda (x y) (/ x y))
  21.                                   (list (K:DXF 40 en) (K:DXF 41 en));高宽
  22.                                   SCVar
  23.                           )
  24.               )
  25.               (entmod (subst (cons 40 (car TmeVar)) (assoc 40 (entget en)) (entget en)))
  26.               (entmod (subst (cons 41 (cadr TmeVar)) (assoc 41 (entget en)) (entget en)))
  27.             )
  28.           )
  29.         )
  30.         (princ (strcat "\n——★★★ 块内文字已恢复到缩放前的状态 ★★★——"))
  31.       )
  32.       (princ (strcat "\n——★★★ 请选择块对象! ★★★——"))
  33.     )
  34.     (setvar "cmdecho" Old_Cmd)
  35.   (command "undo" "e");结束编组
  36.   (princ)
  37. )


评分

参与人数 1明经币 +1 金钱 +50 收起 理由
cchessbd + 1 + 50 很给力!

查看全部评分

发表于 2023-4-27 12:17:45 | 显示全部楼层
谢谢大神分享
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2023-4-27 13:22:07 | 显示全部楼层
本帖最后由 kucha007 于 2023-4-27 13:23 编辑
cchessbd 发表于 2023-4-27 12:30
感谢大侠,测试了一下,能够恢复文字原大小,就是相对位置移位了。。。

我先保存下,再来研究吧……感谢 ...

编块前你需要用justifytext命令改一下文字对齐点,有些文字需要改成右对齐
回复 支持 1 反对 0

使用道具 举报

发表于 2023-4-27 12:30:14 | 显示全部楼层
本帖最后由 cchessbd 于 2023-4-27 12:34 编辑

感谢大侠,测试了一下,能够恢复文字原大小,就是相对位置移位了。。。

我先保存下,再来研究吧……感谢大侠出手。小弟佩服不已!






本帖子中包含更多资源

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

x
发表于 2023-4-27 14:15:21 | 显示全部楼层
这种情况用Attrib才是合理的做法。

发表于 2023-4-27 18:20:58 | 显示全部楼层
kucha007 发表于 2023-4-27 13:22
编块前你需要用justifytext命令改一下文字对齐点,有些文字需要改成右对齐

谢谢老大,我试一试。之前好像眼睛瞎了,没看到。。。
justifytext
justifytext
justifytext
发表于 2023-4-27 18:23:22 | 显示全部楼层
e2002 发表于 2023-4-27 14:15
这种情况用Attrib才是合理的做法。

元素太多,文字需要及时调整位置,打印才能看清楚。
有时间试一试块啥区别,谢谢大哥热心回复。
发表于 2023-4-27 18:28:04 | 显示全部楼层
谢谢分享,学习一下!
发表于 2024-7-7 14:45:58 | 显示全部楼层
感谢作者的分享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 04:28 , Processed in 0.187277 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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