明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1755|回复: 7

求助一新的LISP习题。相切直线不会画。

[复制链接]
发表于 2004-12-15 10:06 | 显示全部楼层 |阅读模式
(defun C:hl ()
(setq o1 (getpoint "\n输入圆心:"))
(setq a1 (getreal "\n输入角度:"))
(setq r1 (getreal "\n输入第一圆面积半径:"))
(setq r2 (getreal "\n输入第二圆半径:"))
(setq d1 (getreal "\n输入二圆面积间距离:"))
(setq p1 (polar o1 (* (/ pi 180) a1) d1))
(setq p2 (polar o1 (/ pi 2) r1))
(setq p3 (polar o1 (/ pi -2) r1))
(setq p4 (polar p1 (/ pi 2) r2))
(setq p5 (polar p1 (/ pi -2) r2))
(command "circle" o1 r1 "")
(command "circle" p1 r2 "")
(command "line" p2 p4 "")
(command "line" p3 p5 "")
(princ)
) 如上图所示,的二个直线若要它和二圆相切,怎么编函数呀?高手帮帮我新手呀,呵呵。先这儿谢了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2004-12-15 10:34 | 显示全部楼层
用不着函数。程序改后: (defun C:hl ()
(setq o1 (getpoint "\n输入圆心:"))
(setq a1 (getreal "\n输入角度:"))
(setq r1 (getreal "\n输入第一圆面积半径:"))
(setq r2 (getreal "\n输入第二圆半径:"))
(setq d1 (getreal "\n输入二圆面积间距离:"))
(setq p1 (polar o1 (* (/ pi 180) a1) d1))
(setq p2 (polar o1 (/ pi 2) r1))
(setq p3 (polar o1 (/ pi -2) r1))
(setq p4 (polar p1 (/ pi 2) r2))
(setq p5 (polar p1 (/ pi -2) r2))
(command "circle" o1 r1 "")
(command "circle" p1 r2 "")
(command "line" "tan" p2 "tan" p4 "")
(command "line" "tan" p3 "tan" p5 "")
(princ)
)
 楼主| 发表于 2004-12-15 10:56 | 显示全部楼层
我一开始也是你这样写的呀,就是提示ten出错,倒,是tan呀,我搞错了。我再去试试。
 楼主| 发表于 2004-12-15 11:02 | 显示全部楼层
可以了,是我自己把TAN错打成ten了,但这样角度太大的话也要出错,我知道怎么改了。呵呵。谢谢。
 楼主| 发表于 2004-12-15 11:08 | 显示全部楼层
ZZXXQQ,能告诉我QQ吗?我常上宁波的。
 楼主| 发表于 2004-12-15 14:13 | 显示全部楼层
我一用到选择集函数就要出错,这方面的实例手头上很少,有没有这方面的实例呀,发一个给我看看呀。文件太大的话,只发包含选择集函数的表达式就行了。
发表于 2004-12-15 18:54 | 显示全部楼层
多看看帮助文件中的介绍,也有一些例子的 这里有一个灵活应用的: dispbbs.asp?BoardID=3&ID=14363 另,建议,LISP的讨论去LISP版块,这里是编程申请,是申请编写特定功能的程序
 楼主| 发表于 2004-12-15 19:22 | 显示全部楼层
哦,谢谢管理员。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 04:40 , Processed in 0.282758 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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