visual lisp编程
在cad中参数化设计,编此程序。外轮廓我写的是(defunC:XL()(setqp1(getpoint"\n起点坐标:"))(setqb(getreal"\nb的尺寸:"...
在cad中参数化设计,编此程序。
外轮廓我写的是
(defun C:XL ()
(setq p1 (getpoint "\n起点坐标:"))
(setq b (getreal "\nb的尺寸:"))
(setq b1 (getreal "\nb1的尺寸:"))
(setq b2 (getreal "\nb2的尺寸:"))
(setq h (getreal "\nh的尺寸:"))
(setq h1 (getreal "\nh1的尺寸:"))
(setq h2 (getreal "\nh2的尺寸:"))
(setq h3 (getreal "\nh3的尺寸:"))
(setq p2 (polar p1 0 b))
(setq p3 (polar p2 (* 1.5 pi) h3))
(setq a (atan (/ h2 b2)))
(setq l (sqrt (+ (* h2 h2) (* b2 b2))))
(setq p4 (polar p3 (+ a pi) l))
(setq P5 (polar P4 (* 1.5 pi) h1))
(setq P6 (polar P5 (* 1 pi) b1))
(setq P7 (polar P6 (* 0.5 pi) h1))
(setq P8 (polar p7 (- pi a) l)) ;外轮廓
(command "pline" P1 P2 p3 p4 p5 p6 p7 p8 p1 "")
)
为什么调出来不对? 大神帮我看看,完整的程序能编出来更好! 展开
外轮廓我写的是
(defun C:XL ()
(setq p1 (getpoint "\n起点坐标:"))
(setq b (getreal "\nb的尺寸:"))
(setq b1 (getreal "\nb1的尺寸:"))
(setq b2 (getreal "\nb2的尺寸:"))
(setq h (getreal "\nh的尺寸:"))
(setq h1 (getreal "\nh1的尺寸:"))
(setq h2 (getreal "\nh2的尺寸:"))
(setq h3 (getreal "\nh3的尺寸:"))
(setq p2 (polar p1 0 b))
(setq p3 (polar p2 (* 1.5 pi) h3))
(setq a (atan (/ h2 b2)))
(setq l (sqrt (+ (* h2 h2) (* b2 b2))))
(setq p4 (polar p3 (+ a pi) l))
(setq P5 (polar P4 (* 1.5 pi) h1))
(setq P6 (polar P5 (* 1 pi) b1))
(setq P7 (polar P6 (* 0.5 pi) h1))
(setq P8 (polar p7 (- pi a) l)) ;外轮廓
(command "pline" P1 P2 p3 p4 p5 p6 p7 p8 p1 "")
)
为什么调出来不对? 大神帮我看看,完整的程序能编出来更好! 展开
1个回答
展开全部
command 中,你要注意 OSMODE这个变量。
(setq odos (getvar "osmode"))
(setvar "osmode" 0)
(command "pline" P1 P2 p3 p4 p5 p6 p7 p8 "c")
(setvar "osmode" odos)
你是学习桥梁的?多多交流
(setq odos (getvar "osmode"))
(setvar "osmode" 0)
(command "pline" P1 P2 p3 p4 p5 p6 p7 p8 "c")
(setvar "osmode" odos)
你是学习桥梁的?多多交流
追问
我刚在cad中运行了下 3点和2点直接重合了 8点和1点也重合了 我看代码找不到错误。。。 我是学铁道的 这个是导师让我编的......我的q460724399
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询