QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2366|回复: 1
收起左侧

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

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

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

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

x
本帖最后由 woaishuijia 于 2013-9-24 05:24 编辑
8 R7 \  _5 E. `3 e- r( ?1 x: N/ Q% ]+ x9 A& v% j6 e
求助,Set WORDS = ThisDrawing.ModelSpace.AddAttribute(H, acAttributeModeNormal, prompt, D, tag, value): [+ E; e. L; ~9 f
用这个语句添加一个块属性时,发现添加上去的文字宽高比总是1,而不是当前文字样式中设置的值,求各位指导一下,谢谢3 ?1 O; _5 o) S/ U! W" o( Z
另外,添加的文字边界限定宽度怎么设置呢。如下图
: g1 }( c7 V7 w, u" ~6 o; a7 i, P QQ截图20130914163342.jpg & f0 U# c: q' X' @. ]* m
/ R7 {( j( ^8 j! D. V: C6 g
只有在选中 文字为 多行文字的时候才能设置限定宽度,这个设置在VBA中如何体现,用什么命令0 n, _, s2 m% K6 d! L
发表于 2013-9-24 05:34:18 | 显示全部楼层 来自: 中国吉林长春
本帖最后由 woaishuijia 于 2013-9-24 05:47 编辑
9 ~: _9 f/ X" t' @& Q9 |7 w; d8 {; l& D3 Z( Q
用 VBA 的"AddAttribute"方法添加块属性(单行文字)时,宽高比默认为1.可以在添加块属性后,用该属性对象的"ScaleFactor"属性修改宽高比.例如
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double$ V" H/ a' C# Q/ p
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")
    0 o( ?- V8 I- \: g3 i2 y" z
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")' K$ ~& m2 {7 @1 b* @& i  b3 v$ q
  4. AAA.ScaleFactor = 0.6) }; ~# E$ Z2 X: p3 l: F2 t, \
  5. ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码
块属性(多行文字)的边界宽度用属性对象的"MTextBoundaryWidth"属性,例如
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double/ E, z/ C4 L, g$ P# O( ]
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")$ a% x+ Z% C  \3 l/ t
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeMultipleLine, "", P, "mm", "ffff")
    0 o7 c3 w6 Y, s5 @  ^! o
  4. AAA.MTextBoundaryWidth = 100
    * e8 }9 R, \9 y" X8 u; Y7 k1 g* M) s
  5. ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码
或者
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double% w: ~) w6 ]3 E" q; H0 B8 J
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")& c9 v( T9 t. |) ]& s
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")0 p9 o8 z/ {6 Z' y
  4. AAA.MTextAttribute = True
    9 [  j) C6 Y) s+ H  H
  5. AAA.MTextBoundaryWidth = 100! s9 b3 N" J2 ]! P8 b
  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 )

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