多段线控制点
<P>怎么提取多个多段线控制点????</P><P>我用list结果是:</P>
<P> <BR></P>
<P>按 ENTER 键继续:<BR> LWPOLYLINE 图层: 0<BR> 空间: 模型空间<BR> 颜色: 253 线型: CONTINUOUS<BR> 句柄 = 8cfc6<BR> 打开<BR> 固定宽度 0.000<BR> <BR> 长度 5.441<BR>按 ENTER 键继续:</P>
<P> 于端点 X= 5484.000 Y= 298.000 Z= 0.000<BR> 于端点 X= 5487.900 Y= 299.200 Z= 0.000<BR> 于端点 X= 5489.000 Y= 300.000 Z= 0.000</P>
<P> ARC 图层: 0<BR> 空间: 模型空间<BR> 颜色: 253 线型: CONTINUOUS<BR> 句柄 = 8cef8<BR> 圆心 点, X= 5418.880 Y= 293.824 Z= 0.000<BR> 半径 13.209<BR> 起点 角度 67<BR> 端点 角度 130<BR> 长度 14.527</P>
<P> LWPOLYLINE 图层: 0<BR> 空间: 模型空间<BR> 颜色: 253 线型: CONTINUOUS<BR> 句柄 = 8cef2<BR> 打开<BR> 固定宽度 0.000<BR> 面积 6.588<BR> 长度 8.337</P>
<P> 于端点 X= 5412.000 Y= 297.000 Z= 0.000<BR> 于端点 X= 5411.000 Y= 297.000 Z= 0.000<BR> 于端点 X= 5410.000 Y= 298.000 Z= 0.000<BR> 于端点 X= 5410.353 Y= 303.912 Z= 0.000</P>
<P>如果我只要X和Y的数据,应该怎么办???</P>
<P>谢谢!!!</P> ;;;多义线顶点坐标集(支持框选)
(defun c:test124 ()
(princ "\n选取*PLINE多义线...")
(setq ss (ssget '((0 . "*POLYLINE")))
i -1
ptlst '()
)
(if ss
(progn
(while (setq ssn (ssname ss (setq i (1+ i))))
(setq retcoord (vla-get-Coordinates (vlax-ename->vla-object ssn))
n 0
)
(repeat
(/ (length (vlax-safearray->list (vlax-variant-value retcoord))
)
2
)
(setq ptx (vlax-safearray-get-element
(vlax-variant-value retcoord)
n
)
n (1+ n)
pty (vlax-safearray-get-element
(vlax-variant-value retcoord)
n
)
n (1+ n)
pt (list ptx pty)
ptlst (cons pt ptlst)
)
)
)
(princ "\n多义线顶点坐标集(!ptlst) : ")
(if ptlst
(princ ptlst)
)
)
(princ "\n未选到多义线!")
)
(princ)
)
页:
[1]