用lisp语言完成下面的问题,要求通过命令提示行交互输入pbase、L、d和alfa的值
答案:1 悬赏:20 手机版
解决时间 2021-03-24 09:43
- 提问者网友:疯孩纸
- 2021-03-23 19:28
用lisp语言完成下面的问题,要求通过命令提示行交互输入pbase、L、d和alfa的值
最佳答案
- 五星知识达人网友:动情书生
- 2021-03-23 20:56
(defun c:XJX ()
(setq omode (getvar "osmode"))
(setvar "osmode" 0);关闭捕捉
;以下 pbase、L、d、alfa 值须由用户输入
(setq pbase (getpoint "请点取矩形左边线中点位置: "))
(setq L (getreal "\n请输入矩形长边尺寸: "))
(setq d (getreal "\n请输入矩形短边尺寸: "))
(setq alfa (getangle "\n请输入矩形倾斜角度:"))
;以下pa、pb、pc由程序依据pbase、L、d计算得出
(setq pa (polar pbase (/ pi 2) (/ d 2)))
(setq pb (polar pa 0 L))
(setq pc (polar pbase (* pi 1.5) (/ d 2)))
;以下依据 pb、pc 点画出矩形
(command "RECTANG" pc pb) ;用PLINE也可以
;以下将矩形旋转alfa角度
(setq en (entlast))
(setq ang (* alfa (/ 180 pi)))
(command "ROTATE" en "" pbase ang)
(prin1)
(prompt "\n自动绘制斜矩形")
(setvar "osmode" omode);恢复捕捉
(prin1)
)
(setq omode (getvar "osmode"))
(setvar "osmode" 0);关闭捕捉
;以下 pbase、L、d、alfa 值须由用户输入
(setq pbase (getpoint "请点取矩形左边线中点位置: "))
(setq L (getreal "\n请输入矩形长边尺寸: "))
(setq d (getreal "\n请输入矩形短边尺寸: "))
(setq alfa (getangle "\n请输入矩形倾斜角度:"))
;以下pa、pb、pc由程序依据pbase、L、d计算得出
(setq pa (polar pbase (/ pi 2) (/ d 2)))
(setq pb (polar pa 0 L))
(setq pc (polar pbase (* pi 1.5) (/ d 2)))
;以下依据 pb、pc 点画出矩形
(command "RECTANG" pc pb) ;用PLINE也可以
;以下将矩形旋转alfa角度
(setq en (entlast))
(setq ang (* alfa (/ 180 pi)))
(command "ROTATE" en "" pbase ang)
(prin1)
(prompt "\n自动绘制斜矩形")
(setvar "osmode" omode);恢复捕捉
(prin1)
)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯