乐筑天下

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

[编程交流] Osnap交点

[复制链接]

12

主题

26

帖子

14

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-5 20:16:37 | 显示全部楼层 |阅读模式
我在一个lisp程序中有两条弧,其中一个交点,程序会暂停,以便用户可以选择交点,这很好。但是有没有办法让autolisp找到圆弧的交点,这样我就不必暂停程序并获得外部帮助?
谢谢你,迈克
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
362
发表于 2022-7-5 20:45:58 | 显示全部楼层
它已经为你写了,看看这个:http://www.lee-mac.com/intersectionfunctions.html
 
来自@Lee Mac
http://www.cadtutor.net/forum/member.php?16898-李·麦克
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 21:02:46 | 显示全部楼层
非常感谢您的推荐
 
作为使用ActiveX intersectwith方法的替代方法,以下是一个用于数学计算点的函数:
  1. [color=GREEN];; 2-Arc Intersection  -  Lee Mac[/color]
  2. [color=GREEN];; Returns the point(s) of intersection between two arcs[/color]
  3. [color=GREEN];; with centres c1,c2 radii r1,r2, start angles s1,s2 & end angles e1,e2[/color]
  4. ([color=BLUE]defun[/color] LM:arc-arc-inters ( c1 r1 s1 e1 c2 r2 s2 e2 )
  5.    ([color=BLUE]cond[/color]
  6.        (   ([color=BLUE]<[/color] e1 s1) (LM:arc-arc-inters c1 r1 s1 ([color=BLUE]+[/color] e1 [color=BLUE]pi[/color] [color=BLUE]pi[/color]) c2 r2 s2 e2))
  7.        (   ([color=BLUE]<[/color] e2 s2) (LM:arc-arc-inters c1 r1 s1 e1 c2 r2 s2 ([color=BLUE]+[/color] e2 [color=BLUE]pi[/color] [color=BLUE]pi[/color])))
  8.        (   ([color=BLUE]vl-remove-if-not[/color]
  9.               '([color=BLUE]lambda[/color] ( pt ) ([color=BLUE]and[/color] ([color=BLUE]<=[/color] s1 ([color=BLUE]angle[/color] c1 pt) e1) ([color=BLUE]<=[/color] s2 ([color=BLUE]angle[/color] c2 pt) e2)))
  10.                (LM:circle-circle-inters c1 r1 c2 r2)
  11.            )
  12.        )
  13.    )
  14. )
  15. [color=GREEN];; 2-Circle Intersection  -  Lee Mac[/color]
  16. [color=GREEN];; Returns the point(s) of intersection between two circles[/color]
  17. [color=GREEN];; with centres c1,c2 and radii r1,r2[/color]
  18. ([color=BLUE]defun[/color] LM:circle-circle-inters ( c1 r1 c2 r2 [color=BLUE]/[/color] a d m l x y )
  19.    ([color=BLUE]if[/color] ([color=BLUE]and[/color] ([color=BLUE]<=[/color] ([color=BLUE]setq[/color] d ([color=BLUE]distance[/color] c1 c2)) ([color=BLUE]+[/color] r1 r2))
  20.             ([color=BLUE]<=[/color] ([color=BLUE]abs[/color] ([color=BLUE]-[/color] r1 r2)) d)
  21.        )
  22.        ([color=BLUE]progn[/color]
  23.            ([color=BLUE]if[/color] ([color=BLUE]equal[/color] r1 ([color=BLUE]setq[/color] x ([color=BLUE]/[/color] ([color=BLUE]-[/color] ([color=BLUE]+[/color] ([color=BLUE]*[/color] r1 r1) ([color=BLUE]*[/color] d d)) ([color=BLUE]*[/color] r2 r2)) ([color=BLUE]+[/color] d d))) 1e-
  24.                ([color=BLUE]setq[/color]  l  ([color=BLUE]list[/color] ([color=BLUE]list[/color] x 0.0 0.0)))
  25.                ([color=BLUE]setq[/color]  y  ([color=BLUE]sqrt[/color] ([color=BLUE]-[/color] ([color=BLUE]*[/color] r1 r1) ([color=BLUE]*[/color] x x)))
  26.                       l  ([color=BLUE]list[/color] ([color=BLUE]list[/color] x y 0.0) ([color=BLUE]list[/color] x ([color=BLUE]-[/color] y) 0.0))
  27.                )
  28.            )
  29.            ([color=BLUE]setq[/color] a ([color=BLUE]angle[/color] c1 c2)
  30.                  m ([color=BLUE]list[/color] ([color=BLUE]list[/color] ([color=BLUE]cos[/color] a) ([color=BLUE]-[/color] ([color=BLUE]sin[/color] a)) 0) ([color=BLUE]list[/color] ([color=BLUE]sin[/color] a) ([color=BLUE]cos[/color] a) 0) '(0 0 1))
  31.            )
  32.            ([color=BLUE]mapcar[/color] '([color=BLUE]lambda[/color] ( v ) ([color=BLUE]mapcar[/color] '[color=BLUE]+[/color] c1 (mxv m v))) l)
  33.        )
  34.    )
  35. )
  36. [color=GREEN];; Matrix x Vector  -  Vladimir Nesterovsky[/color]
  37. [color=GREEN];; Args: m - nxn matrix, v - vector in R^n[/color]
  38. ([color=BLUE]defun[/color] mxv ( m v )
  39.    ([color=BLUE]mapcar[/color] '([color=BLUE]lambda[/color] ( r ) ([color=BLUE]apply[/color] '[color=BLUE]+[/color] ([color=BLUE]mapcar[/color] '[color=BLUE]*[/color] r v))) m)
  40. )

回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 21:33:32 | 显示全部楼层
211638dwqrfh9wvqddo2u2.jpg
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 09:05 , Processed in 0.930110 second(s), 62 queries .

© 2020-2025 乐筑天下

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