马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
下面代码可以绘制选择文本实体置圆心给定间隙的圆,图中矩形框是文本最贴近盒子,蓝色是文字实体的最小包围圆,大圆是给定间隙绘制的最终我们需要的。
代码用了20141218API新加的一些特性,(xdrx_getpropertyvalue txt "TextBox" t) t参数是得到最贴近盒子,不给t参数得到的是正常实体最小包围盒。
 - (defun c:tt ()
- (if (and
- (xdrx_prompt "\n选取文字实体<退出>:")
- (setq ss (ssget '((0 . "TEXT"))))
- (setq gap (getreal "\n字间隙<退出>:"))
- )
- (progn
- (mapcar
- '(lambda (x)
- (setq tigerBox (xdrx_getpropertyvalue x "textbox" t))
- (setq c (xdrx_points_mincircle tigerbox)
- cen (car c)
- r (+ gap (cadr c))
- )
- (xdrx_polyline_make tigerbox t)
- (xdrx_setpropertyvalue (entlast) "color" 1)
- (xdrx_circle_make cen r)
- (xdrx_circle_make cen (cadr c))
- (xdrx_setpropertyvalue (entlast) "color" 5)
- )
- (xdrx_pickset->ents ss)
- )
- )
- )
- (princ)
- )
|