乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 60|回复: 2

利用VBA 写文字 对齐方面疑问

[复制链接]

2

主题

7

帖子

3

银币

初来乍到

Rank: 1

铜币
15
发表于 2011-10-11 21:30:00 | 显示全部楼层 |阅读模式
现在 我用 CAD VBA  写一个文字“--DK31+500"  ,插入到 坐标(100,100,0),即”--DK31+500“的左中 连到(100,100,0)点上, 代码写下
  1. Sub txt()
  2.     Dim mytxt As AcadTextStyle  
  3.     Dim ptinsert(2) As Double
  4.     Dim txtobj As AcadText
  5.         ptinsert(0) = 100: ptinsert(1) = 100: ptinsert(2) = 0
  6.     Set txtobj = ThisDrawing.ModelSpace.addtext("--DK31+500", ptinsert, 20)
  7.      txtobj.Alignment = acAlignmentMiddleLeft
  8. End Sub

运行代码后 , 竟然跑到 (0,0,0)这个点上啦, 如果把txtobj.Alignment = acAlignmentMiddleLeft 这行代码去掉,显示的是”--DK31+500“的左下角是(100,100,0),   我想让 这个文本的左中 对应的是坐标是(100,100,0) ,, 请高手看看,如何更改啊?
回复

使用道具 举报

1

主题

113

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
117
发表于 2011-10-11 23:08:00 | 显示全部楼层
  1. Sub txt()
  2.     Dim mytxt As AcadTextStyle
  3.     Dim ptinsert(2) As Double
  4.     Dim txtobj As AcadText
  5.    
  6.     ptinsert(0) = 100: ptinsert(1) = 100: ptinsert(2) = 0
  7.     Set txtobj = ThisDrawing.ModelSpace.AddText("--DK31+500", ptinsert, 20)
  8.    
  9.     txtobj.Alignment = acAlignmentMiddleLeft
  10.    
  11.     '加上下面此句即可
  12.     txtobj.TextAlignmentPoint = ptinsert
  13. End Sub
  14. '参见以下说明:
  15. '当 Alignment 属性设置为 acAlignmentLeft 时,该属性会自动复位为0, 0, 0,并且属性变为只读。
  16. '对齐到 acAlignmentLeft 的文字使用 InsertionPoint 属性来放置文字。
  17. '对齐到 acAlignmentAligned 或 acAlignmentFit 的文字同时使用 InsertionPoint 以及 TextAlignmentPoint 属性来放置文字。
  18. '对齐到其它任何位置的文字使用 TextAlignmentPoint 属性来放置文字。
回复

使用道具 举报

2

主题

7

帖子

3

银币

初来乍到

Rank: 1

铜币
15
发表于 2011-10-12 12:36:00 | 显示全部楼层
谢谢
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-30 16:29 , Processed in 1.012387 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表