|
|
发表于 2013-9-24 05:34:18
|
显示全部楼层
来自: 中国吉林长春
本帖最后由 woaishuijia 于 2013-9-24 05:47 编辑
$ C! b) Y7 B- q1 T, l- f& @$ ~, o4 W+ u1 i1 t7 ^5 U
用 VBA 的"AddAttribute"方法添加块属性(单行文字)时,宽高比默认为1.可以在添加块属性后,用该属性对象的"ScaleFactor"属性修改宽高比.例如- Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double
' l/ T& \* U7 a5 U/ h - Set B = ThisDrawing.Blocks.Add(P, "MMM")
1 J1 A3 C1 a6 K6 _9 x - Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")
2 Z/ V& ]% `# ^+ p$ c2 a - AAA.ScaleFactor = 0.6' Q0 A) [6 x5 Z1 o# [' E, i
- ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码 块属性(多行文字)的边界宽度用属性对象的"MTextBoundaryWidth"属性,例如- Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double- G) Y# E! L" b% c, X4 v0 w/ x G
- Set B = ThisDrawing.Blocks.Add(P, "MMM")9 L4 y" S0 Q2 e* c8 o
- Set AAA = B.AddAttribute(2.5, acAttributeModeMultipleLine, "", P, "mm", "ffff")
7 N4 H. B0 i1 V, O1 U9 X - AAA.MTextBoundaryWidth = 1003 S8 d, q0 F& ^* L, x8 J% x+ f
- ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码 或者- Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double
- x# n4 h$ l4 |( s - Set B = ThisDrawing.Blocks.Add(P, "MMM")9 t8 Z$ l. `5 V5 F
- Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")
/ f# N8 F" ?, T/ W - AAA.MTextAttribute = True
6 `, F& F# K; _, |3 e ^0 _ - AAA.MTextBoundaryWidth = 100
4 T, L; A/ z6 {3 N. @) s0 E8 r0 s/ e - ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码 |
|