QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 woaishuijia 于 2013-9-24 05:24 编辑
5 G7 r% F7 Y( M6 j/ H
* f! Z. e4 M! z: {( R求助,Set WORDS = ThisDrawing.ModelSpace.AddAttribute(H, acAttributeModeNormal, prompt, D, tag, value)4 C) R# d; @: k+ O
用这个语句添加一个块属性时,发现添加上去的文字宽高比总是1,而不是当前文字样式中设置的值,求各位指导一下,谢谢6 m6 g/ n1 L) Q
另外,添加的文字边界限定宽度怎么设置呢。如下图
' f: y. z( l% G8 Y4 A QQ截图20130914163342.jpg
: W2 U# F- J3 I: h6 b& b! y6 x9 ?& E0 u2 y3 v
只有在选中 文字为 多行文字的时候才能设置限定宽度,这个设置在VBA中如何体现,用什么命令7 u0 o0 m2 d7 x/ I$ d0 ]
发表于 2013-9-24 05:34:18 | 显示全部楼层 来自: 中国吉林长春
本帖最后由 woaishuijia 于 2013-9-24 05:47 编辑
2 k$ x9 E8 E# y: N2 F
0 w. H: X1 D. x. ^; ~  u% T用 VBA 的"AddAttribute"方法添加块属性(单行文字)时,宽高比默认为1.可以在添加块属性后,用该属性对象的"ScaleFactor"属性修改宽高比.例如
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double
    & w. A% |( ?# M  x! {- M+ K9 |
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")' U; b/ s3 V* @6 O% |5 k' J/ C# I
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")$ A  [0 S; m3 `% T: G, l( A
  4. AAA.ScaleFactor = 0.6* t) x. |6 U8 n5 p3 Z
  5. ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码
块属性(多行文字)的边界宽度用属性对象的"MTextBoundaryWidth"属性,例如
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double
    / E" V+ w! @( P: O) \6 `
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")) x( V, T" [6 F$ c3 D. j; A6 s1 a9 f
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeMultipleLine, "", P, "mm", "ffff")
    * @  E! V5 c' V$ m2 z) j6 B1 R9 L
  4. AAA.MTextBoundaryWidth = 100
    + k0 Y& m- c5 S# a' O
  5. ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码
或者
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double+ ?" [. V9 N) f* d6 R1 T, r
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")
    6 D+ U! H2 {2 s0 {( \9 F1 K
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")
    # t5 r3 c. Y, x2 s; s, _
  4. AAA.MTextAttribute = True+ m+ K2 T8 X7 D1 h  p% m' W+ `1 L$ C8 |
  5. AAA.MTextBoundaryWidth = 1007 u$ y( u1 m8 i" U% M
  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 )

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