明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1650|回复: 3

请教meflying 改进lisp程序

[复制链接]
发表于 2004-4-17 13:02:00 | 显示全部楼层 |阅读模式
meflying:


                         中午好!!这个程序是我自己编写的 , 是我毕业设计的课题,我已经编写了一个能自动绘制小模数齿轮的程序,现在这个程序是为了实现能构自动计算滚刀的一些数据,这是我遇到的第一个问题,我琢磨了很久 还是没解决,现在已经没时间了 我希望你能帮助我解决这个问题,谢谢你, 我这个程序能够现实坐标点,但是要去查找其中某个点的坐标是不能实现,我现在就希望能够查找其中的任意点的坐标直,因为在后面的子程序中 我需要用到。谢谢你!!!!!!!!!!!
发表于 2004-4-17 19:39:00 | 显示全部楼层
我已经对你这个问题的两个帖子都回了,可你好象对它置之不理,,,我也不知道我的回答问题在哪儿,所以无法继续给你作答...
 楼主| 发表于 2004-4-18 13:18: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 17:08:00 | 显示全部楼层
DY1(Az,Bz,Rz,E,G,A,B,R)括号里这些是什么东西?而且LISP没有这种写法,各参数之间是用空格而不是逗号...关于函数的定义和调用,可以参考帮助文件中defun函数...你的定义是错误的...


从以上问题来看,你对LISP语言的基本概念基本是不清楚的,建议你先了解这些,,,至于你原来给的那个程序,不要再说了吧...你也不要着急去琢磨它了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 02:31 , Processed in 0.177615 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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