豆搜网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > 经管营销 > lisp程序-选择集排序函数
侵权投诉

lisp程序-选择集排序函数

lisp程序-选择集排序函数

选择集按照给定组码排序2009年06月19日 星期五 19:47通用函数 选择集按照给定组码排序.LSP
--------------------------------------------------------------------------------

;;; 通用函数 选择集按照给定的组码值进行排序
;;;
;|;;参数说明:SE ----要排序的选择集
DXF ----排序依据的组码号
INT ----如果组码值为一个表,则INT指出使用第几个;否则nil
FUZZ----允许偏差;若无为nil
K ----T表示从大到小,nil表示从小到大
返回值:排序后的选择集
示例:(SORT-SE SS 10 0 5.0 T ) 表示按照10组码的X坐标值进行排序,允许偏差值为5.0,顺序为从大到小
(SORT-SE SS 10 1 3.0 NIL) 表示按照10组码的Y坐标值进行排序,允许偏差值为3.0,顺序为从小到大
(SORT-SE SS 8 NIL NIL NIL) 表示按照8组码值(图层名称)进行排序,顺序为从小到大
|;
(vl-load-com)
(defun SORT-SE (SE DXF INT FUZZ K / ENT INDEX LST NEWLST NEWSE TMP)
;;建立排序列表
(setq LST '()
INDEX 0
)
(repeat (sslength SE)
(setq ENT (entget (ssname SE INDEX))
TMP (cdr (assoc DXF ENT))
)
(if (and INT
(= (type INT) 'INT)
(= (type TMP) 'list)
(< INT (length TMP))
)
(setq TMP (nth INT TMP))
)
(setq LST (cons
(list TMP (cdr (assoc 5 ENT)))
LST
)
)
(setq INDEX (1+ INDEX))
)
;;排序操作
(if (and FUZZ
(or
(= (type FUZZ) 'INT)
(= (type FUZZ) 'REAL)
)
(or
(= (type TMP) 'INT)
(= (type TMP) 'REAL)
)
)
(setq NEWLST
(vl-sort LST
(function (lambda (E1 E2)
(< (+ (car E1) FUZZ) (car E2))
)
)
)
)
(setq NEWLST
(vl-sort LST
(function (lambda (E1 E2)
(< (car E1) (car E2))
)
)
)
)
)
;;如果K为T,则倒置
(if K
(setq NEWLST (reverse NEWLST))
)
;;组织排序后的选择集
(setq NEWSE (ssadd))
(foreach TMP NEWLST
(setq NEWSE (ssadd (handent (cadr TMP)) NEWSE))
)
;;返回值
NEWSE
) ;_结束defun
;;;=============================================================
;;;测试
(defun C:TT (/ S1 S2 I SIZE)
(if (setq S1 (ssget '((0 . "TEXT"))))
(progn
;;
(setq SIZE (cdr (assoc 40 (entget (ssname S1 0)))))
;;排序
;;; ;;x坐标排序:
;;; (setq S2 (SORT-SE S1 10 0 (* 0.6 SIZE) nil))
;;; ;;y坐标排序:
;;; (setq S2 (SORT-SE S1 10 1 (* 0.6 SIZE) t))
;;

第1页

你可能喜欢

  • lisp程序
  • CAD二次开发
  • 冒泡排序算法
  • 排序算法总结
  • 顺序查找
  • C语言算法
  • 数据结构栈和队列
  • 直接插入排序算法

热门文档

相关文档

  • lisp程序-选择集排序函数

    lisp程序-选择集排序函数_其它语言学习_外语学习_教育专区。lisp程序-选择集排序函数百度空间

  • lisp程序-选择集排序函数

    lisp程序-选择集排序函数lisp程序-选择集排序函数隐藏>> lisp程序-选择集排序函数.txt我的人生有A 面也有B面,你的人生有S面也有B面。 失败不可怕,关键看是不...

  • Lisp常用函数

    Lisp常用函数_IT/计算机_专业资料。Lisp常用函数今日推荐 116份文档 ... lisp程序-选择集排序函数... 3页 免费 第二章 Auto LISP基本函... 42页...

  • lisp函数

    (sqrt 数值)返回:数值的平方根 二、检验与逻辑运算功能函数 2.l(= 表达式 1... LISP基本函数 暂无评价 2页 免费 lisp程序-选择集排序函数... 3页 免费 ...

  • CADLISP函数

    实体名 4. 选择集 5. 内部函数(AutoLISP程序) 6. 外部函数(ADS、ARX 函数) 代码 \\ \” \e \n \r \t 意义 \键 “键 ESC 键 换行 回车 制表...

  • lisp功能函数

    (sqrt 数值)返回:数值的平方根 二、检验与逻辑运算功能函数 2.l(= 表达式 1... CAD的LISP功能函数一览表... 10页 7下载券 lisp程序-选择集排序函数... 3...

  • AUTO LISP函数参考5

    AUTO LISP函数参考5_电力/水利_工程科技_专业资料...(为了可读,作了缩进 排列): ( (-1 . <Entity ...选择集只对图形编辑过程有效,它们是在图形编辑过程中...

  • LISP程序课件

    (ENAME)、选择集(PICKSET)、函数分 页表(PAGETB)、VLA对象(Visual Lisp ...(nth n lst) 返回表的第 n 个元素,从零排序,其中n>=0,若n大于表的最大...

  • CAD的LISP功能函数一览表

    选择集,符号表处理 功能函数 (listp 元素) (...作字符串列表排序 取得bhatch与bpoly失败所产生的错误... lisp教程 80页 免费 超经典CAD lisp程序集锦......

  • LISP基本函数

    LISP 基本函数表处理函数 函数名称 Car 函数 函数格式 (car list) 函数功能 ...函数返 回排序后的相同字符串表。如果 Acad_strlsort 以 ASCII 码字母顺序对...

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.docsou.com All Rights Reserved.  闽ICP备15022310号-9  闽公网安备 35021102001881号  email
返回顶部