明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: xyp1964

[讨论] 【e派】工具箱函数再揭秘及应用实例

    [复制链接]
发表于 2018-1-1 09:59:52 | 显示全部楼层
感谢 xyp1964 分享学习!!!!
 楼主| 发表于 2018-1-12 23:45:42 | 显示全部楼层

本帖子中包含更多资源

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

x

点评

院长,太厉害了,  发表于 2018-1-13 15:53
发表于 2018-2-13 10:35:59 | 显示全部楼层
感谢分享,高手就是强!
发表于 2018-2-24 16:21:20 | 显示全部楼层
谢谢分享,院长太
发表于 2018-3-24 22:28:20 | 显示全部楼层
这么好的工具箱,需望可以用到啊
发表于 2018-5-15 00:23:16 | 显示全部楼层
可惜学得太迟,院长出手果然不同凡响
 楼主| 发表于 2018-11-16 20:59:14 | 显示全部楼层
  1. ;; xyp-Sort-PList 点集实体排序 (xyp-Sort-Plist lst mode) mode 1~10
  2. (defun xyp-Sort-PList (lst mode / x y)
  3.   (defun aaa (lst fun1 fun2 / x y x1 x2 y1 y2)
  4.     (vl-sort lst
  5.              '(lambda (x y)
  6.                 (setq x (trans (car x) 0 1)
  7.                       y         (trans (car y) 0 1)
  8.                       x1 (car x)
  9.                       x2 (car y)
  10.                       y1 (cadr x)
  11.                       y2 (cadr y)
  12.                 )
  13.                 (cond ((and (= x1 x2) (= y1 y2) (> (caddr x) (caddr y))) T)
  14.                       ((and (= y1 y2) (fun1 x1 x2)) T)
  15.                       ((fun2 y1 y2) T)
  16.                       (T nil)
  17.                 )
  18.               )
  19.     )
  20.   )
  21.   (defun bbb (lst fun1 fun2 / x y x1 x2 y1 y2)
  22.     (vl-sort lst
  23.              '(lambda (x y)
  24.                 (setq x (trans (car x) 0 1)
  25.                       y         (trans (car y) 0 1)
  26.                       x1 (car x)
  27.                       x2 (car y)
  28.                       y1 (cadr x)
  29.                       y2 (cadr y)
  30.                 )
  31.                 (cond ((and (= x1 x2) (= y1 y2) (> (caddr x) (caddr y))) T)
  32.                       ((and (= x1 x2) (fun1 y1 y2)) T)
  33.                       ((fun2 x1 x2) T)
  34.                       (T nil)
  35.                 )
  36.               )
  37.     )
  38.   )
  39.   (cond ((= mode 1) (aaa lst < >))                  ; 上→下,左→右
  40.         ((= mode 2) (aaa lst > >))                  ; 上→下,右→左
  41.         ((= mode 3) (aaa lst < <))                  ; 下→上,左→右
  42.         ((= mode 4) (aaa lst > <))                  ; 下→上,右→左
  43.         ((= mode 5) (bbb lst > <))                  ; 左→右,上→下
  44.         ((= mode 6) (bbb lst < <))                  ; 左→右,下→上
  45.         ((= mode 7) (bbb lst > >))                  ; 右→左,上→下
  46.         ((= mode 8) (bbb lst < >))                  ; 右→左,下→上
  47.         ((= mode 9) (vl-sort lst '<))                  ; 单一数值从小到大
  48.         ((= mode 10) (vl-sort lst '>))                  ; 单一数值从大到小
  49.   )
  50. )
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-11-16 21:03:19 | 显示全部楼层
  1. ;; tt(圆孔排序8式)
  2. (defun c:tt ()
  3.   (xyp-StartSc)
  4.   (setq        ukw (Ukword 1
  5.                     "1 2 3 4 5 6 7 8"
  6.                     "1上下左右;2上下右左;3下上左右;4下上右左;5左右上下;6左右下上;7右左上下;8右左下上;"
  7.                     ukw
  8.             )
  9.   )
  10.   (if (setq ss (ssget '((0 . "circle"))))
  11.     (progn
  12.       (setq lst        (xyp-Ss2List ss)
  13.             ptn        (mapcar '(lambda (x) (list (xyp-DXF 10 x) x)) lst)
  14.       )
  15.       (setq ptn        (xyp-Sort-PList ptn (atoi ukw))
  16.             ptn        (mapcar 'car ptn)
  17.             i        0
  18.             aa        (mapcar '(lambda (x) (setq i (1+ i)) (xyp-Text 5 x (itoa i))) ptn)
  19.       )
  20.     )
  21.   )
  22.   (xyp-End)
  23. )
发表于 2018-11-17 10:21:55 | 显示全部楼层
从一楼一直走到底,院长辛苦了
发表于 2018-11-17 11:10:00 | 显示全部楼层
感谢 xyp1964 分享学习!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 08:36 , Processed in 0.168486 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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