乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 132|回复: 9

[求助]这个LISP程序如何编写?

[复制链接]

14

主题

623

帖子

8

银币

中流砥柱

Rank: 25

铜币
679
发表于 2003-10-15 18:10:00 | 显示全部楼层 |阅读模式
各位,我一直想编这样一个程序,就是通过任意一点,与一直线或是圆弧相切,画一个圆,圆的半径已知!请问这个程序如何编写,按照尺规作图法可以作来了,现在想用一个程序来简便一下!请大家提供一些编写思路,谢谢!
回复

使用道具 举报

gzy

25

主题

1118

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1221
发表于 2003-10-15 18:26:00 | 显示全部楼层
我认为程序的编写也是根据的的尺规作图方法来决定的。数据模型应该是相同的。都是根据直线或者圆弧的方程来决定程序走向。
回复

使用道具 举报

14

主题

623

帖子

8

银币

中流砥柱

Rank: 25

铜币
679
发表于 2003-10-15 23:06:00 | 显示全部楼层
这种思路我也想,但是这两个方程求解很麻烦!有没有更好方法!
回复

使用道具 举报

63

主题

1203

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1455
发表于 2003-10-16 08:13:00 | 显示全部楼层
我個功能叫做過點加切畫圓. 在Master CAM軟件最常用到. 我也花了不少心思去試但還沒有成功. 這是個蠻好的功能.
-----------------------------------------------------------------------
我愛CAD. 共同學習. 共同進步.
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-10-16 08:30:00 | 显示全部楼层
圆半径已知,点又确定了,那这个圆还有什么好讨论的呢?
如果你的意思是想说圆心不确定,那这样的圆有无数个,不知道你的尺规作图怎么作的
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-10-16 08:51:00 | 显示全部楼层
我写了一个通过任意点作已知直线或圆弧相切的最小半径的圆
  1. (vl-load-com)
  2. (defun c:DrawCircle( / ent pt pte prCenter r ptr)
  3.   (setq ent (car (entsel "选择直线或圆弧...")))
  4.   (setq ent (vlax-ename->vla-object ent))
  5.   (setq pt (getpoint "选择圆心:"))
  6.   (setq ptr (vlax-curve-getClosestPointTo ent pt))
  7.   (setq pte (vlax-curve-getEndPoint ent))
  8.   (setq pts (vlax-curve-getStartPoint ent))
  9.   (if (or (equal ptr pte) (equal ptr pts))
  10.     (progn
  11.       (setq ptCenter (vlax-safearray->list (vlax-variant-value  (vla-get-center ent))))
  12.       (setq r (vla-get-radius ent))
  13.       (setq ptr (polar pt (angle pt ptCenter) (+ r (distance pt ptCenter))))
  14.     )
  15.   )
  16.   (command "_.circle" pt (distance pt ptr))
  17.   (princ)
  18. )
回复

使用道具 举报

gzy

25

主题

1118

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1221
发表于 2003-10-16 09:20:00 | 显示全部楼层
按楼主的意思是要画的圆通过已知点,而不是圆心,所以meflying兄的程序还要改一下,你的程序类似于作已知点到直线的垂线。
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-10-16 09:31:00 | 显示全部楼层
理解出错了,我的程序不只是做垂线,还有圆弧也可以的。
等我考虑一下
回复

使用道具 举报

63

主题

1203

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1455
发表于 2003-10-16 09:44:00 | 显示全部楼层
程序本意是以知一條圓弧邊上的一個點+圓弧的半麼并要和一個圖元相切畫一圓弧或圓. 但我個人認可能性一般有兩種.
-------------------------------------------------------
我愛CAD. 共同學習. 共同進步.
回复

使用道具 举报

gzy

25

主题

1118

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1221
发表于 2003-10-16 09:47:00 | 显示全部楼层

那两种可能性BDYCAD兄能具体谈一下吗?
  是不是点的一边一个呢?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-5 19:39 , Processed in 1.241990 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表