本帖最后由 Free-Lancer 于 2014-8-15 17:50 编辑
下载签名下的 lib.vlx , 用到了几个常量定义
 - (defun c:tt (/ p ss px px1 py py1 vx vy per kw)
- (fy:begin)
- (initget "1 2 3 4" 128)
- (if (not $globlekw)
- (setq $globlekw "3")
- )
- (setq
- kw (getkword
- (strcat "\n[右上(1)/左上(2)/左下(3)/右下(4)]<" $globlekw ">: ")
- )
- )
- (if (or (not kw) (= kw ""))
- (setq kw $globlekw)
- (setq $globlekw kw)
- )
- (if (and (setq p (getpoint "\nBase Point: "))
- (setq ss (ssget '((0 . "CIRCLE"))))
- (setq p (trans p 1 0))
- )
- (vlax-for circle (fy:cset)
- (cond
- ((= kw "1")
- (setq py (vlax-curve-getpointatparam circle 0)
- py1 (polar py 0 (getvar "textsize"))
- px (vlax-curve-getpointatparam circle _pi2)
- px1 (polar px _pi2 (getvar "textsize"))
- )
- )
- ((= kw "2")
- (setq px (vlax-curve-getpointatparam circle _pi2)
- px1 (polar px _pi2 (getvar "textsize"))
- py (vlax-curve-getpointatparam circle pi)
- py1 (polar py pi (getvar "textsize"))
- )
- )
- ((= kw "3")
- (setq py (vlax-curve-getpointatparam circle pi)
- py1 (polar py pi (getvar "textsize"))
- px (vlax-curve-getpointatparam circle _3pi)
- px1 (polar px _3pi (getvar "textsize"))
- )
- )
- (t
- (setq py (vlax-curve-getpointatparam circle 0)
- py1 (polar py 0 (getvar "textsize"))
- px (vlax-curve-getpointatparam circle _3pi)
- px1 (polar px _3pi (getvar "textsize"))
- )
- )
- )
- (setq vy (vla-AddDimOrdinate
- (fy:acspace)
- (vlax-3d-point py)
- (vlax-3d-point py1)
- :vlax-false
- )
- vx (vla-AddDimOrdinate
- (fy:acspace)
- (vlax-3d-point px)
- (vlax-3d-point px1)
- :vlax-true
- )
- per (vla-get-PrimaryUnitsPrecision vx)
- )
- (vla-put-TextOverride vx (rtos (- (car px) (car p)) 2 per))
- (vla-put-TextOverride
- vy
- (rtos (- (cadr py) (cadr p)) 2 per)
- )
- )
- )
- (fy:end)
- (princ)
- )
|