明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1437|回复: 8

[源码] 左对齐文字

[复制链接]
发表于 2019-1-25 08:13:21 | 显示全部楼层 |阅读模式

;;;;;;;;;;;;;;;;;;;;左对齐文字 99.5.8 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun C:zdq (/ ss txpoint n index OLD72 new72 old11 new11 oldpoint newpoint entl ent type1  )
   (SETVAR "CMDECHO" 0)
  (princ "\n左对齐文字 (c)SYZ 1999.5.8\n请选择需对齐的字符串:")
  (setq ss (ssget))
  (setq txpoint (getpoint "\n输入左起始点: "))
  (setq n (sslength ss))
  (setq index 0)
    (repeat n
    (setq ent (entget (setq aaaa(ssname ss index))))
    (setq index (+ 1 index))
    (setq type1 (assoc 0 ent))
    (if (= "TEXT" (cdr type1))
      (progn
      (setq oldpoint (assoc 10 ent))
      (setq newpoint ( cons (car oldpoint)  (cons(car txpoint) (cdr (cdr oldpoint)))))
      (setq entl (subst newpoint oldpoint ent))
      (setq old72(ASSOC 72 ent))
      (setq new72(cons 72 (cdr(assoc 71 ent))))
      (setq entl (subst new72 old72 entl))
      (setq old11(ASSOC 11 ent))
      (setq new11(list 11 0.0 0.0 0.0))
      (setq entl (subst new11 old11 entl))
      ;(entdel aaaa)
      (entmod entl)
      )
    )
    (if (= "MTEXT" (cdr type1))
      (progn
      (setq oldpoint (assoc 10 ent))
      (setq newpoint ( cons (car oldpoint)  (cons(car txpoint) (cdr (cdr oldpoint)))))
      (setq entl (subst newpoint oldpoint ent))
      (setq old72(ASSOC 72 ent))
      (setq new72(cons 72 (cdr(assoc 71 ent))))
      (setq entl (subst new72 old72 entl))
      (setq old11(ASSOC 11 ent))
      (setq new11(list 11 0.0 0.0 0.0))
      (setq entl (subst new11 old11 entl))
      ;(entdel aaaa)
      (entmod entl)
      )
    )
)
(SETVAR "CMDECHO" 1)
   (prin1)
)
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2019-1-25 08:28:46 | 显示全部楼层
谢谢! baitang36 分享程序!!!!!!
发表于 2019-1-25 10:58:40 | 显示全部楼层
本帖最后由 fangmin723 于 2019-1-25 11:03 编辑

如下情况


执行完后就成这样了,还是需要优化一下!!!



本帖子中包含更多资源

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

x
发表于 2019-1-25 12:41:57 | 显示全部楼层
  1. ;; tt(左对齐)
  2. (defun c:tt ()
  3.   (setq i -1)
  4.   (if (and (setq ss (ssget))
  5.            (setq p0 (getpoint "\n左对齐基点<退出>: "))
  6.       )
  7.     (while (setq s1 (ssname ss (setq i (1+ i))))
  8.       (setq p1 (xyp-9pt s1 1)
  9.             p2 (list (car p0) (cadr p1))
  10.       )
  11.       (xyp-move s1 p1 p2)
  12.     )
  13.   )
  14.   (princ)
  15. )
发表于 2019-1-25 15:46:07 | 显示全部楼层
本帖最后由 fangmin723 于 2019-1-25 15:48 编辑

院长,你这个就别拿出来秀了,就算拿出来了,我们又用不了,功能再好,对不想装运行环境或者使用其他公司CAD的人来说,也就只能干瞪眼了

点评

提供个思路而已  发表于 2019-1-25 21:13
发表于 2019-1-25 23:41:40 | 显示全部楼层
谢谢! xyp1964 版主分享思路!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-19 01:04 , Processed in 0.181494 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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