取得pline关键点的坐标
<P>如何取得pline线关键点的坐标组成一个选择集</P>reply
<P>取得线结点坐标,返回点表:</P><P>(defun *ax:GetVertexList (Ename / obj tmp coords oname start end)<BR> <BR> (setq obj (*ax:MakeObject Ename)<BR> coords '()<BR> oname (*ax:ObjectName obj))<BR> <BR> (if (member oname '("AcDbPolyline" "AcDb2dPolyline"))<BR> (progn<BR> (setq tmp (vlax-safearray->list<BR> (vlax-variant-value<BR> (vlax-get-property<BR> obj<BR> 'Coordinates))))<BR> (cond<BR> ((= oname "AcDb2dPolyline") ;Polyline<BR> (while tmp<BR> (setq coords (append coords (list (list (car tmp)(cadr tmp)(caddr tmp))))<BR> tmp (cdddr tmp))<BR> );while<BR> );<BR> ((= oname "AcDbPolyline") ;LWPolyline<BR> (while tmp<BR> (setq coords (append coords (list (list (car tmp)(cadr tmp))))<BR> tmp (cddr tmp))<BR> );while<BR> );<BR> );cond<BR> );<BR> );if</P>
<P> (if (= oname "AcDbLine")<BR> (progn<BR> (setq start (vlax-safearray->list<BR> (vlax-variant-value<BR> (vlax-get-property obj 'StartPoint)))<BR> end (vlax-safearray->list<BR> (vlax-variant-value<BR> (vlax-get-property obj 'EndPoint)))<BR> coords (append coords (list start))<BR> coords (append coords (list end)))<BR> )<BR> );if<BR> coords<BR>)</P> <P>((-1 . <ͼԪÃû: 7ef50e78>) (0 . "LWPOLYLINE") (330 . <ͼԪÃû: <BR>7ef50cf8>) (5 . "87") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") <BR>(100 . "AcDbPolyline") (90 . 10) (70 . 1) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 <BR>520.312 887.337) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 901.354 927.418) (40 . <BR>0.0) (41 . 0.0) (42 . 0.0) (10 873.333 739.408) (40 . 0.0) (41 . 0.0) (42 . <BR>0.436024) (10 891.634 716.515) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 1280.74 <BR>687.642) (40 . 0.0) (41 . 0.0) (42 . -0.615591) (10 1294.42 654.653) (40 . 0.0) <BR>(41 . 0.0) (42 . 0.0) (10 1006.09 319.53) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 <BR>703.034 424.185) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 553.737 584.507) (40 . <BR>0.0) (41 . 0.0) (42 . 0.0) (10 404.44 720.335) (40 . 0.0) (41 . 0.0) (42 . 0.0) <BR>(210 0.0 0.0 1.0))</P>
<P>可以不用这么复杂,就是把上面的列表中含有10的都选出来,组成一个新的列表。我记得好象用foreach就可以实现,好久不用忘了</P> <P>你说的只是针对lwpolyline.</P>
<P> </P>
页:
[1]