明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 384|回复: 11

[提问] 求教!如何提升用ssnamex函数获取交点坐标的精度

[复制链接]
发表于 2024-4-11 08:52 | 显示全部楼层 |阅读模式
  1. (defun c:tt (/ int_list p1 p2 pt1 pt2 ss ssdata)
  2.   (setq pt1 (getpoint))
  3.   (setq pt2 (getpoint pt1))
  4.   (setq ss (ssget "f" (list pt1 pt2)))
  5.   (setq int_list ())
  6.   (setq ssdata (ssnamex ss))
  7.   (foreach x ssdata
  8.     (foreach y
  9.       (cdddr x)
  10.       (setq int_list (cons (trans (cadr y) 0 1) int_list))
  11.     )
  12.   )
  13.   (setq p1 (polar (car int_list) (* 1.5 pi) 100))
  14.   (setq p2 (polar p1 0 100))
  15.   (entmake (list '(0 . "LINE")'(100 . "AcDbEntity") '(100 . "AcDbLine") (cons 10 p1) (cons 11 p2)))
  16. )
近期遇到一个头疼问题、就是用(setq ss (ssget "f" (list pt1 pt2)))配合ssnamex函数获取交点后、
再利用这个交点坐标偏移生成直线、最后用di去测量、会发现测量距离与偏移距离之间存在误差、
以上是程序代码、下方是操作演示:

这个误差范围很小、但是强迫症有点难受、
所以想请教下论坛的各位大神!
有没有办法提升ssnamex函数返回交点坐标的精度

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2024-4-11 10:48 | 显示全部楼层
gzcsun 发表于 2024-4-11 10:30
是要用vlax-curve-getClosestPointTo再处理。
别的直接用vla-intersectwith也没有误差。
好像是有人说ssn ...

主要是和块的交点难搞、用ssnamex不用管是不是块、可以直接搞出所有交点、然后排个序就行了、操作上简单很多、就是精度这块有点难受
 楼主| 发表于 2024-4-11 16:59 | 显示全部楼层
kucha007 发表于 2024-4-11 13:13
看看这个:
【K:GetEntInters】计算直线和实体的交点
http://bbs.mjtd.com/forum.php?mod=viewthread&tid ...

我试了一下这个函数、貌似和图块相交还是有些问题、结果不准确、普通图元问题不大、也可能是我操作有问题
 楼主| 发表于 2024-4-11 10:13 | 显示全部楼层
ssyfeng 发表于 2024-4-11 10:00
再用vlax-curve-getClosestPointTo函数求曲线最近点试试

用ssnamex主要是方便点、因为涉及到和块内图元的交点、曲线函数对块内图元不太灵
发表于 2024-4-11 09:14 | 显示全部楼层
画一条直线,再和矩形求交点
发表于 2024-4-11 09:45 | 显示全部楼层
ssnamex这个精度就这样 画线吧
发表于 2024-4-11 10:00 | 显示全部楼层
再用vlax-curve-getClosestPointTo函数求曲线最近点试试
 楼主| 发表于 2024-4-11 10:12 | 显示全部楼层
liuhe 发表于 2024-4-11 09:14
画一条直线,再和矩形求交点

我这个其实只是拿矩形讲一下ssnamex的精度问题、实际应用时不一定是矩形、还可能是图块啥的、用ssnamex直接点
 楼主| 发表于 2024-4-11 10:14 | 显示全部楼层
飞雪神光 发表于 2024-4-11 09:45
ssnamex这个精度就这样 画线吧

谢谢!如果搞不了精度问题、那我只能放弃了、画线对于图块啥的不好搞
发表于 2024-4-11 10:30 | 显示全部楼层
本帖最后由 gzcsun 于 2024-4-11 10:39 编辑

是要用vlax-curve-getClosestPointTo再处理。
别的直接用vla-intersectwith也没有误差。
好像是有人说ssnamexe慢的

发表于 2024-4-11 13:13 | 显示全部楼层
看看这个:
【K:GetEntInters】计算直线和实体的交点
http://bbs.mjtd.com/forum.php?mo ... amp;fromuid=7329538
(出处: 明经CAD社区)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-30 20:49 , Processed in 0.242083 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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