乐筑天下

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

[编程交流] 编辑多重引线文本

[复制链接]

35

主题

140

帖子

108

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
177
发表于 2022-7-5 20:02:01 | 显示全部楼层 |阅读模式
是否可以编辑此lisp以处理mleader文本框?
 
它将文本框隐藏到覆盖文本的最低要求。
 
  1. (defun c:MTL (/ sset en el ymt nmt mtwidth mtcont)
  2. (setq sset (ai_aselect))
  3. (if (null sset)
  4. (progn
  5. (princ "\nNo objects selected.")
  6. (exit)
  7. )
  8. )
  9. (setq COUNT 0)
  10. (setq ymt 0)
  11. (setq nmt 0)
  12. (if (/= sset nil)(setq EN (ssname sset COUNT))(setq EN nil))
  13. (WHILE (/= EN nil)
  14. (setq mtcont nil)
  15. (setq nel nil)
  16. (setq EL (entget EN))
  17. (if (= (cdr (assoc 0 EL)) "MTEXT")
  18.   (progn
  19.    (setq mtwidth (* (cdr (assoc 42 el))1.015))
  20.    (setq EL (subst (cons 41 mtwidth) (assoc 41 EL) EL))
  21.    (progn
  22.     (setq nel el)
  23.     (while (/= (assoc 3 nel) nil)
  24.      (setq mtcont
  25.       (if (= mtcont nil)
  26.        (cdr (assoc 3 nel))
  27.        (strcat mtcont (cdr (assoc 3 nel)))
  28.       )
  29.      )
  30.      (setq nel (vl-remove (assoc 3 nel) nel))
  31.     )
  32.     (if (= mtcont nil)
  33.      (setq mtcont (cdr (assoc 1 nel)))
  34.      (setq mtcont (strcat mtcont (cdr (assoc 1 nel))))
  35.     )
  36.     (setq el nel)
  37.    )
  38.    (setq EL (subst (cons 1 mtcont) (assoc 1 EL) EL))
  39.    (if (= (cdr (assoc 90 EL)) 2)
  40.     (setq el (vl-remove (assoc 90 EL) EL))
  41.    )
  42.    (entmod EL)
  43.    (entupd en)
  44.    (setq el (entget en '("ACAD")))
  45.    (if (/= (assoc -3 el) nil)
  46.     (progn
  47.      (setq oheight (assoc 1040 (cdadr (assoc -3 el))))
  48.      (setq nheight (cons 1040 (cdr (assoc 43 el))))
  49.      (setq n-3 (list (cons -3 (list (subst nheight oheight (cadr (assoc -3 el)))))))
  50.      (setq el (vl-remove (assoc -3 el) el))
  51.      (setq el (append el n-3))
  52.     )
  53.    )
  54.    (entdel (cdr (assoc -1 el)))
  55.    (entmake el)
  56.    (setq COUNT (1+ COUNT))
  57.    (setq EN (SSNAME sset COUNT))
  58.    (setq ymt (1+ ymt))
  59.   )
  60.   (progn
  61.    (setq COUNT (1+ COUNT))
  62.    (setq EN (SSNAME sset COUNT))
  63.    (setq nmt (1+ nmt))
  64.   )
  65. )
  66. )
  67. (prompt (strcat "\n" (itoa ymt) " Mtext object(s) were resized, and " (itoa nmt) " object(s) were not Mtext."))
  68. (princ)
  69. )
回复

使用道具 举报

28

主题

118

帖子

95

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
136
发表于 2022-7-5 20:18:32 | 显示全部楼层
你好,jonathann3891,
 
请参阅李•麦克的第4篇文章。
 
干杯
回复

使用道具 举报

35

主题

140

帖子

108

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
177
发表于 2022-7-5 20:33:07 | 显示全部楼层
非常感谢。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 20:51:53 | 显示全部楼层
感谢推荐abra CAD abra!
 
我很高兴代码帮助了乔纳森。
回复

使用道具 举报

35

主题

140

帖子

108

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
177
发表于 2022-7-5 21:03:04 | 显示全部楼层
代码唯一的问题是,它会缩小水平限制以修复文本,但会拉伸垂直限制。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 01:10 , Processed in 0.354324 second(s), 62 queries .

© 2020-2025 乐筑天下

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