马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
 - (defun XD::Drag:Mleader (mleader info info2 / dis1 dis2 dynpt msg my_err p1 pt tf txtLocation)
- (defun my_err (msg)
- (xdrx_prompt "\n" msg)
- (xdrx_pointmonitor)
- (xdrx_end)
- (XD::Doc:Command (list "undo" 1))
- (setq *error* nil)
- )
- (defun _callback (dynpt)
- (xdrx_setpropertyvalue mleader "lastvertex" (list 0 dynpt))
- (princ)
- )
- (defun _callback2 (dynpt)
- (setq dis2 (car (mapcar '- dynpt (trans pt 1 0))))
- (if (>= (* dis1 dis2) 0)
- (setq dis2 (abs dis2))
- (setq dis2 0.)
- )
- (xdrx_setpropertyvalue mleader "dogleglength" dis2 )
- (princ)
- )
- (xdrx_begin)
- (setq *error* my_err)
- (xdrx_sysvar_push '("osmode" 0) '("cursorsize" 2))
- (xdrx_pointmonitor "_callback")
- (setq tf t)
- (if (not (xdrx_string_find info "\n"))
- (setq info (strcat "\n" info))
- )
- (if (setq pt (getpoint info))
- (progn
- (if info2
- (progn
- (setq txtLocation (xdrx_getpropertyvalue mleader "textlocation")
- dis1 (car (mapcar '- txtLocation (trans pt 1 0)))
- )
- (xdrx_pointmonitor "_callback2")
- (if (not (setq p1 (getpoint info2)))
- (progn
- (setq pt nil)
- )
- )
- )
- )
- )
- )
- (xdrx_pointmonitor)
- (xdrx_sysvar_pop)
- (setq *error* nil)
- (xdrx_end)
- pt
- )
|