找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1421|回复: 13

(完成)[编程申请]:晓东,请帮忙编一个文字对齐程序。

[复制链接]

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-8-4 14:21:06 | 显示全部楼层
看了你的图,问几个问题:

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-8-4 14:38:41 | 显示全部楼层
水平对齐是处理中英文分开写时候的问题吧?

我想可以有更好的方法解决,不用单独提个水平对齐的工具。

更好的方法是可以随时调整中英文间不同的高宽比,而且保证水平对齐。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2002-8-4 18:48:56 | 显示全部楼层

Re: [编程申请]:晓东,请帮忙编一个文字对齐程序。

最初由 Tangent 发布
说明见图形附件。


http://www.xdcad.net/forum/showt ... mp;highlight=JU.lsp

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2002-8-4 20:13:51 | 显示全部楼层

Re: [编程申请]:晓东,请帮忙编一个文字对齐程序。

最初由 Tangent 发布
[B]说明见图形附件。 [/B]

我也有一个。

  1. ;|
  2.    命令:txt_align
  3.    
  4.    功能:用于TEXT文字的排版
  5.         可以把选定的多行TEXT文字按照“左、中、右”对齐方式排版
  6.         程序去掉文字的前导和后缀空格,同时修改TEXT实体的对齐方式,
  7.         方便以后的文字编辑保持对齐方式。

  8.         程序配合XDRX_API build 20630+版本使用,朋友们可以把这个LISP拷贝到“晓东工具箱”的安装的
  9.         LISP目录,自己加入到菜单里面就可以非常方便的使用了。
  10.         关于程序的建议请到“晓东CAD空间-编程申请”论坛
  11.         [url]http://www.xdcad.net/forum留言[/url]         
  12.         
  13. |;
  14. (defun c:txt_align (/ ss basept basept1 sel txt box tstyl intl p)
  15.   (prompt "\n请选取要排版的文字<退出>:")
  16.   (if (and
  17.         (setq ss (ssget '((0 . "text"))))
  18.         (setq basept (getpoint "\n请拾取对齐位置点<退出>:"))
  19.       )
  20.     (progn
  21.       (xdrx_begin)
  22.       (xdrx_ucson)
  23.       (initget 128 "L R M")
  24.       (if (not (setq sel
  25.                       (getkword
  26.                         "\n对齐方式:[L -左对齐 / R -右对齐 / M -中心对齐]<L>:"
  27.                       )
  28.                )
  29.           )
  30.         (setq sel "L")
  31.       )
  32.       (xdrx_setsstodb ss 0)
  33.       (while (setq e (xdrx_getentdata 0))
  34.         (setq txt (xdrx_getentdxf 1)
  35.               box (xdrx_entity_box e)
  36.         )
  37.         (setq basept1 (polar basept (/ pi 2) 100)
  38.               intl    (inters
  39.                         basept
  40.                         basept1
  41.                         (car box)
  42.                         (cadr box)
  43.                         nil
  44.                       )
  45.         )
  46.         (setq txt (xdrx_string_trimLeft txt)
  47.               txt (xdrx_string_trimRight txt)
  48.         )
  49.         (cond
  50.           ((= "L" sel)
  51.            (setq basept intl)
  52.            (xdrx_modent 1 txt 72 0 11 '(0 0 0) 10 intl)
  53.           )
  54.           ((= "R" sel)
  55.            (xdrx_modent 1 txt 11 intl 72 2)
  56.           )
  57.           ((= "M" sel)
  58.            (xdrx_modent 1 txt 11 intl 72 4)
  59.           )
  60.         )
  61.       )
  62.       ;|(initget 128)
  63.       (if (setq
  64.             p (xdrx_dragssmove
  65.                 "\n如需调整位置, 请点取要移到的位置 <不调整>: "
  66.                 ss
  67.                 basept
  68.                 3
  69.                 T
  70.               )
  71.           )
  72.         (command ".move" ss "" basept p)
  73.       )|;
  74.       (xdrx_ucsoff)
  75.       (xdrx_end)
  76.     )
  77.   )
  78.   (princ)
  79. )

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

使用道具 举报

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

使用道具 举报

发表于 2003-9-6 11:35:57 | 显示全部楼层
我用上面的程序怎么在2002下运行不了,清高人赐教。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-6 17:40:36 | 显示全部楼层
看看我的程序码:

  1. (defun ptt (ent)
  2.   (setq obj (vlax-ename->vla-object ent))
  3.   (vla-getboundingbox obj 'p1 'p2)
  4.   (setq p1 (vlax-safearray->list p1)
  5.         p2 (vlax-safearray->list p2))
  6. )
  7. (defun c:test ( / ss)   
  8.   (vl-load-com)
  9.   (initget "Left Middle Right")
  10.   (setq k1 (getkword "\nAlgnment Style[Left/Middle/Right]:"))
  11.   (setq ent0 (car (entsel "\nSelect Source Text:")))
  12.   (ptt ent0)
  13.   (setq pl p1 pr p2)
  14.   (prompt "\Select Alignment Text:")
  15.   (setq ss (ssget) n 0)
  16.   (while (< n (sslength ss))
  17.     (setq ent (ssname ss n))
  18.     (setq obj (vlax-ename->vla-object ent))
  19.     (ptt ent)
  20.     (cond
  21.       ((= k1 "Left")
  22.         (vla-put-alignment obj 6)
  23.         (vla-put-TextAlignmentPoint obj (vlax-3d-point (list (car pl)(cadr p2)))))
  24.       ((= k1 "Middle")
  25.         (vla-put-alignment obj 10)
  26.         (vla-put-TextAlignmentPoint obj (vlax-3d-point (list (car pr)(cadr p2)))))
  27.       ((= k1 "Right")
  28.         (vla-put-alignment obj 8)
  29.         (vla-put-TextAlignmentPoint obj (vlax-3d-point (list (car pr)(cadr p2)))))
  30.     );c
  31.     (setq n (1+ n))
  32.   )
  33. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-14 23:45:30 | 显示全部楼层
我们单位施工图向台巴子学习,图纸类似于表格形式(附图)
希望在文字对齐选项中加入对齐至表格单格范围中,并能自动
调节文字大小适应表格。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2004-2-18 21:35:29 | 显示全部楼层
myfreemind
……没找到啊,你的网址找不到的
小雨想要这个程序,非常想要……
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-10 23:26 , Processed in 0.389821 second(s), 48 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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