找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 5479|回复: 22

(完成)[求助]:可有这样一个工具将图中文字按其中心位置放大缩小

[复制链接]
发表于 2003-3-29 15:24:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
在绘图中经常碰到将文字进行缩放的事,虽说有个特性匹配命令,但他只能将文字按其基点放大缩小,若字体的基点不是center,文字的位置就偏了,图面效果也差了。可有这样一个工具(用特性匹配命令)将图中文字按其中心位置以任意比例放大缩小?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-3-29 21:12:03 | 显示全部楼层

Re: [求助]:可有这样一个工具将图中文字按其中心位置放大缩小

最初由 jjjj3463 发布
[B]在绘图中经常碰到将文字进行缩放的事,虽说有个特性匹配命令,但他只能将文字按其基点放大缩小,若字体的基点不是center,文字的位置就偏了,图面效果也差了。可有这样一个工具(用特性匹配命令)将图中文字按其中心... [/B]

  1. (defun c:XDTB_TEXTSCL (/ ss mat e e1 h1 box basept matscl)
  2.   (if (setq e1 (xdrx_entsel "\n选择源文字: " '((0 . "text"))))
  3.     (progn
  4.       (xdrx_begin)
  5.       (xdrx_ucson)
  6.       (xdrx_setenttodb (car e1))
  7.       (setq h1 (xdrx_getentdxf 40))
  8.       (setq mat (xdrx_matrix_identity))
  9.       (princ "\n选择范围[All - 全选]....")
  10.       (setq ss (ssget '((0 . "TEXT"))))
  11.       (xdrx_setsstodb ss 0)
  12.       (while (setq e (xdrx_getentdata 0))
  13.         (setq box (xdrx_entity_box e))
  14.         (setq basept (xdrx_midp (car box) (caddr box)))
  15.         (setq matscl (xdrx_matrix_setscale
  16.                        mat
  17.                        (/ h1 (xdrx_getentdxf 40))
  18.                        basept
  19.                      )
  20.         )
  21.         (xdrx_entity_transform e matscl)
  22.       )
  23.       (xdrx_ucsoff)
  24.       (xdrx_end)
  25.       (princ)
  26.     )
  27.   )
  28. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-3-30 00:54:02 | 显示全部楼层
对cad2000的运用还算熟练,但对编程一窍不通,请问斑竹将这个程序放到2000的哪里。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-3-30 01:51:41 | 显示全部楼层
最初由 jjjj3463 发布
[B]对cad2000的运用还算熟练,但对编程一窍不通,请问斑竹将这个程序放到2000的哪里。 [/B]

程序必须在XDRX_API支持下运行,如果安装了晓东工具箱,将文件保存为xdtb_textscl.lsp 并放到 \XDSoft\Lisp目录下后(或者在CAD的Support路径下忙里),在cad中command下输入(load "xdtb_textscl"),然后以 xdtb_textscl 命令启用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-3-31 11:53:40 | 显示全部楼层

  1. ;;usage:(textscl <倍数>)
  2. ;;usage:(textscl 2)
  3. (defun TEXTSCL (SCALE / SS CENTPT)
  4.   (defun AX:GETBOUNDINGBOX (ENT / LL UR)
  5.     (vl-load-com)
  6.     (vla-getboundingbox (vlax-ename->vla-object ENT) 'LL 'UR)
  7.     (MIDPOINT (vlax-safearray->list LL)
  8.               (vlax-safearray->list UR)
  9.     )
  10.   )
  11.   (defun MIDPOINT (PT1 PT2)
  12.     (mapcar
  13.       '(lambda (X Y)
  14.          (* 0.5 (+ X Y))
  15.        )
  16.       PT1
  17.       PT2
  18.     )
  19.   )
  20.   (princ "\n选择范围[All - 全选]....")
  21.   (setq        SS (ssget '((0 . "text,mtext")))
  22.         N  0
  23.   )
  24.   (repeat (sslength SS)
  25.     (setq CENTPT (AX:GETBOUNDINGBOX (setq ENT1 (ssname SS N))))
  26.     (command "_.scale" ENT1 "" CENTPT SCALE)
  27.     (setq N (1+ N))
  28.   )
  29.   (princ)
  30. )

点评

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

使用道具 举报

发表于 2003-3-31 18:28:38 | 显示全部楼层
怎么不行啊,提示选择源文字时,我选择时说”没有点取到符合条件的实体, 重试!“
不知怎么用?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-3-31 20:24:19 | 显示全部楼层
其实我觉得没有这么麻烦,因为我们一般在编辑文字的时候总是喜欢用COPY的命令复制过去然后再用DD的命令进行修改,所以我个人认为只要我们在写第一个单词的时候把它的属性改为CENTER,那么我们如果要放大或者缩小文字的话就没有什么问题了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-4-1 06:56:39 | 显示全部楼层
最初由 liji 发布
[B]其实我觉得没有这么麻烦,因为我们一般在编辑文字的时候总是喜欢用COPY的命令复制过去然后再用DD的命令进行修改,所以我个人认为只要我们在写第一个单词的时候把它的属性改为CENTER,那么我们如果要放大或者缩小文字... [/B]

  实际工作中有很多图你是以别人的图为底画图,你不可能先把已经存在底字属性都改为CENTER再接下去画你的图。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8个

财富等级: 恭喜发财

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

使用道具 举报

发表于 2003-4-3 07:47:52 | 显示全部楼层
程序写多了反而忘了指令!!呵呵!!
放大或缩小选定的文字对象,而不改变它们的位置
「文字」工具列:  
「修改」菜单:「物件」 「文字」 「比例」
指令行: scaletext
选取对象:使用对象选取方式,完成选取后按下 ENTER
输入调整比例的基准点选项 [既有(E)/左(L)/中心(C)/中央(M)/右(R)/左上(TL)/中上(TC)/右上(TR)/左中(ML)/正中(MC)/右中(MR)/左下(BL)/中下(BC)/右下(BR)] <既有>:指定作为缩放基准点的位置
在要求输入基准点的提示下,您可以选择若干个位置中的一个作为缩放基准点,对于每个选取的文字对象都可以单独使用这些基准点。缩放基准点位于文字选项的一个插入点,但是即使全部选项与选择插入点时的选项相同,文字对象的对正方式也不受影响。
上面展示的基准点选项在 TEXT 指令中描述。除单行文字的「对齐」、「拟合」与「左边」文字选相当于左下 (BL) 多行文字贴附点之外,单行文字的基准点选项与多行文字的基准点选项类似。
指定文字高度或 [对象相符(M)/比例系数(S)] <0.5000>:指定文字高度或输入选项
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-4-8 11:19:04 | 显示全部楼层
我对cad2000的运用还算熟练,对编程是刚开始接触,请问如果目前还没有下载安装晓东工具箱是不是还不能用?
有没有解决的措施
我上次是在网吧下载小东工具箱的,一死几系统自动恢复了以后就没有了,都没考下来!
现在我是上班中,所以不能立刻下载,想问问这个程序我现在是否能用的了,如果不能,我等晚上回去下载了以后再说。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2003-4-15 10:32:11 | 显示全部楼层
cad本身也考虑周全!
可惜太多的命令我们不会用
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-4-17 12:29:58 | 显示全部楼层
不要随便说easy,先试试.
http://www.xdcad.net/forum/showt ... d=206851#post206851
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-19 20:49 , Processed in 0.267367 second(s), 64 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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