|
发表于 2013-9-24 05:34:18
|
显示全部楼层
来自: 中国吉林长春
本帖最后由 woaishuijia 于 2013-9-24 05:47 编辑 ( F7 A, e/ o5 J( B
! \1 ~/ w, S$ H( w8 H. \2 w; k% Y' R
用 VBA 的"AddAttribute"方法添加块属性(单行文字)时,宽高比默认为1.可以在添加块属性后,用该属性对象的"ScaleFactor"属性修改宽高比.例如- Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double8 m: F* V$ a! ]& I5 l& a9 a) L/ l
- Set B = ThisDrawing.Blocks.Add(P, "MMM")
' o/ A) p7 i5 T/ h, c6 F - Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff"); Q' P" m+ T- r. C# u9 M
- AAA.ScaleFactor = 0.6
+ e; G9 }1 y; v. u5 F6 Q - ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码 块属性(多行文字)的边界宽度用属性对象的"MTextBoundaryWidth"属性,例如- Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double
- O0 z: a- |+ j# F4 A( U4 i3 `# B - Set B = ThisDrawing.Blocks.Add(P, "MMM")+ h( Q7 F6 N* a2 G( P" B
- Set AAA = B.AddAttribute(2.5, acAttributeModeMultipleLine, "", P, "mm", "ffff")& u2 @* a# W& G& e" H! Q" U- S: f
- AAA.MTextBoundaryWidth = 100
& x0 E, g$ B/ Q0 ^) |1 `$ v - ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码 或者- Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double
0 d. @0 ]& E2 E- @% e7 f - Set B = ThisDrawing.Blocks.Add(P, "MMM")
L' ]+ ~" ]: I& T' @ - Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")% k* t" a! T" a( l
- AAA.MTextAttribute = True3 V u h! j. L: y
- AAA.MTextBoundaryWidth = 100
" O; Y, g1 J6 a - ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码 |
|