找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1173|回复: 4

[求助]:怎样改AcDbText的字宽

[复制链接]
发表于 2002-11-25 20:26:28 | 显示全部楼层 |阅读模式

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

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

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

已领礼包: 181个

财富等级: 日进斗金

发表于 2002-11-26 12:39:08 | 显示全部楼层
AcDbText是单行文字,所以就没有字宽,如果要取得文字的宽度,可以用GetBoundingBox方法获取文字在水平位置时所处的左下角坐标和右上角坐标,计算出长度。最后,如果文字设置了ScaleFactor,可以先计算出长度,再乘以这个系数。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-11-27 18:20:05 | 显示全部楼层
我说的字宽指的是字的宽高比,缺省是1,在textstyle中修改后,mtext文字会自动改,而dtext的文字不会自已改,要一个一个手动改。怎样写个程序一下改掉。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 181个

财富等级: 日进斗金

发表于 2002-11-27 18:32:38 | 显示全部楼层
附上程序,试试,按你的做法自己去加以改进。

  1.   [FONT=courier new]
  2. Sub Test()
  3.     On Error Resume Next
  4.     Dim SSetObj As AcadSelectionSet
  5.     Set SSetObj = ThisDrawing.SelectionSets("ScaleFactor")
  6.     If Err.Number <> 0 Then
  7.         Err.Clear
  8.         Set SSetObj = ThisDrawing.SelectionSets.Add("ScaleFactor")
  9.     End If
  10.     SSetObj.Clear
  11.     Dim fType(0 To 0) As Integer
  12.     Dim fData(0 To 0) As Variant
  13.     fType(0) = 0
  14.     fData(0) = "TEXT"
  15.     SSetObj.SelectOnScreen fType, fData
  16.     If SSetObj.Count = 0 Then Exit Sub
  17.     Dim sf As Double
  18.     sf = ThisDrawing.Utility.GetReal("请输入宽度比例: ")
  19.     Dim i As Integer
  20.     For i = 0 To SSetObj.Count - 1
  21.         SSetObj(i).ScaleFactor = sf
  22.     Next
  23.     Set SSetObj = Nothing
  24. End Sub
  25.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-11-28 09:40:41 | 显示全部楼层
ScaleFactor 这到确实提醒了我,先试一下,谢谢了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 07:07 , Processed in 0.392960 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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