明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2328|回复: 2

一个小程序:对齐文字,有时我们需要对不同区域内的文字排列整齐以下程序对你有帮助

[复制链接]
发表于 2003-8-7 21:51 | 显示全部楼层 |阅读模式
一个小程序:对齐文字,有时我们需要对不同区域内的文字排列整齐以下程序对你有帮助。[br]加载后命令行输入dq
(defun C:dq ()
  (setq oldcmd (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (setq oldblip (getvar "blipmode"))
  (setvar "blipmode" 0)
  (setq oldsnap (getvar "osmode"))
  (setvar "osmode" 0)

  (setq text (ssget))
  (initget "H L")
  (setq a (getkword "行对齐(H)/列队齐(L)?"))
  (if (= a nil)
    (setq a "l"))
  (SETQ a (strcase a T))                ;提示用户建立选择集text
  (setq n 0)                                ;设置计数器初始值
  (setq pointend0 (getpoint "对齐点:"))
  (repeat (sslength text)                ;建立循环长度为所选对象的个数
    (setq name (ssname text n))                ;获取选择集中第n个对象的图元名
    (setq entl (entget name))                ;设置 entl 为最新图元的数据关联表
    (setq ct 9)                                ;设置nth函数参数
    ;(setq pointstar (nth ct entl))        ;获取文字图元的第9个属性---坐标属性
(setq pointstar (nth ct entl))
    (if        (= a "l")
      (progn
        (setq pointentl (list (cadr pointstar) (caddr pointstar)))
                                        ;建立其点表,并将其赋值给pointel1
        (setq pointend (list (car pointend0) (caddr pointstar)))
                                        ;设置对齐点的坐标
        )
      (progn
        (setq pointentl (list (cadr pointstar) (caddr pointstar)))
                                        ;建立其点表,并将其赋值给pointel1
        (setq pointend (list (cadr pointstar) (cadr pointend0)))
                                        ;设置对齐点的坐标
        )
      )
    (command "move" name "" pointentl pointend)
                                        ;)
    (setq n (1+ n))
    )
  (setvar "cmdecho" oldcmd)
  (setvar "blipmode" oldblip)
  (setvar "osmode" oldsnap)

  (princ)                                ;静默退出

  )
发表于 2003-8-8 10:59 | 显示全部楼层
程序不错!功能还有待改进!假如要对齐的文本包括TEXT文本、MTEXT文本或者是与尺寸线、箭头分开的尺寸文本,该程序不能实现列对齐或行对齐。
发表于 2013-6-8 10:54 | 显示全部楼层
方便,整理以前的人写乱糟糟的技术要求有办法了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 00:23 , Processed in 0.390032 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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