liuhaixin88 发表于 2014-2-17 14:44:56

一段代码求助

大家好,我这里有一段代码,有一点问题,烦请高手帮我改改,谢谢!
主要问题是输入文字高度不能记忆,每次使用都要设字高,另外,改变文字高度后,箭头大小不跟着改变,能否做到箭头大小跟着文字高度一起改变,或者单独设定箭头大小也行。

(defun leader_final_point (p1 p2)
   (setq ty (getvar "TEXTSTYLE") kd3 0)
   (setq txt_long (* 1.3 (caadr (textbox (list '(0 . "text")(cons 1 (last data))(cons 40 height)(cons 41 0.7)(cons 7 ty))))))
   (if (< (car p1) (car p2))
      (setq p3 (polar p2 0 txt_long))
    (setq p3 (polar p2 (angtof "180") txt_long))
   )   
)

(setq tad (Getvar "dimtad") dtxt (getvar "Dimtxt")
      ech (getvar "cmdecho") gap (getvar "dimgap"))
(setq height 2.5)
    (if (setq judge (getreal "Input text height(Default 2.5)"))
         (setq height judge)   
    )
(if (eq (last (setq data (str))) "Invalid data")
      (princ "\nNo Data to process")
         (progn
                (setvar "dimtad" 0)(setvar "dimgap" -1)(setvar "Dimtxt" height)(setvar "cmdecho" 0)
                (setq el (entlast) ss2 (ssadd))
      (princ (entget el))
    (setq p2 (getpoint (setq p1 (mapcar (function (lambda (a b) (/ (+ a b) 2.))) (car data) (cadr data)))
                               "\n Place annotation: "))
               
    (setq p3 (leader_final_point p1 p2) p_modify (list 0 height 0))
   
    (command "leader" "_non" p1 "_non" p2 p3 "" "" "n")
    (command "text" "j" "c" (mapcar '(lambda (a b c) (+ (/ (+ a b) 2.) (* c 0.2)))p2 p3 p_modify)height "" (last data) "")
   
                (While (setq el (entnext el)) (ssadd el ss2))
                (setq bridge (entmakex (list (cons 0 "LINE") (cons 10 (car data)) (cons 11 (cadr data)))))
    (while (eq 5 (car (setq gr (grread T 15 0))))
      (redraw)
                        (command "_move" ss2 "" "_non" p1 "_non" (setq p2 (vlax-curve-getClosestPointTo bridge (cadr gr))))
                        (setq p1 p2)
                      )
                (entdel bridge)
            )                                 
)
    (setvar "dimtad" tad) (setvar "dimgap" gap)(setvar "Dimtxt" dtxt)(setvar "cmdecho" ech)
)

liuhaixin88 发表于 2014-2-17 18:59:52

为什么无人问津呢?

xyp1964 发表于 2014-2-17 19:18:58

liuhaixin88 发表于 2014-2-17 18:59 static/image/common/back.gif
为什么无人问津呢?

代码不全

edata 发表于 2014-2-18 11:58:46

已发送邮箱!!!
你的邮件被列入腾讯垃圾箱了。
页: [1]
查看完整版本: 一段代码求助