你好我正在使用此代码,但我需要做一些更改
1) 我希望文本自动插入到行的中间(在带有小空格的行上方)
2) 该代码计算斜率%。如果斜率为0.02 wrte 2%,但如果斜率为0002%,则写入0.2%。我想写2‰。
- (defun c:TanLineanot(/ doc spc *error* TH:UnDo
- TH:StartUnDo p1 p2 p3 scl ht
- tan2 TL-Line TH:UnDo
- )
- ;;; Authour : Hasan Asos -> Modified by Tharwat
- (vl-load-com)
- (COMMAND "_layer" "_m" "_slope" "_c" "140" "" "")
- (command "-style" "_TanLine" "wgsimpl.shx" "_annotative" "_yes" "_no" 1.75 1.0 0.0 "_no" "_no" "" "")
- (and (setq doc (cond (doc)
- ((vla-get-ActiveDocument (vlax-get-Acad-Object)))
- )
- )
- (setq spc (if (zerop (vla-get-activespace doc))
- (if (= (vla-get-mspace doc) :vlax-true)
- (vla-get-modelspace doc)
- (vla-get-paperspace doc)
- )
- (vla-get-modelspace doc)
- )
- )
- )
- (defun *error* (msg)
- (and TH:UnDo (vla-EndUndoMark doc))
- (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
- (princ (strcat "\n** Error: " msg " **"))
- )
- (princ)
- )
- (setq TH:StartUnDo (vla-StartUndoMark doc))
- (initget "Line Points")
- (if (eq (setq TL-sel
- (getkword (strcat "\nselect line or points[Line/Points]: " "< Line >"))
- )
- "Points"
- )
- (progn
- (setq p1 (getpoint "\n select the first point : "))
- (setq p2 (getpoint p1 "\n select the second point : "))
- (setq p3 (getpoint "\n pick a point : "))
- (setq tan2 (/ (- (cadr p2) (cadr p1)) (- (car p2) (car p1))))
- (entmake (list (cons 0 "LINE")
- (cons 10 (trans p1 1 0))
- (cons 11 (trans p2 1 0))
- )
- )
- (vla-AddText spc (strcat (rtos (abs (* tan2 100)) 2 2) "%") (vlax-3d-point (trans p3 1 0)) (/ (getvar 'TEXTSIZE) (getvar 'cannoscalevalue)))
- )
- (progn
- (prompt "\n select a line : ")
- (setq TL-Line (ssget '((0 . "LINE"))))
- (setq e (ssname TL-Line 0))
- (setq p1 (cdr (assoc 10 (entget e))))
- (setq p2 (cdr (assoc 11 (entget e))))
- (setq p3 (getpoint "\n pick a point : "))
- (setq tan2 (/ (- (cadr p2) (cadr p1)) (- (car p2) (car p1))))
- (vla-AddText spc (strcat (rtos (abs (* tan2 100)) 2 2) "%") (vlax-3d-point (trans p3 1 0)) (/ (getvar 'TEXTSIZE) (getvar 'cannoscalevalue)))
- )
- )
- (setq TH:UnDo (vla-EndUndoMark Doc))
- (princ "\n ")
- (princ)
- )
谢谢 |