 - ;;返回多段线顶点表
- ;;From mjtd.com
- ;;支持2D/3D多段线
- ;;modfiy by edata
- (defun vertexs (ename / plist pp n)
- (cond
- ((and ename(= (cdr(assoc 0 (entget ename))) "POLYLINE"))
- (progn
- (setq obj (vlax-ename->vla-object ename))
- (setq plist (vlax-safearray->list
- (vlax-variant-value
- (vla-get-coordinates obj))))
- (setq n 0)
- (repeat (/ (length plist) 3)
- (setq pp (append pp (list (list (nth n plist)(nth (1+ n) plist)(nth (1+ (1+ n)) plist)))))
- (setq n (+ n 3))
- )
- pp
- ))
- ((and ename(= (cdr(assoc 0 (entget ename))) "LWPOLYLINE"))
- (progn
- (setq obj (vlax-ename->vla-object ename))
- (setq plist (vlax-safearray->list
- (vlax-variant-value
- (vla-get-coordinates obj))))
- (setq n 0)
- (repeat (/ (length plist) 2)
- (setq pp (append pp (list (list (nth n plist)(nth (1+ n) plist)))))
- (setq n (+ n 2))
- )
- pp
- ))
- )
- )
|