开源代码
 - ;|函数功能,寻找包含pt点的最小封闭多边形
- 使用格式,(n5-minpl pt);1,PT是个坐标情况下;如果存在返回图元名,否则nil
- (n5-minpl pt);1,PT是个坐标表情况下;如果存在返回与坐标表对应的图元名表,否则nil|;
- (defun n5-minpl(pt / lst nlst)
- (cond
- ((/= (type (car pt)) 'LIST)
- (setq lst(mapcar 'cadr(ssnamex (ssget "f" (list pt (list (car pt)(+ 1000000(cadr pt))))))))
- (setq lst (vl-remove-if-not'(lambda(x)(AND(= "LWPOLYLINE"(CDR(ASSOC 0 (ENTGET x))))(MEMBER (CDR(ASSOC 70 (ENTGET X)))(LIST 1 129))))LST))
- (IF LST (SETQ NLST(CAR LST)) (SETQ NLST NIL)))
- ((= (type (car pt)) 'LIST)(FOREACH A PT (SETQ NLST (CONS (N5-MINPL A)NLST))))
- )
- (if (= 'LIST (TYPE NLST))(SETQ NLST(REVERSE nLST)) NLST)
-
- )
|