曾经想写的绘制箭头程序,现在很简单了
很简单的程序,可自己刚学习的时候却不会,现在两分钟就搞定了!(defun c:jt ()
(setq sys (getvar "osmode"))
(setvar "osmode" 0)
(setq p0 (getpoint "\n请输入基准点:")
p1 (getpoint "\n请输入第二点:")
l0 (distance p0 p1)
ang(angle p0 p1)
l1 (* 0.18 l0);此系数可调,用于调整箭头区占整个箭头的长度,0.18是系数
ang1 (* 0.08333333 pi);箭头的角度为30度
p2 (polar p0 (+ ang (* 0.5 pi)) (* 0.35 (* l1 (tan ang1))));定义箭尾的宽度,0.35是系数
p3 (polar p2 ang (- l0 l1))
p4 (polar p3 (+ ang (* 0.5 pi)) (* l1 (tan ang1)))
)
(command "pline" p0 p2 p3 p4 p1 "")
(command "mirror" (entlast) "" p0 p1 "N")
(setvar "osmode" sys)
(prin1)
)
(princ "启动命令<JT>")
;|自定义tan函数|;
(defun tan (a)
(/ (sin a) (cos a))
)
Qleader 更好用,还是带比例的 你们想要的LEADER来了:
(defun c:jt(/ os cmd pt1 pt2 )
(vl-load-com)
(setq pt1 (getpoint"\n指定起点"))
(setq pt2 (getpoint pt1 "\n指定终点"))
(command "layer" "m" "2细线层" "c" 4 "" "")
(command "LEADER" pt2 pt1 "" "" "n")
(princ)
) p1 (getpoint "\n请输入第二点:")
改成p1 (getpoint p0 "\n请输入第二点:")
效果会好些 可不可以用Qleader来完成?这只是我的一点想法。 hxh2901 发表于 2012-2-28 15:04 static/image/common/back.gif
p1 (getpoint "\n请输入第二点:")
改成p1 (getpoint p0 "\n请输入第二点:")
效果会好些
是的,动态了 好用,谢谢了 自贡黄明儒 发表于 2012-2-28 13:48 static/image/common/back.gif
可不可以用Qleader来完成?这只是我的一点想法。
Qleader的“设置”不能取消对话框,cmdecho设置成0也不行,同时画出的箭头放大和缩小后其箭头的大小不变,
我自己测试的是这样,不知道是否可以实现箭头的大小与线长成比例? 革天明 发表于 2012-2-29 13:20 static/image/common/back.gif
Qleader的“设置”不能取消对话框,cmdecho设置成0也不行,同时画出的箭头放大和缩小后其箭头的大小不变, ...
不知你看过caoying的贴子没有,好象可以的 我再学习一下,等解决了使用qleader时再续此贴 绘制箭头直接用多段线命令 pline 不就得了