这是我的代码,但仅限于闭合多段线。
- (defun c:Test (/ spc s)
- ;;; Tharwat 25. July. 2012 ;;;
- (vl-load-com)
- (if (not acdoc)
- (setq acdoc (vla-get-activedocument (vlax-get-acad-object)))
- )
- (setq spc (if (> (vla-get-activespace acdoc) 0)
- (vla-get-modelspace acdoc)
- (vla-get-paperspace acdoc)
- )
- )
- (while (setq s (ssget "_+.:S" '((0 . "LWPOLYLINE") (-4 . "&=") (70 . 1))))
- (progn (setq cn
- (vlax-get (setq
- r (car (vlax-invoke
- spc
- 'addregion
- (list (vlax-ename->vla-object (ssname s 0)))
- )
- )
- )
- 'centroid
- )
- )
- (print cn)
- (vla-delete r)
- )
- )
- (princ)
- )
|