;;圆弧反向
(defun c:arc_reverse (/ e obj s ss)
  (setq ss (ssget ":S" '((0 . "arc"))))
  (or ss (fsxm-silenceexit))
  (foreach arc (fsxm-ss->enlist ss)
    (setq obj (vlax-ename->vla-object arc)
	  e   (vlax-curve-getEndParam arc)
	  s   (vlax-curve-getStartParam arc)
    )
    (vla-put-StartAngle obj e)
    (vla-put-EndAngle obj s)
  )
  (c:arc_reverse)
)
;;圆弧变圆
(defun c:arc_to_circle (/ data ss)
  (setq ss (ssget ":S" '((0 . "arc"))))
  (or ss (fsxm-silenceexit))
  (foreach arc (fsxm-ss->enlist ss)
    (setq data (cons '(0 . "CIRCLE")
		     (vl-remove-if
		       '(lambda	(a)
			  (vl-position (car a) '(0 50 51))
			)
		       (entget arc)
		     )
	       )
    )
    (entmake data)
    (entdel arc)
  )
  (c:arc_to_circle)
)