QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 woaishuijia 于 2013-9-24 05:24 编辑
- n5 Y( t! Q/ g9 [, m# j# S# Q3 K4 Z$ c. P% H+ |$ n) o
求助,Set WORDS = ThisDrawing.ModelSpace.AddAttribute(H, acAttributeModeNormal, prompt, D, tag, value)
4 d/ E. @: d# g( ~# D用这个语句添加一个块属性时,发现添加上去的文字宽高比总是1,而不是当前文字样式中设置的值,求各位指导一下,谢谢
" J8 W% W5 _$ Q: j6 i' c- Y0 [9 }另外,添加的文字边界限定宽度怎么设置呢。如下图
: Q! _3 a5 g* D3 s4 U/ p QQ截图20130914163342.jpg : e# x9 I. g: }9 s% R0 v
5 q4 ^9 E& B. e
只有在选中 文字为 多行文字的时候才能设置限定宽度,这个设置在VBA中如何体现,用什么命令
$ X  @- L3 U! q
发表于 2013-9-24 05:34:18 | 显示全部楼层 来自: 中国吉林长春
本帖最后由 woaishuijia 于 2013-9-24 05:47 编辑
% z0 j2 q) ^5 m5 i4 K
3 D" K: e9 n- R) l( j# r用 VBA 的"AddAttribute"方法添加块属性(单行文字)时,宽高比默认为1.可以在添加块属性后,用该属性对象的"ScaleFactor"属性修改宽高比.例如
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double
    9 W& U+ X$ `9 D. U5 d2 ]
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")+ x) e+ ?6 G. Z; B' A
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")4 v  k0 E. `0 w" v
  4. AAA.ScaleFactor = 0.6
    ; d2 l% G& e$ j* a, |
  5. ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码
块属性(多行文字)的边界宽度用属性对象的"MTextBoundaryWidth"属性,例如
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double7 T) b3 i9 {* g  \) y/ X4 P) C0 d
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")
    - J9 I: q; }# N6 Z2 A% K
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeMultipleLine, "", P, "mm", "ffff")3 f2 F' Y2 _+ x1 I1 o3 K/ V4 O
  4. AAA.MTextBoundaryWidth = 1007 t5 x0 E5 t" L) W+ B7 ?- C
  5. ThisDrawing.ModelSpace.InsertBlock P, "MMM", 1, 1, 1, 0
复制代码
或者
  1. Dim B As AcadBlock, AAA As AcadAttribute, P(2) As Double+ Z* {$ J/ O# O7 X- L
  2. Set B = ThisDrawing.Blocks.Add(P, "MMM")
    8 p5 _0 N" }5 q0 J
  3. Set AAA = B.AddAttribute(2.5, acAttributeModeNormal, "", P, "mm", "ffff")  r/ g2 o$ ~+ m" q/ W3 _! z8 ]
  4. AAA.MTextAttribute = True4 I  {. Y% ]$ F/ d% ^4 X; B0 J+ d
  5. AAA.MTextBoundaryWidth = 100
    6 G; }! t3 q" X6 s: q
  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 )

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