马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
 - (defun c:xdtb_tjdis
- (/ p1 p2 p_1 p_2 v1 v2 box cen3 v3 v e1 txt len cen1 pt)
- (defun _callback (dynpt)
- (redraw)
- (xdrx-grdraw 1 1 p1 p2)
- (setq p_1 (xdrx-getpropertyvalue e1 "getclosestpointto" dynpt)
- p_2 p_1
- v1 (xdrx-getpropertyvalue e1 "firstderiv" p_2)
- v2 (xdrx-vector-perpvector v1)
- p_3 (mapcar
- '+
- p_2
- (xdrx-vector-product v2 (/ #xd-var-global-txtheight 4.0))
- )
- box (xdrx-text-box txt)
- cen3 (xd::geom:get9pt box 2)
- v3 (mapcar '- (nth 1 box) (nth 0 box))
- )
- (xdrx-entity-align
- txt
- cen3
- (mapcar '+ cen3 v3)
- p_3
- (mapcar '+ p_3 v1)
- )
- (setq cen1 p_3)
- )
- (xdrx-begin)
- (xdrx-sysvar-push '("osmode" 545))
- (if (not #xd-var-global-txtheight)
- (setq #xd-var-global-txtheight 4.0)
- )
- (if (setq
- v (getreal
- (xdrx-prompt "\n标注字高<" #xd-var-global-txtheight ">:" t)
- )
- )
- (setq #xd-var-global-txtheight v)
- )
- (if (and (setq p1 (getpoint "\n测量第一点<退出>:"))
- (setq p2 (getpoint p1 "\n测量第二点<退出>:"))
- (setq e1 (xdge::constructor "klineseg3d" p1 p2))
- )
- (progn (xd::text:init 1)
- (setq len (xdrx-getpropertyvalue e1 "length"))
- (setq txt (xdrx-text-make
- '(0 0 0)
- (xdrx-prompt "距离:" len t)
- #xd-var-global-txtheight
- )
- cen1 (xd::geom:get9pt txt 5)
- )
- (xdrx-pointmonitor "_callback")
- (if (not (setq pt (getpoint "\n标注插入点<退出>:")))
- (xdrx-entity-delete txt)
- )
- (xdrx-pointmonitor)
- )
- )
- (xdrx-sysvar-pop)
- (xdrx-end)
- (princ)
- )
|