QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 woaishuijia 于 2013-9-24 05:24 编辑 , F* h8 Y) ]5 \  ]+ t
9 y5 @* n1 ]. l/ ?7 {
求助,Set WORDS = ThisDrawing.ModelSpace.AddAttribute(H, acAttributeModeNormal, prompt, D, tag, value)
; Y2 s( @$ _7 V% U用这个语句添加一个块属性时,发现添加上去的文字宽高比总是1,而不是当前文字样式中设置的值,求各位指导一下,谢谢
: J# y/ K/ u. w4 l# h另外,添加的文字边界限定宽度怎么设置呢。如下图3 i$ O# J' a* f! b& H" g. l5 i$ U5 ^  h
QQ截图20130914163342.jpg
+ q8 X6 @( i! ^. e( P1 s
) p/ e* x* r( p' ]; u9 _只有在选中 文字为 多行文字的时候才能设置限定宽度,这个设置在VBA中如何体现,用什么命令
$ _. W( X' Q, I0 r. l2 b5 F0 r
发表于 2013-9-24 05:34:18 | 显示全部楼层 来自: 中国吉林长春
本帖最后由 woaishuijia 于 2013-9-24 05:47 编辑 7 r% g: j7 H5 L% I3 D4 t5 q+ k

: ]$ D9 F3 Q7 A5 ?用 VBA 的"AddAttribute"方法添加块属性(单行文字)时,宽高比默认为1.可以在添加块属性后,用该属性对象的"ScaleFactor"属性修改宽高比.例如
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double
    8 L( ~! c8 l8 N1 i$ M# s
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")
    6 r8 m) c/ g( [& c
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")
    ' j( T  q5 @$ M& y& j
  4. AAA.ScaleFactor = 0.6
    3 ^. a/ E6 k7 D' @7 o" o" O
  5. ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码
块属性(多行文字)的边界宽度用属性对象的"MTextBoundaryWidth"属性,例如
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double
    3 ]) i0 y  C) w% p
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")
    % e" b! l3 u) m$ u
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeMultipleLine, "", P, "mm", "ffff")
    & X# y8 c, \7 w# Y9 O8 Y6 V7 Y
  4. AAA.MTextBoundaryWidth = 100- L& a2 n  _  U( H
  5. ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码
或者
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double9 y; e# `+ B- N4 |1 H
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")
    - k! E5 \/ E3 A7 L
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")
    & }$ l& s; P0 C2 O# I0 M
  4. AAA.MTextAttribute = True
    , F0 R: M. Z( y/ o& x; n
  5. AAA.MTextBoundaryWidth = 100& A# N3 X) \/ V, g! ?% c
  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 )

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