明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1230|回复: 6

[提问] 如何求得直线与弧线的交点

[复制链接]
发表于 2021-1-6 15:50:27 | 显示全部楼层 |阅读模式
想编写一个自动打断线段的插件,但是弧线(ARC)与直线(LINE)的交点不会求,请大神指点。
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2021-1-6 16:33:29 | 显示全部楼层
本帖最后由 yshf 于 2021-1-6 16:35 编辑

(setq intPoints (vla-IntersectWith lineObj arcObj acExtendNone))(setq I 0      j 0      k 0)
(if (/= (type intPoints) vlax-vbEmpty)
        (while (>= (vlax-safearray-get-u-bound (vlax-variant-value intPoints) 1) I)
            (setq tempPoint (vlax-safearray->list (vlax-variant-value intPoints)))
            (setq str (strcat "交点[" (itoa k) "] is: " (rtos (nth j tempPoint) 2) ","
                                                        (rtos (nth (1+ j) tempPoint) 2) ","
                                                        (rtos (nth (+ j 2) tempPoint) 2)))
            (alert str)
            (setq str ""
                  I (+ I 2)
                  j (+ j 3)
                  k (1+ k))
        )
)



发表于 2021-1-6 16:36:00 | 显示全部楼层
发表于 2021-1-7 08:40:49 | 显示全部楼层
若是想在交点处断开,用楼上的方法就可以了。如果想断开一定距离,建议用数学方法求交点。
 楼主| 发表于 2021-1-7 14:19:56 | 显示全部楼层
yshf 发表于 2021-1-6 16:33
(setq intPoints (vla-IntersectWith lineObj arcObj acExtendNone))(setq I 0      j 0      k 0)
(if (/ ...

有效,问题解决,谢谢!
 楼主| 发表于 2021-1-7 14:22:42 | 显示全部楼层
bssurvey 发表于 2021-1-6 16:36
可以參閱http://bbs.mjtd.com/forum.php?mod=viewthread&tid=91750 6樓 byghbcx 大的

谢谢,解决了!
 楼主| 发表于 2021-1-7 14:23:00 | 显示全部楼层
原地踏步 发表于 2021-1-7 08:40
若是想在交点处断开,用楼上的方法就可以了。如果想断开一定距离,建议用数学方法求交点。

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

本版积分规则

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

GMT+8, 2025-5-17 09:02 , Processed in 0.177034 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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