|
|
发表于 2013-9-24 05:34:18
|
显示全部楼层
来自: 中国吉林长春
本帖最后由 woaishuijia 于 2013-9-24 05:47 编辑 1 G! z) E7 o, k! Z
% k/ i9 A1 o' U; o5 _
用 VBA 的"AddAttribute"方法添加块属性(单行文字)时,宽高比默认为1.可以在添加块属性后,用该属性对象的"ScaleFactor"属性修改宽高比.例如- Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double7 p. f6 d7 s z% f0 {; r" A
- Set B = ThisDrawing.Blocks.Add(P, "MMM")
0 T1 M0 y6 Z6 S7 C+ G4 N& V - Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")
5 e6 V& x. r% e7 }0 i - AAA.ScaleFactor = 0.6
$ D, v0 o5 {! v - ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码 块属性(多行文字)的边界宽度用属性对象的"MTextBoundaryWidth"属性,例如- Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double
, r! A% q3 v6 Z8 T- b& D - Set B = ThisDrawing.Blocks.Add(P, "MMM")
4 N: f/ ]# X' i5 H, |- t0 `4 Y - Set AAA = B.AddAttribute(2.5, acAttributeModeMultipleLine, "", P, "mm", "ffff") }3 H! n7 X0 L2 f
- AAA.MTextBoundaryWidth = 100
: P9 @! n; p \) s& Y: i - ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码 或者- Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double
3 a9 A* ~ J) ]2 f' A6 s* k - Set B = ThisDrawing.Blocks.Add(P, "MMM")2 ^3 k% E9 h' X1 u. t R
- Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")
2 R) k) B0 J4 [# B+ K+ m - AAA.MTextAttribute = True8 M: C' ~1 c( q
- AAA.MTextBoundaryWidth = 100. x1 e8 \2 z! {
- ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码 |
|