马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 st788796 于 2013-11-19 16:47 编辑
巧用 API 文字对齐方式设置可以省很多计算文字位置,下面演示了仅利用一个点就实现文字自动分出线上和线下
 - (defun c:tt (/ e p an len txt1 txt2)
- (setq e (car (entsel))
- p (xdrx_curve_getpoint e) ;_获取起点、中点、终点
- p (cadr p) ;_取出中点
- an (angle '(0. 0.)
- (xdrx_curve_getfirstderiv e p)
- ) ;_切线角度
- an (XD::Geom:AngleFormat an)
- len (xdrx_curve_getdistatpoint e (xdrx_curve_getendpoint e)) ;_总长度
- ) ;_转 1 4 象限角度
- (setq txt1 (xdrx_text_make
- p
- "Totle Length"
- (getvar "Textsize")
- an
- )
- )
- (setq txt2 (xdrx_text_make p (rtos len 2 2) (getvar "textsize") an))
- (xdrx_text_setvermode txt1 1) ;_先往上移动
- (xdrx_text_sethozmode txt1 1) ;_再水平移动
- (xdrx_text_setvermode txt2 3) ;_先往下移动
- (xdrx_text_sethozmode txt2 1) ;_再水平移动并向下移动
- (princ)
- )
说明:图片中的垂直向上、垂直向下 Copy 的时候忘了改动!
|