【autolisp】autolisp教程请高手用AutoLISP编写4个小程序:函数名为tuxing,要求...
答案:2 悬赏:10 手机版
解决时间 2021-02-27 01:47
- 提问者网友:喧嚣尘世
- 2021-02-26 22:00
【autolisp】autolisp教程请高手用AutoLISP编写4个小程序:函数名为tuxing,要求...
最佳答案
- 五星知识达人网友:老鼠爱大米
- 2021-02-26 22:59
【答案】 (一)
(defun c:tuxing1 ()
(setq Rd (getdist \n R=:))
(setq Rx (getdist \n r=:))
(setq p0 (getPoint \n Enter Center of Circle))
(setq p1 (list(car p0) (+ (+ (cadr p0) Rd) 5)))
(setq p2 (list(- (- (car p0) Rd) 5) (cadr p0)))
(setq p3 (list(car p0) (- (- (cadr p0) Rd) 5)))
(setq p4 (list(+ (+ (car p0) Rd) 5) (cadr p0)))
(Command line p1 p3)
(Command line p2 p4)
(Command circle p0 Rd)
(Command circle p0 RX)
)
(二)
(defun c:tuxing2 ()
(setq Rd (getdist \n R=:))
(setq Rx (getdist \n r=:))
(setq p0 (getPoint \n Enter Center of Circle))
(setq a1 (list(+ (car p0) (* (cos (/ pi 4)) Rx)) (+ (cadr p0) (* (cos (/ pi 4)) Rx))))
(setq a2 (list(- (car p0) (* (cos (/ pi 4)) Rx)) (cadr a1)))
(setq a3 (list(car a2) (- (cadr p0) (* (cos (/ pi 4)) Rx))))
(setq a4 (list(car a1) (cadr a3)))
(setq b1 (list(+ (car p0) (* (cos (/ pi 4)) Rd)) (+ (cadr p0) (* (cos (/ pi 4)) Rd))))
(setq b2 (list(- (car p0) (* (cos (/ pi 4)) Rd)) (cadr b1)))
(setq b3 (list(car b2) (- (cadr p0) (* (cos (/ pi 4)) Rd))))
(setq b4 (list(car b1) (cadr b3)))
(Command line a1 a2 a3 a4 a1)
(Command line b1 b2 b3 b4 b1)
(Command circle p0 Rd)
(Command circle p0 RX)
)
(三)
(defun c:tuxing3 ()
(setq r (getdist \n r=:))
(setq p0 (getPoint \n Enter Center of Circle))
(setq p1 (list(- (car p0) (* r 2)) (cadr p0)))
setq p2 (list(+ (car p0) (* r 2)) (cadr p0)))
((Command circle p0 r)
(Command circle p1 r)
(Command circle p2 r)
)
(四)
(defun c:tuxing4 ()
(setq r (getdist \n r=:))
(setq p0 (getPoint \n Enter Center of Circle))
(setq a1 (list(+ (car p0) (* (cos (/ pi 4)) r)) (+ (cadr p0) (* (cos (/ pi 4)) r))))
(setq a2 (list(- (car p0) (* (cos (/ pi 4)) r)) (cadr a1)))
(setq a3 (list(car a2) (- (cadr p0) (* (cos (/ pi 4)) r))))
(setq a4 (list(car a1) (cadr a3)))
(Command line a1 a2 a3 a4 a1)
(Command circle p0 r)
)
可以了,你试试吧!
(defun c:tuxing1 ()
(setq Rd (getdist \n R=:))
(setq Rx (getdist \n r=:))
(setq p0 (getPoint \n Enter Center of Circle))
(setq p1 (list(car p0) (+ (+ (cadr p0) Rd) 5)))
(setq p2 (list(- (- (car p0) Rd) 5) (cadr p0)))
(setq p3 (list(car p0) (- (- (cadr p0) Rd) 5)))
(setq p4 (list(+ (+ (car p0) Rd) 5) (cadr p0)))
(Command line p1 p3)
(Command line p2 p4)
(Command circle p0 Rd)
(Command circle p0 RX)
)
(二)
(defun c:tuxing2 ()
(setq Rd (getdist \n R=:))
(setq Rx (getdist \n r=:))
(setq p0 (getPoint \n Enter Center of Circle))
(setq a1 (list(+ (car p0) (* (cos (/ pi 4)) Rx)) (+ (cadr p0) (* (cos (/ pi 4)) Rx))))
(setq a2 (list(- (car p0) (* (cos (/ pi 4)) Rx)) (cadr a1)))
(setq a3 (list(car a2) (- (cadr p0) (* (cos (/ pi 4)) Rx))))
(setq a4 (list(car a1) (cadr a3)))
(setq b1 (list(+ (car p0) (* (cos (/ pi 4)) Rd)) (+ (cadr p0) (* (cos (/ pi 4)) Rd))))
(setq b2 (list(- (car p0) (* (cos (/ pi 4)) Rd)) (cadr b1)))
(setq b3 (list(car b2) (- (cadr p0) (* (cos (/ pi 4)) Rd))))
(setq b4 (list(car b1) (cadr b3)))
(Command line a1 a2 a3 a4 a1)
(Command line b1 b2 b3 b4 b1)
(Command circle p0 Rd)
(Command circle p0 RX)
)
(三)
(defun c:tuxing3 ()
(setq r (getdist \n r=:))
(setq p0 (getPoint \n Enter Center of Circle))
(setq p1 (list(- (car p0) (* r 2)) (cadr p0)))
setq p2 (list(+ (car p0) (* r 2)) (cadr p0)))
((Command circle p0 r)
(Command circle p1 r)
(Command circle p2 r)
)
(四)
(defun c:tuxing4 ()
(setq r (getdist \n r=:))
(setq p0 (getPoint \n Enter Center of Circle))
(setq a1 (list(+ (car p0) (* (cos (/ pi 4)) r)) (+ (cadr p0) (* (cos (/ pi 4)) r))))
(setq a2 (list(- (car p0) (* (cos (/ pi 4)) r)) (cadr a1)))
(setq a3 (list(car a2) (- (cadr p0) (* (cos (/ pi 4)) r))))
(setq a4 (list(car a1) (cadr a3)))
(Command line a1 a2 a3 a4 a1)
(Command circle p0 r)
)
可以了,你试试吧!
全部回答
- 1楼网友:过活
- 2021-02-26 23:43
对的,就是这个意思
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯