(defun c:7test3a()
;以下 pa、ww、hh、n值
(setq n(getint"请求输入正多边形边数,N="))
(setq en(entsel"\n选取想作内切或外切正多边形的圆:"))
(initget "C c I i")
(setq side (strcase side))
(setq I 0)
(setq C 0)
(while en ;当en存在时,执行以下循环内容,直到en不存在为止
(setq en_data(entget(car en)))
(setq en_type(cdr(assoc 0 en_data)))
(if(= en_type"CIRCLE")
(progn
(setq cenpt(cdr(assoc 10 en_data)))
(setq rad (cdr(assoc 40 en_data)))
(setq side (getkword "内接I或外切C:"))
(cond ((= side I )(Command"polygon" n cenpt"I"rad)(setq I (1+ I)))
((= side C )(Command"polygon" n cenpt"C"rad)(setq C (1+ C)))
)
)
(alert"该对象并不是圆,请重新选取圆")
) ;end if
(setq en (entsel "\n选择下一个想作为内切正多边形的圆:"))
)
(princ(strcat"\n共绘制了"(itoa i)"圆内切和"(itoa c)"外切正多边形"))
(prin1)
)
(prompt"\n<<7TEST3a>>连续对多个圆绘制内切或外切正多边形")
(prin1)
;以下 pa、ww、hh、n值
(setq n(getint"请求输入正多边形边数,N="))
(setq en(entsel"\n选取想作内切或外切正多边形的圆:"))
(initget "C c I i")
(setq side (strcase side))
(setq I 0)
(setq C 0)
(while en ;当en存在时,执行以下循环内容,直到en不存在为止
(setq en_data(entget(car en)))
(setq en_type(cdr(assoc 0 en_data)))
(if(= en_type"CIRCLE")
(progn
(setq cenpt(cdr(assoc 10 en_data)))
(setq rad (cdr(assoc 40 en_data)))
(setq side (getkword "内接I或外切C:"))
(cond ((= side I )(Command"polygon" n cenpt"I"rad)(setq I (1+ I)))
((= side C )(Command"polygon" n cenpt"C"rad)(setq C (1+ C)))
)
)
(alert"该对象并不是圆,请重新选取圆")
) ;end if
(setq en (entsel "\n选择下一个想作为内切正多边形的圆:"))
)
(princ(strcat"\n共绘制了"(itoa i)"圆内切和"(itoa c)"外切正多边形"))
(prin1)
)
(prompt"\n<<7TEST3a>>连续对多个圆绘制内切或外切正多边形")
(prin1)









