这样求出来的好像是终点,不是中点 (defun midPtarc (arc / arcList radius ctrPt startPt endPt midChrd mid) (setq arcList (entget arc) radius (cdr (assoc 40 arcList)) ctrPt (cdr (assoc 10 arcList)) startPt (polar ctrPt (cdr (assoc 50 arcList)) radius) endPt (polar ctrPt (cdr (assoc 51 arcList)) radius) midChrd (mapcar '* (mapcar '+ startpt endpt) '(0.5 0.5 0.5)) mid (polar ctrPt (angle ctrPt midChrd) radius) ) ) |