zhaozwf 发表于 2008-11-7 08:37:00

[原创] 绘制箭头程序(直箭头,弯箭头,大弯箭头)

<p></p><p></p><p>加载之后,直接在命令行输入jt,就可以了。呵呵</p>

小毛草 发表于 2021-8-29 13:46:03

修改了一下,箭头的样式更好看一点,需要的下载对式一下就知道了!
;;;;;;;;;;;;;;;;;;;;;;;;箭头工具
(defun C:jt()
(prompt "\n绘制箭头")
(setvar "cmdecho" 0)
(setq oldmode (getvar "osmode"))
(setvar "osmode" 0);关闭扑捉

(initget "A B C")
(setq enda (getkword "\n直箭头A/弯箭头B/大弯箭头<C> <A>")
      enda (if enda enda "A"))
         
(while (setq p1 (getpoint "\n箭头的尖端位置:"))
      (setq p2 (getpoint p1 "\n箭头的另一端:")
            dd (distance p1 p2))
(prompt (rtos dd 2 4))
(setq w (* dd 1.0)
      an (angle p1 p2)
      p3 (polar p2 (+ an (* pi 0.5)) (/ w 4.0))
      p4 (polar p2 (+ an (* pi 1.5)) (/ w 4.0)))

(if (= enda "A")
(progn
(command "solid" p1 p3 p1 p4 ""
         "pline" p2 "w" (* w 0.2) (* w 0.2) (polar p2 an (getdist p2)) "")
   )
   )
   (if (= enda "B")
   (progn
(command "solid" p1 p3 p1 p4 ""
         "pline" p2 "w" "0" w p2 "w" (* w 0.2) (* w 0.2) "a" pause "")
   )
   )
   (if (= enda "C")
   (progn
(command "solid" p1 p3 p1 p4 ""
         "pline" p2 "w" "0" w p2 "w" (* w 0.2) (* w 0.6) "a" pause "")
   )
   )
    (if (= p1 nil) (exit))
    )
(setvar "osmode" oldmode)
(prin1)
)

ynhh 发表于 2018-5-30 08:28:33

zhaozwf 发表于 2008-11-7 15:14
修改了“参数类型错误: point: nil”这个错误,欢迎使用。呵呵

太好了
再来个类似QQ截图中的箭头
后面的直线或弯线
也带变大或变小的
支持你

白色微風1991 发表于 2022-10-21 19:49:55

謝謝樓上的分享,參考下,很感激

znchssy 发表于 2008-11-7 08:59:00

虽然工作中用不上,但觉得很新颖,还得谢谢楼主!

liminnet 发表于 2008-11-7 10:22:00

zhaozwf 发表于 2008-11-7 15:14:00

<p>修改了“</p><p>参数类型错误: point: nil”这个错误,欢迎使用。呵呵</p><p></p>

liminnet 发表于 2008-11-7 15:20:00

yoyoho 发表于 2008-11-7 22:26:00

<p>不錯喔!</p><p>蠻新鮮的程序,</p><p>收藏學習.</p>

cxs259 发表于 2009-4-2 10:04:00

<p>已收藏,谢谢</p>

liminnet 发表于 2009-4-2 16:06:00

aeo000000 发表于 2009-4-3 00:33:00

看看cad2008自带的,在工具选项板里面的箭头

yxyfy 发表于 2009-4-14 14:26:00

不错,谢谢
页: [1] 2 3 4
查看完整版本: [原创] 绘制箭头程序(直箭头,弯箭头,大弯箭头)