明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 297|回复: 10

[提问] 请教一下,如何判断点中了多段线中的圆弧或直边

[复制链接]
发表于 2023-11-26 16:07 | 显示全部楼层 |阅读模式
5明经币




(defun c:tt(/ ss)
(if (setq ss (getpoint "\n 请点选对象: "))
(progn
;这里如何判断是圆弧或直边,如果是直边就线性标注,如果是圆弧就半径标注
(vl-cmdf "dimradius" "non" (nentselp ss))
(vl-cmdf "dimlinear" "non" (pl_pt ss 1) "non" (pl_pt ss 2) "\\")
)
)
(princ))

(defun pl_pt(ss pt / ne e n)
(setq en (nentselp ss) e (car en))
(setq e (car en))
(setq n (fix (vlax-curve-getparamatpoint e (vlax-curve-getclosestpointto e (cadr en)))))
(nth (- pt 1) (list (vlax-curve-getpointatparam e n) (vlax-curve-getpointatparam e (1+ n))) )
)




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

最佳答案

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2023-11-26 16:07 | 显示全部楼层
  1. (defun c:tt (/ e p)
  2.         (if (and (setq e (entsel))
  3.                           (setq p (cadr e))
  4.                                 (setq e (car e))
  5.                                 (equal  '(0.0 0.0 0.0)
  6.                                         (vlax-curve-getSecondDeriv e
  7.                                                 (fix (vlax-curve-getparamatpoint e (vlax-curve-getclosestpointto e (trans p 1 0)))                                               
  8.                                                 )
  9.                                         )
  10.                                 )
  11.                         )
  12.                 "LINE"
  13.                 "ARC"
  14.         )
  15. )

点评

非常感谢大神热心帮助,程序短小精悍!  发表于 2023-11-26 20:21
回复

使用道具 举报

发表于 2023-11-26 16:54 | 显示全部楼层
本帖最后由 asen 于 2023-11-26 17:10 编辑

判断向量 AC,  CB 两条线的角度, 看是否相等, 相等即为直线, 否则为圆弧.

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2023-11-26 16:57 | 显示全部楼层
获取一下param那段的凸度,我用c#是获取param的SegmentType
回复

使用道具 举报

 楼主| 发表于 2023-11-26 17:35 | 显示全部楼层
Dani1988 发表于 2023-11-26 16:57
获取一下param那段的凸度,我用c#是获取param的SegmentType

谢谢回复,太深奥了,还搞不懂这些
回复

使用道具 举报

 楼主| 发表于 2023-11-26 17:43 | 显示全部楼层
asen 发表于 2023-11-26 16:54
判断向量 AC,  CB 两条线的角度, 看是否相等, 相等即为直线, 否则为圆弧.

请教一下,如何获得c点,如果获得c点,(= (distance a c) (distance b c)) 是不是也可以?
回复

使用道具 举报

发表于 2023-11-26 18:21 | 显示全部楼层
C 点是您点中的点
回复

使用道具 举报

 楼主| 发表于 2023-11-26 20:37 | 显示全部楼层

有点小问题,会把样条曲线也判断为圆弧
回复

使用道具 举报

发表于 2023-11-26 20:44 | 显示全部楼层
669423907 发表于 2023-11-26 20:37
有点小问题,会把样条曲线也判断为圆弧

你看你标题写着啥,多段线
回复

使用道具 举报

 楼主| 发表于 2023-11-26 20:45 | 显示全部楼层
bonny 发表于 2023-11-26 20:44
你看你标题写着啥,多段线

也是,考虑不周
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 14:24 , Processed in 0.342353 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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