棉花糖_one 发表于 2024-12-16 11:51:51

Bao_lai 发表于 2024-12-12 12:49
用cad的command调整,位置不会变。

command "justifytext"

在这个代码中不知道怎么去修改

cq4920 发表于 2025-4-12 01:17:11

本帖最后由 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]
查看完整版本: 文字对正,对齐工具