马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有朋友申请 http://bbs.xdcad.net/thread-718736-1-1.html
 - (defun c:xdtb_modradius (/ val tf e i x)
- (xdrx_begin)
- (if (not #xd_var_global_radius)
- (setq #xd_var_global_radius 1.0)
- )
- (if (setq val (getreal
- (xdrx_prompt "\n输入半径<" #xd_var_global_radius ">:" t)
- )
- )
- (setq #xd_var_global_radius val)
- )
- (setq tf t)
- (while (and tf
- (xdrx_initget "M")
- (setq e (xdrx_entsel
- "\n拾取修改半径的圆、弧、多段线弧[批量(M)]<退出>:"
- '((0 . "CIRCLE,ARC,*POLYLINE"))
- )
- )
- )
- (progn
- (cond ((= e "M")
- (while (and (xdrx_initssget "\n选择要批量修改半径的圆、弧、多段线弧<退出>:")
- (setq ss (xdrx_ssget '((0 . "circle,arc,*polyline"))))
- )
- (progn (setq i 0)
- (mapcar '(lambda (x)
- (if (xdrx_object_iskindof x "circle,arc")
- (progn
- (xdrx_setpropertyvalue x "radius" #xd_var_global_radius)
- (setq i (1+ i))
- )
- (progn
- (and (xd::polyline:setradius x -1 #xd_var_global_radius)
- (setq i (1+ i))
- )
- )
- )
- )
- (xdrx_pickset->ents ss)
- )
- (xdrx_prompt "\n >>修改了" i "个圆(弧)半径到:" #xd_var_global_radius ".")
- )
- )
- (setq tf nil)
- )
- (t
- (if (xdrx_object_iskindof (car e) "circle,arc")
- (xdrx_setpropertyvalue
- (car e)
- "radius"
- #xd_var_global_radius
- )
- (progn (setq inx (xdrx_polyline_onsegat (car e) (cadr e)))
- (if (xdrx_polyline_getarcsegat (car e) inx)
- (progn (xd::polyline:setradius (car e) inx #xd_var_global_radius)
- (xdrx_prompt
- "\n >>弧段半径修改为:"
- #xd_var_global_radius
- "."
- )
- )
- (xdrx_prompt "\n >>没有选到多段线弧线段,重试...")
- )
- )
- )
- )
- )
- )
- )
- (xdrx_end)
- (princ)
- )
|