用cad的command调整,位置不会变。
command "justifytext"
在这个代码中不知道怎么去修改 本帖最后由 cq4920 于 2025-4-12 01:20 编辑
;; 获取图元包围盒的最小点坐标
(setq old_min (cadr (mc:ent-max-min obj)))
先获取原始图元包围盒点坐标
再根据新的图元包围盒点坐标计算偏移量,修改11 单行文字有效,多行文字未测试,
;; 刷新实体数据
(setq ent (entget obj))
(setq new_min (cadr (mc:ent-max-min obj))) ; 确保mc:ent-max-min能够正确处理新状态
;; 计算平移补偿
(setq dx (- (car old_min) (car new_min)))
(setq dy (- (cadr old_min) (cadr new_min)))
;; 更新插入点
(setq pt (cdr (assoc 11 ent))) ; 原始插入点
(setq new_pt (list (+ (car pt) dx) (+ (cadr pt) dy))) ; 新的插入点
(entmod (subst (cons 11 new_pt) (assoc 11 ent) ent))
PS 不知道 直接对比新旧图元的 11 的坐标有没有效
页:
1
[2]