找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1044|回复: 6

[VBA程序]: 怎么样改变标注比例

[复制链接]
发表于 2002-12-27 14:09:40 | 显示全部楼层 |阅读模式

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

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

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

已领礼包: 181个

财富等级: 日进斗金

发表于 2002-12-27 14:18:29 | 显示全部楼层
如果是改变尺寸值的高度,用TextHeight属性,
如果是改变尺寸值的宽高比例,用ScaleFactor属性,
如果是改变标注对象的整体比例,用ScaleEntity方法。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-12-27 18:30:57 | 显示全部楼层
如果图上距离是100,我要标准的是10,应该怎么样让标准的是10而不是100
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 181个

财富等级: 日进斗金

发表于 2002-12-27 19:38:17 | 显示全部楼层
这个可以用标注对象的TextOverrid属性来实现,它的作用就是用自己定义的尺寸代替标注当中的实际测量值,恢复时只要把它设为空字符串就可以了。
如下:


  1.   [FONT=courier new]

  2.     ' dimObj.Measurement的值为100,测量值,只读。
  3.     dimObj.TextOverride = "10"
  4.     dimObj.Update

  5.     ' 恢复测量尺寸
  6.     dimObj.TextOverride = ""
  7.     dimObj.Update

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

使用道具 举报

 楼主| 发表于 2002-12-27 20:02:13 | 显示全部楼层
如果我有好多这样的标注,这样是不是很麻烦?
l=obj.Measurement
obj.TextOverride =l/10
obj.update
这样我想也行吧,不过,有点麻烦,要是有一个想在cad那样的设一个比例,它就可以改过来,
那多好!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 181个

财富等级: 日进斗金

发表于 2002-12-27 20:54:53 | 显示全部楼层
如果仅是简单的比例变化,可以用LinearScaleFactor属性啊,但它只对这几种标注对象有用:DimAligned, DimDiametric, DimOrdinate, DimRadial, DimRotated,你可能设置了对其它的标注对象进行这种操作了,它的值必须大于零。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 181个

财富等级: 日进斗金

发表于 2002-12-27 21:24:05 | 显示全部楼层
下面是一个通用的函数设置线性标注比例。
传入的参数:SSetObj ,选择集对象。LinearScaleFactor,线性比例因子。

  1.   [FONT=courier new]
  2. Public Sub DimLinearScaleFactor(ByVal SSetObj As AcadSelectionSet, ByVal LinearScaleFactor As Double)
  3.     Dim i As Integer
  4.     For i = 0 To SSetObj.Count - 1
  5.         If SSetObj(i).ObjectName = "AcDbAlignedDimension" _
  6.             Or SSetObj(i).ObjectName = "AcDbDiametricDimension" _
  7.             Or SSetObj(i).ObjectName = "AcDbOrdinateDimension" _
  8.             Or SSetObj(i).ObjectName = "AcDbRadialDimension" _
  9.             Or SSetObj(i).ObjectName = "AcDbRotatedDimension" Then
  10.                 SSetObj(i).LinearScaleFactor = LinearScaleFactor
  11.         End If
  12.     Next
  13. End Sub
  14.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 05:23 , Processed in 0.453320 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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