未解决的LISP(Mleader)
嗨,再次,对不起,我真的试图让这个常规工作,但仍然不幸运:l第一个代码工作正常,但它不能同时工作。
李写的第二个Lisp程序的Lisp程序,除非是注释性的
我每天都在做注释性的MLEADERSTYLE,所以我仍然希望我的问题能在你的帮助下得到解决,非常感谢。提前谢谢你。
(defun c:Q (/ sty nm p1 p2 ateblk p3)
(setq l_ang 180)
(setq l_ang1 90)
(defun MLeaderLandingDistance ( sty flg / dic )
(and (setq dic (dictsearch (namedobjdict) "acad_mleaderstyle"))
(setq dic (dictsearch (cdr (assoc -1 dic)) sty))
(entmod (subst (cons 43 ((if flg + -) (abs (cdr (assoc 43 dic))))) (assoc 43 dic) dic))
)
)
(MLeaderLandingDistance (getvar 'cmleaderstyle) nil)
(command "cmdecho" "0")
(setq osm (getvar "osmode"))
(setq ort (getvar "orthomode"));
(command "osmode" "15359")
(setq p1 (getpoint "\nPick origin point:)"))
(command "osmode" "0")
(command "orthomode" "0")
(setq p2 (getpoint "\nPick target" p1))
(princ)
(if (< (car p1) (car p2))
(progn
(if (< (cadr p1) (cadr p2))
(setq p3d (- (cadr p1) (cadr p2)))
)
(if (< (cadr p2) (cadr p1))
(setq p3d (- (cadr p2) (cadr p1)))
)
(if (< (cadr p2) (cadr p1))
(progn
(setq p3 (polar p2 (+ 0.0 (dtr (- l_ang))) (* p3d 1.1547)))
)
)
(if (< (cadr p1) (cadr p2))
(progn
(setq p3 (polar p2 (+ 0.0 (dtr l_ang)) (* p3d 1.1547)))
)
)
)
)
(if (< (car p2) (car p1))
(progn
(if (< (cadr p1) (cadr p2))
(setq p3d (- (cadr p1) (cadr p2)))
)
(if (< (cadr p2) (cadr p1))
(setq p3d (- (cadr p2) (cadr p1)))
)
(if (< (cadr p2) (cadr p1))
(progn
(setq p3 (polar p2 (+ 0.0 (dtr (- l_ang1))) (* p3d 1.1547)))
)
)
(if (< (cadr p1) (cadr p2))
(progn
(setq p3 (polar p2 (+ 0.0 (dtr l_ang1)) (* p3d 1.1547)))
)
)
)
)
(command "_mleader" "L" "H" "o" "m" "2" "x" p2 p3 p1 "EDIT ME")
(MLeaderLandingDistance (getvar 'cmleaderstyle) t)
(command "osmode" osm)
(command "orthomode" ort)
)
;
(defun dtr (a)
(* pi (/ a 180.0))
);
(defun c:mlexample(/mld pt1 pt2 tmp)(if(and(setq pt1(getpoint“\n指定文本的点:”)(setq pt2(getpoint“\n指定箭头的点:“pt1”))(progn(setq mld(vlax invoke)(vlax get property(vla get activedocument(vlax get acad object))(if(=1(getvar'cvport)))“paperspace”modelspace))'addmleader(append(trans pt2 1 0)(trans(list(car pt2)(cadr pt1)(caddr pt1))1 0))(vla put textstring mld“XX-XX”)(vla put textrotation mld 0.0)(vla put doglelength mld(abs(-car pt1)(car pt2)))(如果( 这仍然无法从我的脑海中消失:/ 有人想到用注释来处理上面的代码吗? 你能给我指一下李·麦克斯·姆莱德·里斯普吗?
你是说这个
http://lee-mac.com/mteditreactor.html
页:
[1]