| 来个实例 
  (defun c:tt(/ ipts lst myspace obj1 obj2)
  (setq myspace(vla-get-modelspace(vla-get-activedocument (vlax-get-acad-object))));取得模型空间对象,图纸空间是vla-get-paperspace
  (setq obj1 (vla-addcircle myspace (vlax-3d-point '(0 0 0)) 50);模型空间创建圆
        obj2 (vla-addcircle myspace (vlax-3d-point '(1 1 0)) 50)
        )
  (setq ipts(vla-intersectwith obj1 obj2 0));取得俩物体的交点变体
  (setq ipts(vlax-safearray->list(vlax-variant-value ipts));将vla交点变体转化成表的形式
        lst '())
  (if (>(length ipts) 3);分离多个交点
    (repeat(/(length ipts)3)
      (setq lst(cons(list(car ipts)(cadr ipts)(caddr ipts)) lst))
      (setq ipts(cdddr ipts))
      )
    )
    lst
  )
(defun c:tt2(/ en1 en2 ipts lst obj1 obj2)
  (setq en1(entmakex(list '(0 . "circle")(cons 10 '(0 0 0))(cons 40 50)))
        en2(entmakex(list '(0 . "circle")(cons 10 '(1 1 0))(cons 40 50)))
        )
  (setq obj1(vlax-ename->vla-object en1)
        obj2(vlax-ename->vla-object en2)
        )
  (setq ipts(vla-intersectwith obj1 obj2 0));取得俩物体的交点变体
  (setq ipts(vlax-safearray->list(vlax-variant-value ipts));将vla交点变体转化成表的形式
        lst '())
  (if (>(length ipts) 3);分离多个交点
    (repeat(/(length ipts)3)
      (setq lst(cons(list(car ipts)(cadr ipts)(caddr ipts)) lst))
      (setq ipts(cdddr ipts))
      )
    )
    lst
  )
(defun c:tt3(/ en1 en2 ipts lst obj1 obj2)
  (command "circle" "non" '(0 0 0) "non" "50")
  (setq en1(entlast))
  (command "circle" "non" '(1 1 0) "non" "50")
  (setq en2(entlast))
  (setq obj1(vlax-ename->vla-object en1)
        obj2(vlax-ename->vla-object en2)
        )
  (setq ipts(vla-intersectwith obj1 obj2 0));取得俩物体的交点变体
  (setq ipts(vlax-safearray->list(vlax-variant-value ipts));将vla交点变体转化成表的形式
        lst '())
  (if (>(length ipts) 3);分离多个交点
    (repeat(/(length ipts)3)
      (setq lst(cons(list(car ipts)(cadr ipts)(caddr ipts)) lst))
      (setq ipts(cdddr ipts))
      )
    )
    lst
  )
 
 |