明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: vlisp2012

图元排序问题

  [复制链接]
发表于 2019-1-29 13:35 | 显示全部楼层
本帖最后由 xyp1964 于 2019-1-29 13:38 编辑

  1. (defun c:tt (/ lst)
  2.   (setq ukw (Ukword 1 "1 2" "1-先上下后左右/2-先左右后上下" ukw))   (princ "\n请选择要排序的实体...")
  3.   (if (setq ss (ssget '((0 . "circle"))))
  4.     (progn
  5.       (setq i 0)
  6.       (repeat (sslength ss)
  7.         (setq pt  (cdr (assoc 10 (entget (ssname ss i))))
  8.               lst (cons pt lst)
  9.               i          (1+ i)
  10.         )
  11.       )
  12.       (setq lst        (if (= ukw "1")
  13.                   (vl-sort lst '(lambda (x y) (if (equal (cadr x) (cadr y) 1e-3) (< (car x) (car y))(> (cadr x) (cadr y)))))
  14.                   (vl-sort lst '(lambda (x y)(if (equal (car x) (car y) 1e-3)(> (cadr x) (cadr y))(< (car x) (car y))))))
  15.             i        0
  16.       )
  17.       (mapcar '(lambda (x)
  18.                  (setq i  (1+ i)  bh (itoa i))
  19.                  (command "text" "j" "mc" "non" x 25 0 bh)
  20.                )
  21.               lst
  22.       )
  23.     )
  24.   )
  25.   (princ)
  26. )

回复 支持 1 反对 0

使用道具 举报

发表于 2020-3-29 23:10 | 显示全部楼层
NNWS神速神速
发表于 2020-3-30 12:20 | 显示全部楼层
很好用,学习了
发表于 2020-12-27 20:44 | 显示全部楼层
正要派用场,多谢多谢!
发表于 2021-5-21 15:08 | 显示全部楼层
6楼 zml84 大神代码强悍。,测试可行,还有有容差判断

修改 (if (equal (cadr e1) (cadr e2) 1e1)  中的  1e1 变量就实现容差

图片上白色上参考线,偏差参考线的 圆照样编号,强大

本帖子中包含更多资源

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

x
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 14:51 , Processed in 0.297132 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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