找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 453|回复: 8

[源码] 文本包围盒

[复制链接]

已领礼包: 604个

财富等级: 财运亨通

发表于 2022-5-13 16:23:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
读Lee Mac的关联包围盒,觉得这个程序没什么用处,不过其内的文本包围盒,倒是可以提取出来作为通用函数使用
  1. ;; Matrix x Vector  -  Vladimir Nesterovsky
  2. ;; Args: m - nxn matrix, v - vector in R^n
  3. (defun mxv (m v)
  4.   (mapcar '(lambda (r) (apply '+ (mapcar '* r v))) m)
  5. )
  6. ;; The following function is based on code by gile
  7. ;;文本包围盒(tbox:textbox (car(entsel)) 2)
  8. (defun tbox:textbox (enx off / B H J L M N O P R STR W)
  9.   (setq str (cdr (assoc 0 enx)))
  10.   (if
  11.     (setq l
  12.            (cond
  13.              ((or (= "TEXT" str) (= "ATTDEF" str))
  14.               (setq b (cdr (assoc 10 enx))
  15.                     r (cdr (assoc 50 enx))
  16.                     l (textbox enx)
  17.               )
  18.               (list
  19.                 (list (- (caar l) off) (- (cadar l) off))
  20.                 (list (+ (caadr l) off) (- (cadar l) off))
  21.                 (list (+ (caadr l) off) (+ (cadadr l) off))
  22.                 (list (- (caar l) off) (+ (cadadr l) off))
  23.               )
  24.              )
  25.              ((= "MTEXT" str)
  26.               (setq n (cdr (assoc 210 enx))
  27.                     b (trans (cdr (assoc 10 enx)) 0 n)
  28.                     r (angle '(0.0 0.0 0.0) (trans (cdr (assoc 11 enx)) 0 n))
  29.                     w (cdr (assoc 42 enx))
  30.                     h (cdr (assoc 43 enx))
  31.                     j (cdr (assoc 71 enx))
  32.                     o (list
  33.                         (cond
  34.                           ((member j '(2 5 8)) (/ w -2.0))
  35.                           ((member j '(3 6 9)) (- w))
  36.                           (0.0)
  37.                         )
  38.                         (cond
  39.                           ((member j '(1 2 3)) (- h))
  40.                           ((member j '(4 5 6)) (/ h -2.0))
  41.                           (0.0)
  42.                         )
  43.                       )
  44.               )
  45.               (list
  46.                 (list (- (car o) off) (- (cadr o) off))
  47.                 (list (+ (car o) w off) (- (cadr o) off))
  48.                 (list (+ (car o) w off) (+ (cadr o) h off))
  49.                 (list (- (car o) off) (+ (cadr o) h off))
  50.               )
  51.              )
  52.            )
  53.     )
  54.      ((lambda (m)
  55.         (mapcar '(lambda (p) (mapcar '+ (mxv m p) b)) l)
  56.       )
  57.        (list
  58.          (list (cos r) (sin (- r)) 0.0)
  59.          (list (sin r) (cos r) 0.0)
  60.          '(0.0 0.0 1.0)
  61.        )
  62.      )
  63.   )
  64. )
assoctbox[1].gif

AssociativeTextboxV1-2.lsp

17.63 KB, 下载次数: 15, 下载积分: D豆 -1 , 活跃度 1

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 756个

财富等级: 财运亨通

发表于 2022-5-14 09:34:41 | 显示全部楼层
跟着大神的总结,好好学习
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6476个

财富等级: 富甲天下

发表于 2022-5-14 17:37:17 | 显示全部楼层
謝謝提供分享學習瞭
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 4个

财富等级: 恭喜发财

发表于 2022-5-14 23:16:21 | 显示全部楼层
感谢黄大师分享
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 244个

财富等级: 日进斗金

发表于 2022-5-16 08:03:20 | 显示全部楼层
这个好  我需要  感谢黄大师
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2022-5-16 10:01:52 | 显示全部楼层
感谢楼主分享!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 4个

财富等级: 恭喜发财

发表于 2022-5-16 21:19:13 | 显示全部楼层
lee-mac的数学很好,我也用到了他的矩阵变换,用于在ucs求文字包围盒,比ucs "e"方便。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8727个

财富等级: 富甲天下

发表于 2022-5-17 00:06:14 | 显示全部楼层
谢谢楼主分享!!!!!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-27 23:04 , Processed in 0.332196 second(s), 49 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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