~希望 发表于 2012-4-16 21:55:12

再请教一个坐标获取的问题

本帖最后由 ~希望 于 2012-4-16 21:58 编辑

(defun c:ceshi ( )
   (setq zx (getpoint"\n请输入中心点:"))
   (setq r(getdist"\请输入半径:"))
   (setq h(getdist"\请输入高度:"))
   (setq p1(polar zx 0 r))
   (command"circle"zx r)
   (command "line" zx p1 "")
   (setq p2(polar p1 (+ 90) h))
   (setq p3(polar p1 (- 90) h))
   (command "line" p2 p3 "")
   (Princ)
)
为什么连接P2 与P3的直线不是经过 P1并且与P1垂直呢,难道(setq p2(polar p1 (+ 90) h))中90的参数不对?求高手指点一下,谢谢

~希望 发表于 2012-4-16 22:01:11

我想要的实际结果是:连接P2,P3两点的直线通过P1,并且与P1垂直,如果我写的代码不对,应该是怎么写,谢谢

yshf 发表于 2012-4-16 22:05:38

;(setq p2(polar p1 (+ 90) h))
;(setq p3(polar p1 (- 90) h))
(setq p2(polar p1 (* 0.5 pi) h))
(setq p3(polar p1 (* -0.5 pi) h))

~希望 发表于 2012-4-16 22:23:14

(defun c:ceshi ( )
   (setq zx (getpoint"\n请输入中心点:"))
   (setq r(getdist"\请输入半径:"))
   (setq h(getdist"\请输入高度:"))
   (setq p1(polar zx 0 r))
   (command"circle"zx r)
   (command "line" zx p1 "")
   (setq p2(polar p1 (* 0.5 pi) h))
   (setq p3(polar p1 (* -0.5 pi) h))
   (command "line" p2 p3 "")
   (Princ)
)

测试通不过呀,

Andyhon 发表于 2012-4-16 22:38:54

测试通不过呀
(什么才是您要的!?)

用猜的 ==> 关了捕捉再试?

~希望 发表于 2012-4-17 08:11:20

谢谢, ,写程序的时候里面带了关闭捕捉的命令,做测试的这段没带,所以不行,呵呵,现在好了,关闭捕捉,测试通过,谢谢,
不过还得请教一下,(* 0.5 pi) 应该怎么理解,
谢谢

Andyhon 发表于 2012-4-17 08:23:56

Pi == 180
(* 0.5 pi) == 90

~希望 发表于 2012-4-17 08:52:08

谢谢,学习了,
页: [1]
查看完整版本: 再请教一个坐标获取的问题