下图红色直线是要标出的
- (defun c:test( / a2 am b2 bm cenpt cent en en_data n old_cl os p3 p4 p5 p6 pt1 pt2 rad ss)
- (setq ss (ssget '((0 . "ARC")))
- n 0
- old_cl (getvar "cecolor")
- os (getvar "osmode")
- )
- (repeat (sslength ss)
- (setq en (ssname ss n))
- (setq en_data (entget en))
- (setq cenpt (cdr (assoc 10 en_data)))
- (setq cent (trans cenpt 0 1))
- (setq rad (cdr (assoc 40 en_data)))
- (setq am (cdr (assoc 50 en_data)))
- (setq bm (cdr (assoc 51 en_data)))
- (setq pt1 (polar cent am rad))
- (setq pt2 (polar cent bm rad))
- (setq a2 (+ (* 1 pi) am))
- (setq p3 (polar pt1 am 0.05))
- (setq p4 (polar pt1 a2 0.05))
- (setq b2 (+ (* 1 pi) bm))
- (setq p5 (polar pt2 bm 0.05))
- (setq p6 (polar pt2 b2 0.05))
- (setvar "osmode" 0)
- (setvar "CECOLOR" "3")
- (command "line" p3 p4 "")
- (command "line" p5 p6 "")
- (setvar "cecolor" old_cl)
- (setvar "osmode" os)
- (setq n (1+ n))
- )
- (prin1)
- )
|