QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 woaishuijia 于 2013-9-24 05:24 编辑 ( }  C) F( k" k4 {

7 C  P2 f0 v+ q求助,Set WORDS = ThisDrawing.ModelSpace.AddAttribute(H, acAttributeModeNormal, prompt, D, tag, value)3 H9 `- t/ g$ c( V- Z0 ]
用这个语句添加一个块属性时,发现添加上去的文字宽高比总是1,而不是当前文字样式中设置的值,求各位指导一下,谢谢
/ Q* T4 Q- a2 Y. x" z另外,添加的文字边界限定宽度怎么设置呢。如下图
- g* S- \$ P, p3 A QQ截图20130914163342.jpg
7 l4 k5 p: |1 }8 Q3 Z" a" m) @7 ~' N4 k" ?( c% C( [
只有在选中 文字为 多行文字的时候才能设置限定宽度,这个设置在VBA中如何体现,用什么命令
7 t' M7 P" v: Y' p+ h. e
发表于 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"属性修改宽高比.例如
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double7 p. f6 d7 s  z% f0 {; r" A
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")
    0 T1 M0 y6 Z6 S7 C+ G4 N& V
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")
    5 e6 V& x. r% e7 }0 i
  4. AAA.ScaleFactor = 0.6
    $ D, v0 o5 {! v
  5. ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码
块属性(多行文字)的边界宽度用属性对象的"MTextBoundaryWidth"属性,例如
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double
    , r! A% q3 v6 Z8 T- b& D
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")
    4 N: f/ ]# X' i5 H, |- t0 `4 Y
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeMultipleLine, "", P, "mm", "ffff")  }3 H! n7 X0 L2 f
  4. AAA.MTextBoundaryWidth = 100
    : P9 @! n; p  \) s& Y: i
  5. ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码
或者
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double
    3 a9 A* ~  J) ]2 f' A6 s* k
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")2 ^3 k% E9 h' X1 u. t  R
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")
    2 R) k) B0 J4 [# B+ K+ m
  4. AAA.MTextAttribute = True8 M: C' ~1 c( q
  5. AAA.MTextBoundaryWidth = 100. x1 e8 \2 z! {
  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 )

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