马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 newer 于 2021-1-18 11:09 编辑

- (defun c:tt (/ _updatetext _newtext edata myerr callback olderr tmptext pt)
- ;;更新文字
- (defun _updatetext (str / h el)
- (setq h (getvar "viewsize"))
- (entmod
- (subst (cons 40 (/ h 16.0))
- (assoc 40 edata)
- (subst (cons 11 (mapcar '- (getvar "viewctr") (list 0. (/ h 2) 0.)))
- (assoc 11 edata)
- (subst (cons 1 str) (assoc 1 edata) edata)
- )
- )
- )
- )
- ;;设置空白文字
- (defun _newtext ()
- (entmakex '((0 . "text")
- (62 . 1)
- (10 0.0 0.0)
- (40 . 1.0)
- (50 . 0)
- (1 . " ")
- (72 . 1)
- (73 . 1)
- )
- )
- )
- ;;动态回调
- (defun callback (dynpt)
- (_updatetext
- (strcat "X=" (rtos (car dynpt) 2 0) "; Y=" (rtos (cadr dynpt) 2 0))
- ) ;_动态提示文字
- )
- ;;错误处理
- (defun myerr (msg)
- (and (vlax-erased-p tmptext) (entdel tmptext))
- (xdrx_pointmonitor)
- (princ)
- )
- (setq olderr *error*
- *error* myerr
- )
- (setq tmptext (_newtext) ;_动态提示文字
- edata (entget tmptext)
- )
- (xdrx_pointmonitor "callback")
- (getpoint)
- (xdrx_pointmonitor)
- (entdel tmptext)
- (setq *error* olderr)
- (princ)
- )
|