本帖最后由 ZZXXQQ 于 2012-1-9 22:47 编辑
 - (defun c:test1 ()
- (princ "\n ****本程序为求封闭的大物体与其包含的多个封闭小物体的面积之差****")
- (princ "\n 请选择封闭物体(圆、多边形)....")
- (setq ss (ssget '((0 . "CIRCLE,LWPOLYLINE"))))
- (setq i 0
- lis '()
- )
- (repeat (sslength ss)
- (setq ent (ssname ss i))
- (setq obj (vlax-ename->vla-object ent))
- (setq s (list (vla-get-Area obj)))
- (setq lis (append s lis))
- (setq i (1+ i))
- )
- (setq lis (vl-sort lis '>))
- (setq es (eval (cons '- lis)))
- (command "_.TEXT" PAUSE "" "" (strcat "大面积 = " (rtos (car lis) 2)))
- (foreach x (cdr lis) (command "_.TEXT" "" (strcat "内部面积=" (rtos x 2))))
- (command "_.TEXT" "" (strcat "面积差 = " (rtos es 2)))
- (princ)
- )
|