明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1737|回复: 11

[讨论] 如何快速检验几段圆弧是否相切?

[复制链接]
发表于 2023-2-21 11:34:32 | 显示全部楼层 |阅读模式
本帖最后由 cj52000 于 2023-2-21 14:13 编辑

各位好,由于工作需要,经常检验图纸是否过渡顺滑,如下图示各个圆弧之间是否为相切连接,求一个程序能快速检测,谢谢大家了!





本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2023-2-22 18:06:56 | 显示全部楼层
试试看

本帖子中包含更多资源

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

x

评分

参与人数 3明经币 +3 收起 理由
USER2128 + 1 赞一个!
cj52000 + 1 很给力!
panliang9 + 1 非常有用,太感谢了!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2023-2-22 14:19:14 | 显示全部楼层
;测试代码
(defun c:test()
  (setq
    e1(car(entsel))                        ;弧元
    o1(vlax-ename->vla-object e1) ;对象
    c1(vlax-get o1 'center)             ;圆心
    ps1(vlax-get o1 'StartPoint)      ;起点
    pe1(vlax-get o1 'EndPoint)       ;终点
  )
  (setq
    e2(car(entsel))
    o2(vlax-ename->vla-object e2)
    c2(vlax-get o2 'center)
    ps2(vlax-get o2 'StartPoint)
    pe2(vlax-get o2 'EndPoint)
  )
  (if(or(equal ps1 ps2 1e-6)(equal ps1 pe2 1e-6)) ;交点
    (setq pt ps1)
    (setq pt pe1)
  )
  ;两圆心距离等于两半径和或差即为切圆
  (setq d0(distance c1 c2) d1(distance c1 pt) d2(distance c2 pt))
  (if(or(equal d0(+ d1 d2)1e-6)(equal d0(abs(- d1 d2))1e-6))
    (princ "相切")
    (princ "不相切")
  )
  (prin1)
)
发表于 2023-2-22 15:29:56 | 显示全部楼层
1. 找出所有曲线端点的列表
2. 对于每个端点,找到以其为端点的曲线,计算曲线在端点的法线方向向量
3. 找到的法线向量的叉积是零向量,则曲线相切。
发表于 2023-2-21 13:18:10 | 显示全部楼层
可通过编程实现,有意向可联系我
发表于 2023-2-21 15:14:03 | 显示全部楼层
刚好写过一个,其实挺简单的,可以自己写。不想自己动手的可以联系我
发表于 2023-2-22 11:54:01 来自手机 | 显示全部楼层
两半径 差等于圆心距离
 楼主| 发表于 2023-2-22 14:11:20 | 显示全部楼层
纵横八方 发表于 2023-2-22 11:54
两半径 差等于圆心距离

嗯嗯,是的,两半径之和等于圆心距离的也是,现在就是想弄个程序能快速一些
发表于 2023-2-22 14:59:00 | 显示全部楼层
xtjd 发表于 2023-2-22 14:19
;测试代码
(defun c:test()
  (setq

能不能框选 ,相切不动,不相切变颜色
 楼主| 发表于 2023-2-22 16:19:27 | 显示全部楼层
xtjd 发表于 2023-2-22 14:19
;测试代码
(defun c:test()
  (setq

谢谢分享,很好用,要是能框选,然后把不相切的变颜色就更完美了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 12:21 , Processed in 0.179953 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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