利用VBA 写文字 对齐方面疑问
现在 我用 CAD VBA写一个文字“--DK31+500",插入到 坐标(100,100,0),即”--DK31+500“的左中 连到(100,100,0)点上, 代码写下Sub txt()
Dim mytxt As AcadTextStyle
Dim ptinsert(2) As Double
Dim txtobj As AcadText
ptinsert(0) = 100: ptinsert(1) = 100: ptinsert(2) = 0
Set txtobj = ThisDrawing.ModelSpace.addtext("--DK31+500", ptinsert, 20)
txtobj.Alignment = acAlignmentMiddleLeft
End Sub
运行代码后 , 竟然跑到 (0,0,0)这个点上啦, 如果把txtobj.Alignment = acAlignmentMiddleLeft 这行代码去掉,显示的是”--DK31+500“的左下角是(100,100,0), 我想让 这个文本的左中 对应的是坐标是(100,100,0) ,, 请高手看看,如何更改啊?
本帖最后由 wylong 于 2011-10-11 23:13 编辑
Sub txt()
Dim mytxt As AcadTextStyle
Dim ptinsert(2) As Double
Dim txtobj As AcadText
ptinsert(0) = 100: ptinsert(1) = 100: ptinsert(2) = 0
Set txtobj = ThisDrawing.ModelSpace.AddText("--DK31+500", ptinsert, 20)
txtobj.Alignment = acAlignmentMiddleLeft
'加上下面此句即可
txtobj.TextAlignmentPoint = ptinsert
End Sub
'参见以下说明:
'当 Alignment 属性设置为 acAlignmentLeft 时,该属性会自动复位为0, 0, 0,并且属性变为只读。
'对齐到 acAlignmentLeft 的文字使用 InsertionPoint 属性来放置文字。
'对齐到 acAlignmentAligned 或 acAlignmentFit 的文字同时使用 InsertionPoint 以及 TextAlignmentPoint 属性来放置文字。
'对齐到其它任何位置的文字使用 TextAlignmentPoint 属性来放置文字。 谢谢
页:
[1]