QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 woaishuijia 于 2013-9-24 05:24 编辑
. k0 R% |0 _9 A. ~2 a3 {6 ^) s0 ~) V# G. a3 C
求助,Set WORDS = ThisDrawing.ModelSpace.AddAttribute(H, acAttributeModeNormal, prompt, D, tag, value)
) e- @! y( s, p$ ^3 I用这个语句添加一个块属性时,发现添加上去的文字宽高比总是1,而不是当前文字样式中设置的值,求各位指导一下,谢谢' `$ a- N; g5 c& P0 x
另外,添加的文字边界限定宽度怎么设置呢。如下图
+ {4 `9 r. o0 U# o0 X, C) r/ s8 i QQ截图20130914163342.jpg ( H/ Q" w4 _8 ?& Z

/ X* J( w* x1 G只有在选中 文字为 多行文字的时候才能设置限定宽度,这个设置在VBA中如何体现,用什么命令: @8 C2 H; M  s8 f; k* o; C6 f# V
发表于 2013-9-24 05:34:18 | 显示全部楼层 来自: 中国吉林长春
本帖最后由 woaishuijia 于 2013-9-24 05:47 编辑 0 p- [& c5 P9 Z  M, a: W0 d( S2 ?8 ]1 Z
5 t" Z& j3 u7 u* H
用 VBA 的"AddAttribute"方法添加块属性(单行文字)时,宽高比默认为1.可以在添加块属性后,用该属性对象的"ScaleFactor"属性修改宽高比.例如
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double
    9 d. c! f; m0 j* T2 E1 R8 y
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")# u$ J6 R6 c& q0 ^( J1 z6 ^
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")/ w3 I& w+ s" s4 [2 q5 Z# V
  4. AAA.ScaleFactor = 0.6
    ; t6 V: |1 m  n
  5. ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码
块属性(多行文字)的边界宽度用属性对象的"MTextBoundaryWidth"属性,例如
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double4 ?! T8 [. T+ M6 b% N
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")0 ?1 Q( {% P. N9 g2 E6 i& l  L# v
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeMultipleLine, "", P, "mm", "ffff")
    / i: a% {* v; F1 Y
  4. AAA.MTextBoundaryWidth = 1007 l1 u* V& w7 N' V
  5. ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码
或者
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double7 h" w/ g0 X7 G8 O0 L* F) P
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")
    ; P7 A. \9 _2 r# u& q# S4 T$ q( J. X
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")
    & y) G8 F0 U3 U% y8 i' r
  4. AAA.MTextAttribute = True
    ' r$ D5 c  X" I9 `# ^6 m) z
  5. AAA.MTextBoundaryWidth = 100
    $ ]) I( J; W6 y$ I) e4 B4 f5 {$ D. d
  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 )

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