行空雕
发表于 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
确实简单明了,留作学习