明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1152|回复: 6

[提问] 求满足一定条件的距已知点距离最近的点表中的点

[复制链接]
发表于 2014-11-15 13:43 来自手机 | 显示全部楼层 |阅读模式
具体问题是这样:已知构造元素((1 2 0) 0.35)和元素与此相似构造的表(((4 7 0) 0.23) ((1 4 0) 0.35))求与构造元素第二个值(0.35)相等且距第一个值(1 2 0)点距离最近的构造表元素,有点不太好描述,希望能看懂,请帮助解决,谢谢!
发表于 2014-11-15 18:09 | 显示全部楼层
表的建構方式調整為0.35在前,使用ASSOC會更好處理

点评

他的情况,0.35在后也没关系吧?! 如果只有一两个的话用ASSOC方便。  发表于 2014-11-15 20:59
发表于 2014-11-15 20:03 来自手机 | 显示全部楼层
搞成二维点表,排序
发表于 2014-11-15 21:00 | 显示全部楼层
试试! 好就不写了, 应该思路是对的。
  1. (defun t11 (l1 l2 / a b c)
  2.     (setq a (car l1) b (cadr l1))
  3.     (setq c (vl-remove-if-not '(lambda(x)(eq (cadr x) b)) l2))
  4.     (car (vl-sort c '(lambda(x y)(< (distance (car x) a)(distance (car y) a)))))
  5. )
发表于 2014-11-15 21:06 | 显示全部楼层
试试! !
  1. (defun t22 (l1 l2 / a b c)
  2.     (setq a (car l1) b (cadr l1))
  3.     (mapcar
  4.         '(lambda(x)
  5.             (and (eq b (cadr x))
  6.                 (if c
  7.                     (and (< (distance (car x) a)(distance (car c) a))
  8.                         (setq c x)
  9.                     )
  10.                     (setq c x)
  11.                 )
  12.             )
  13.         )
  14.         l2
  15.     )
  16.     c
  17. )
 楼主| 发表于 2014-11-15 21:34 来自手机 | 显示全部楼层
自贡黄明儒 发表于 2014-11-15 20:03
搞成二维点表,排序

你能出手帮助,非常感谢呀,关键等于这个条件限制让点距离排序有点困难。我就是想求框选范围内与指定单行文字角度相等且距插入点最近的单行文本对象,希望你再次赐教呀,感谢!
 楼主| 发表于 2014-11-15 21:37 来自手机 | 显示全部楼层
wowan1314 发表于 2014-11-15 21:06
试试! !

非常感谢呀,手机上的论坛,看不到你的代码,回头我用电脑下载下来试试,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-28 23:17 , Processed in 1.394533 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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