# s6 z+ T! j9 g0 }) U. c 文字 文字 文字02 文字03 # v+ Y& \) ?- i3 R, z% G 4 q5 i# u1 M$ }3 u6 [+ @文字 文字 ---------------- 文字01 文字04 ; ?' {" b, Q# d7 v% g 文字 文字06+ \& z3 G; a, R
文字 文字05作者: taqqug 时间: 2011-3-24 21:15
最好给出代码,谢谢了!作者: woaishuijia 时间: 2011-3-25 00:23
是否可以这样: ; Y9 G' b* ^8 s# B0 H, Z: P遍历所有文字对象并分别对其X和Y坐标加总平均,找出所有文字对象的几何中心点,再计算出所有文字对象相对于此点的角度,排序,按排序结果替换.& ~; q" h Q# B j+ \
下面的代码仅供参考
Dim SS As AcadSelectionSet, Ft(0) As Integer, Fd(0) As Variant, V As Variant, P(2) As Double, A() As Double, I As Integer, J As Integer, D As Double : h% T; X, T" T
With ThisDrawing! w+ W2 }( y. B# d9 W5 \
'创建选择集,用于选择所有文字对象3 k5 A* L# C x2 ?- h3 [; Z
Set SS = .SelectionSets.Add("SS")# ?+ F- q$ E& `% L' r
'定义过滤器为选择单行文字对象 1 c7 }" w% X$ Q+ D. f" R* z: S
Ft(0) = 0 % G/ t$ S' N; k3 ^5 T: B
Fd(0) = "TEXT"% n# I: D# F5 S: p$ Z
'选择所有单行文字对象 . l( c! x' h; a
SS.Select acSelectionSetAll, , , Ft, Fd5 |, S) I. h7 i9 \# U
Dim SS As AcadSelectionSet, Ft(0) As Integer, Fd(0) As Variant, V As Variant, P(2) As Double, A() As Double, I As Integer, J As Integer, D As Double" ]2 t6 F2 a1 M R
On Error Resume Next 4 w. _2 e- v' o5 `' R1 L
With ThisDrawing " a! P; V0 l& |
'创建选择集,用于选择所有文字对象 4 J! \! y$ }5 \) r B; j4 B6 Y2 a
Set SS = .SelectionSets.Add("SS") 6 D8 Y5 |; [# Z6 O0 P. A