一段代码求助
大家好,我这里有一段代码,有一点问题,烦请高手帮我改改,谢谢!主要问题是输入文字高度不能记忆,每次使用都要设字高,另外,改变文字高度后,箭头大小不跟着改变,能否做到箭头大小跟着文字高度一起改变,或者单独设定箭头大小也行。
(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 static/image/common/back.gif
为什么无人问津呢?
代码不全 已发送邮箱!!!
你的邮件被列入腾讯垃圾箱了。
页:
[1]