明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: tanle2020

[提问] 四边形按方位获取坐标

[复制链接]
发表于 2024-2-1 12:25:13 | 显示全部楼层
tanle2020 发表于 2024-2-1 11:46
这是加载了网络自定义函数吧

是的,
原来下面也是从左到右啊。
代码和视频已更正。
发表于 2024-2-1 23:59:21 | 显示全部楼层
本帖最后由 kucha007 于 2024-2-2 00:01 编辑

XXXXXXXXXXXXX
 楼主| 发表于 2024-2-2 12:48:51 来自手机 | 显示全部楼层
guosheyang 发表于 2024-1-31 20:31
方法一 保证节点方向为顺时针   然后 x从小到大排 x相同时 y从大到小排  确定第一点pt1 多段线节点表中 依 ...

我用这个排序方法实现了,先把四个点表按x排序,然后把最x最小的两个点按y排序得出左上和左下,剩余x最大的两个点同样按y排序得出右上和右下
发表于 2024-2-2 13:44:59 | 显示全部楼层
本帖最后由 xyp1964 于 2024-2-2 13:51 编辑
tanle2020 发表于 2024-2-2 12:48
我用这个排序方法实现了,先把四个点表按x排序,然后把最x最小的两个点按y排序得出左上和左下,剩余x最大 ...

  1. (defun abc (pl / ptn ptn1 ptn2 p1 p2 p3 p4)
  2.   (setq ptn (mapcar 'cdr (vl-remove-if '(lambda (x) (/= 10 (car x))) (entget pl)))
  3.         ptn (vl-sort ptn '(lambda (x y) (> (cadr x) (cadr y))))
  4.   )
  5.   (mapcar 'set '(p1 p2 p3 p4) ptn)
  6.   (setq ptn1 (vl-sort (list p1 p2) '(lambda (x y) (< (car x) (car y))))
  7.         ptn2 (vl-sort (list p3 p4) '(lambda (x y) (< (car x) (car y))))
  8.   )
  9.   (append ptn1 ptn2)
  10. )



  1. (defun abc2 (pl / ptn pptn1 ptn2 p1 p2 p3 p4)
  2.   (setq ptn (mapcar 'cdr(vl-remove-if '(lambda (x) (/= (car x) 10)) (entget pl)))
  3.         ptn (vl-sort ptn '(lambda (x y) (< (car x) (car y))))
  4.   )
  5.   (mapcar 'set '(p1 p2 p3 p4) ptn)
  6.   (setq ptn1 (vl-sort (list p1 p2) '(lambda (x y) (> (cadr x) (cadr y))))
  7.         ptn2 (vl-sort (list p3 p4) '(lambda (x y) (> (cadr x) (cadr y))))
  8.   )
  9.   (list (car ptn1) (car ptn2) (cadr ptn1) (cadr ptn2))
  10. )


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

本版积分规则

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

GMT+8, 2024-11-25 23:24 , Processed in 0.167071 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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