明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4740|回复: 36

[LISP]万分感激myflying 又有新问题请教!!

  [复制链接]
发表于 2004-4-18 13:19:00 | 显示全部楼层 |阅读模式
谢谢你!!! 真的很感谢你!! 我昨天仔细研究了一下表,我用表把那问题给解决了, 但现在又遇到一个问题, 是有关子程序调用的,比如说程序流程中有:调用过程DY1(Az,Bz,Rz,E,G,A,B,R) Af,Bf,Ruo,C,D,Ad,Bd,Rd其中DY1是这样定义的: (defun DY1
(setq Xe x[e]
Ye Y[e]
Xg X[g]
Yg y[g])
(setq H1 (- ye Bf)
H2 (- xe af)
H3 (- xe xg)
H4 (- ye yg)
H5 (- (+ (* xe xe) (* ye ye)) (+ (* xg xg) (* yg yg)))
H6 (- (* Af Ye) (* Bf Xe))
t1 (- (* h1 h6) (* 2 h3 h6 ))
w (+ (* h1 h4) (* h2 h3))
Ba (/ T1 (* 2 W))
Aa (+ (/ (* h2 (- Ba bz)) H1) Af)
)
(setq x16 (sqrt (+ (* (- af af) (af af)) (* (- bf bf) (- bf bf)))))
(cond
((or (> af xe) (< aa xe)) (setq R (- x16 rn)))
((or (< aa xe) (> aa xe)) (setq R (- x16 rn)))
((or (< aa xe) (< aa xe) (> (abs af) (abs aa))) (setq r (- rn x16)))
(t (setq r (+ rn x16)))
)
) 请问这在调用时应该怎么调用 万分感激!!!!
发表于 2004-4-18 14:42:00 | 显示全部楼层
看不懂樓主的程序. 你的程序格式不對吧??
发表于 2004-4-18 17:23:00 | 显示全部楼层
再次建议楼主,一个问题不要到处问...即使得不到回答,你也可以在原来的帖子里自己提上来,如果还是没有回答,就说明问题没有人能回答...


如果再这样,就要删除重复的部分了!
 楼主| 发表于 2004-4-19 09:34:00 | 显示全部楼层
好的 谢谢了!因为我是新手,不懂这些规矩,惭愧,下次,我多加注意就是了,我这是一个子程序呀,格式应该是真确的呀,我真的是很急,希望斑竹能帮忙解决一下,我现在把所有希望都寄托给你们了,在此,表万分谢意!!!!!!!!!!!
 楼主| 发表于 2004-4-19 09:41:00 | 显示全部楼层
版主拜托你把我其它的帖子给删掉吧,我自己看着也不爽,谢谢你!!!!!!!!
发表于 2004-4-19 18:01:00 | 显示全部楼层
跟你说错了,


应该(defun DY1();注意这里的括号


         ...


)


调用直接用就可以了


(dy1)


详细让你去看DEFUN函数了,看了吗?
 楼主| 发表于 2004-4-20 11:15:00 | 显示全部楼层
谢谢你 辉哥!!


         我的问题不是在你说的那里,主要是让你看一下那些变量,


调用过程DY1 (Az,Bz,Rz,E,G,A,B,R)


                                                                                                                                                                                                 Af,Bf,Ruo,C,D,Ad,Bd,Rd


这些变量怎么处理???!


是不是在DY1中一定要包含Az,Bz,Rz,E,G,A,B,R这些未知数呀???! 请你帮助我,meflying,我知道你是最热心的,谢谢你◎!!!
发表于 2004-4-20 12:31:00 | 显示全部楼层
1.可以這樣


                 (DY1 Az Bz Rz E G A B R)


                 (defun DY1(Az Bz Rz E G A B R /)


2.也可以這樣


                 (DY1)


                 (defun DY1()
 楼主| 发表于 2004-4-20 20:17:00 | 显示全部楼层
谢谢你 f5612140。 我这个程序上按照已知的程序流程来进行编写的, 按照书上的程序流程我编写了DY1的程序如下,在这个程序中 并没有Az Bz Rz E G A B R这些参数,我还是不明白该怎么做,我请求大家能够帮助我 , 我就是这个问题把我给卡住了 ,我的毕业设计没办法做继续进行,,在此,表示万分的感激!!! (defun DY1 ()
(setq Xe x[e]
Ye Y[e]
Xg X[g]
Yg y[g])
(setq H1 (- ye Bf)
H2 (- xe af)
H3 (- xe xg)
H4 (- ye yg)
H5 (- (+ (* xe xe) (* ye ye)) (+ (* xg xg) (* yg yg)))
H6 (- (* Af Ye) (* Bf Xe))
t1 (- (* h1 h6) (* 2 h3 h6 ))
w (+ (* h1 h4) (* h2 h3))
Ba (/ T1 (* 2 W))
Aa (+ (/ (* h2 (- Ba bz)) H1) Af)
)
(setq x16 (sqrt (+ (* (- af af) (af af)) (* (- bf bf) (- bf bf)))))
(cond
((or (> af xe) (< aa xe)) (setq R (- x16 rn)))
((or (< aa xe) (> aa xe)) (setq R (- x16 rn)))
((or (< aa xe) (< aa xe) (> (abs af) (abs aa))) (setq r (- rn x16)))
(t (setq r (+ rn x16)))
)
)
发表于 2004-4-21 00:33:00 | 显示全部楼层
8楼的已经回答你了啊,为什么不看看?


另外,你要那么多参数干什么?你的函数中并没有使用这些参数啊...


看看带参数的函数(out)是怎样定义和调用的


(defun main()


(setq a "abc")


        (out a)


(princ)


)


(defun out(a / )


        (princ a)


)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-10-1 12:50 , Processed in 0.198112 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表