QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
8天前
查看: 2292|回复: 1
收起左侧

[已答复] 用VBA新建一个块属性定义时,用什么参数设置块属性文字的宽高比

[复制链接]
发表于 2013-9-14 16:31:59 | 显示全部楼层 |阅读模式 来自: 中国江苏南京

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
本帖最后由 woaishuijia 于 2013-9-24 05:24 编辑
& ^( Q/ X. `; {8 |
- g# ]4 K# i/ ^$ O求助,Set WORDS = ThisDrawing.ModelSpace.AddAttribute(H, acAttributeModeNormal, prompt, D, tag, value)
% V1 ^3 r5 r, b$ D% D0 ], M8 K: u用这个语句添加一个块属性时,发现添加上去的文字宽高比总是1,而不是当前文字样式中设置的值,求各位指导一下,谢谢9 f  o6 [. E  z* Y/ z/ y
另外,添加的文字边界限定宽度怎么设置呢。如下图
. |9 o4 l; f/ Y* P" @ QQ截图20130914163342.jpg
: G+ a) q* A$ D- T. |3 O3 E( g
只有在选中 文字为 多行文字的时候才能设置限定宽度,这个设置在VBA中如何体现,用什么命令* K& i6 ^0 m5 |' m2 n
发表于 2013-9-24 05:34:18 | 显示全部楼层 来自: 中国吉林长春
本帖最后由 woaishuijia 于 2013-9-24 05:47 编辑 # S* N) j4 O$ }+ u# @

# X/ q" s# u6 m- U; n& w; Z用 VBA 的"AddAttribute"方法添加块属性(单行文字)时,宽高比默认为1.可以在添加块属性后,用该属性对象的"ScaleFactor"属性修改宽高比.例如
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double# c; j! y5 x& L/ C7 v5 J8 d1 I
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")
    $ W  O4 n% {  @4 ^4 @
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")% Y4 G1 n/ v+ L1 u) F1 Y! E
  4. AAA.ScaleFactor = 0.6* M+ U5 j5 t- m2 i" g4 f1 ]
  5. ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码
块属性(多行文字)的边界宽度用属性对象的"MTextBoundaryWidth"属性,例如
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double, u6 K; l$ y4 [# n
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")
    2 {! s0 }7 V* x* W+ Q
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeMultipleLine, "", P, "mm", "ffff"). [; p/ I9 w# c  i
  4. AAA.MTextBoundaryWidth = 100
    6 f: z: w- O) a2 F, }
  5. ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码
或者
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double" t% ~% ?- ]& H& b, `5 i; ^
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")
      {1 K1 ]" X3 a% t
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")- i0 ]' u# }$ j6 ?: O. z
  4. AAA.MTextAttribute = True# O( A; i# x9 V! L1 D1 m  b
  5. AAA.MTextBoundaryWidth = 100
    5 Y, v7 i+ h( N, c5 F' O4 l
  6. ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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