我猜你在找这样的东西:
- (defun c:myprogram ( / cen enx pnt sel )
- (if (setq sel (ssget "_+.:E:S" '((0 . "LWPOLYLINE,CIRCLE"))))
- (if (= "LWPOLYLINE" (cdr (assoc 0 (setq enx (entget (ssname sel 0))))))
- (while (setq pnt (assoc 10 enx))
- (entmake (list '(0 . "POINT") pnt))
- (setq enx (cdr (member pnt enx)))
- )
- (progn
- (setq cen (cdr (assoc 10 enx))
- pnt (list (cdr (assoc 40 enx)) 0.0)
- )
- (repeat 4
- (setq pnt (list (cadr pnt) (- (car pnt))))
- (entmake (list '(0 . "POINT") (cons 10 (mapcar '+ cen pnt))))
- )
- )
- )
- )
- (princ)
- )
PS:我希望你以后能保留我的函数头 |