gprspda 发表于 2012-5-7 12:55:16

求高手帮忙检查一下程序,得不出要的图形

本帖最后由 gprspda 于 2012-5-7 15:58 编辑

这是我修改之后的程序,由于最初给的线是斜线,做出的线要求是与最初给的线是平行的,也是斜线。现在得出的图形,是水平的,求高手给检查一下,哪里有错误.
(defun c:jc(/ o a b c d e f g h o1 o2 o3 o4 o5 o6 o7 o8 o9 o10 o11 o12 o13 o14 o15 o16 o17 o18 o19 o20 o21 o22)
(setq o (getpoint"确定起始点位置"))
(setq a (getreal"输入30NM以外保护区半宽"))
(setq b (getreal"输入30NM以外保护区长度"))
(setq c (getangle"输入航路的角度"))
(setq d (getreal"输入ATT"))
(setq e (/ pi 6))
(setq f (getreal"输入30NM以内的保护区半宽"))
(setq g (getpoint"确定IAF点位置"))
(setq h (distance o g))
(setq osm (getvar "osmode"))
(setvar "osmode" 0)
(setq o1 (polar o (+ (* (/ c 180) pi) (/ pi 2)) a))
(setq o2 (polar o (+ (* (/ c 180) pi) (/ pi 2)) (* a 2)))
(setq o3 (polar o (+ (* (/ c 180) pi) (/ (- pi) 2)) a))
(setq o4 (polar o (+ (* (/ c 180) pi) (/ (- pi) 2)) (* a 2)))
(setq o5 (polar o1 (+ (* (/ c 180) pi) (- pi)) b))
(setq o6 (polar o2 (+ (* (/ c 180) pi) (- pi)) b))
(setq o7 (polar o3 (+ (* (/ c 180) pi) (- pi)) b))
(setq o8 (polar o4 (+ (* (/ c 180) pi) (- pi)) b))
(setq o9 (polar o (* (/ c 180) pi) d))
(setq o10 (polar o1 (* (/ c 180) pi) d))
(setq o11 (polar o2 (* (/ c 180) pi) d))
(setq o12 (polar o3 (* (/ c 180) pi) d))
(setq o13 (polar o4 (* (/ c 180) pi) d))
(setq o14 (polar o9 (* (/ c 180) pi) (* (- a f)(* 2 (sqrt 3)))))
(setq o15 (polar o14 (+ (* (/ c 180) pi) (/ pi 2)) (* 2 f)))
(setq o16 (polar o14 (+ (* (/ c 180) pi) (/ (- pi) 2)) (* 2 f)))
(setq o17 (polar o14 (+ (* (/ c 180) pi) (/ pi 2)) f))
(setq o18 (polar o14 (+ (* (/ c 180) pi) (/ (- pi) 2)) f))
(setq o19 (polar g (+ (* (/ c 180) pi) (/ pi 2)) f))
(setq o20 (polar g (+ (* (/ c 180) pi) (/ pi 2)) (* f 2)))
(setq o21 (polar g (+ (* (/ c 180) pi) (/ (- pi) 2)) f))
(setq o22 (polar g (+ (* (/ c 180) pi) (/ (- pi) 2)) (* f 2)))
(command "line" o1 o5 "")
(command "line" o2 o6 "")
(command "line" o3 o7 "")
(command "line" o4 o8 "")
(command "line" o1 o10 "")
(command "line" o2 o11 "")
(command "line" o3 o12 "")
(command "line" o4 o13 "")
(command "line" o11 o15 "")
(command "line" o13 o16 "")
(command "line" o15 o20 "")
(command "line" o18 o21 "")
(command "line" o16 o22 "")
(setvar "osmode" osm)
(princ))


gprspda 发表于 2012-5-7 15:59:33

40多个人来看了,没有一个解答的吗?

gprspda 发表于 2012-5-7 16:50:12

本帖最后由 gprspda 于 2012-5-7 21:26 编辑

gprspda 发表于 2012-5-7 15:59 http://bbs.mjtd.com/static/image/common/back.gif
40多个人来看了,没有一个解答的吗?

图形大体是这个样子的,斜线与平行线的夹角为30度,中间的一条线是给定的。现在的问题是,要获得的线,应该与中间的线是平行的,但程序得出的线是水平的。检查程序也没有错误,不知该如何处理了。

gprspda 发表于 2012-5-7 21:28:46

急求帮助啊~~~~

xyp1964 发表于 2012-5-7 22:53:52




xyp1964 发表于 2012-5-8 23:15:43

有了IAF点的位置,似乎角度参数就没必要存在了

gprspda 发表于 2012-5-12 14:23:40

xyp1964 发表于 2012-5-8 23:15 static/image/common/back.gif
有了IAF点的位置,似乎角度参数就没必要存在了

你是说用angle命令吗?还有一个问题,程序运行后如果出现,参数类型错误:二维/三维点:nil是什么原因?谢谢
页: [1]
查看完整版本: 求高手帮忙检查一下程序,得不出要的图形