行空雕 发表于 2013-1-10 15:36:20

Gu_xl 发表于 2013-1-9 13:07 static/image/common/back.gif


(defun c:fx1(/)
(setvar "cmdecho" 0)
(setq os (getvar "osmode"))
(setq p_s (getpoint "\n输入矩形的一点:"))
(setq p_e (getpoint "\n输入矩形的另一点:"))
(setq w (getreal "\输入矩形的宽度:"))
(setq ang (angle p_s p_e) P_L (distance p_s p_e))
(setq p1(polar p_s(+ ang (* pi 0.5)) (/ w 2)))
(setq p2(polar p_s(- ang (* pi 0.5)) (/ w 2)))
(setq p3(polar p_e(+ ang (* pi 0.5)) (/ w 2)))
(setq p4(polar p_e(- ang (* pi 0.5)) (/ w 2)))
(setvar "osmode" 0)
(command "pline" p1 p3 p4 p2 "c")
(setvar "osmode" os)
(print)
)我是一个LISP初学者,楼上大大们代码写的太好了,不同的思路,很精彩,作为分享,上述代码是我写的,欢迎各种点评

ucuc2003 发表于 2013-1-13 00:44:49

两位版主鼎力帮助,楼主新年好运气啊!我的求助帖发了n次,也没碰到这好事

编程小白 发表于 2013-1-14 14:16:06

Gu_xl 发表于 2013-1-9 13:07 static/image/common/back.gif


版主的程序好是很好,但此程序输入的是矩形的宽边的中点,能不能请版主扩展一下:生成的矩形是固定的宽度,而输入的是矩形的一条长边的两个点,并自动生成一行单行文字,放在此矩形的中间,该文字的一个变量是矩形的长度,另一变量是手动输入值。

蒹葭_Keirll 发表于 2013-1-14 18:25:47

标记一个,以后学习

xiabin68 发表于 2013-1-14 21:16:11

很好的学习资料

泉(Ango) 发表于 2013-1-15 12:15:15

谢谢各位的帮助。谢谢。

xiabin68 发表于 2013-1-15 12:58:41

Gu_xl 发表于 2013-1-9 13:07 static/image/common/back.gif


G版你真牛啊,,,好简明的代码,,

USER2128 发表于 2013-1-16 08:11:56

可惜在三维空间中应用时,未达到预期效果

长风(尚品) 发表于 2013-1-16 09:36:29

Gu_xl 发表于 2013-1-9 13:07 static/image/common/back.gif


如果能加个记忆上次输入宽度和指定长度就更完美了

zzc83 发表于 2013-1-20 11:11:52

确实简单明了,留作学习
页: 1 [2] 3
查看完整版本: 诚求画矩形的小程序!