||
利用以前写的代码,写了几个排序设置函数
1 ea:Num->hz
调用格式:(Ea:num->hz string
mod)
参 数:String - 数字字符串
Mod - T 中文数字,nil 大写中文
2
ybl-ent-sort
调用格式:(ybl-ent-sort lst mode key vx)
参数说明:
1 mode
0 按行 1 按列
2 key
(mod = 0) (mod = 1)
1 Y降X升 X升Y降 (左上至右下)
2 Y降X降 X降Y降
(右上至左下)
3 Y升X降 X降Y升 (右下至左上)
4 Y升X升
X升Y升 (左下至右上)
3 vx 行(列)允许误差,为 nil 实取 0
4 lst 表,
格式如下
((pt1 ent1) (pt2 ent2) ... (ptn entn))
a pt 为 ent
的特征点, ent 可以为 entity 或 vla-object
比如对文字排序,pt
可以使用文字的插入点
b 当 pt 为实数时,vx 为行列最大及最小值的差值,此时 mode key
为任意值
如一组数 (1 3 56 89 56 45 6 8 45 91 45 69 78 15 12 11) vx 取
10
排序后为 ((1 3 6 8 11) (12 15) (45 45 45) (56 56) (69 78) (89
91))
总表及子表均为由小到大排列
返 回 值: 表,子表为按要求排列的 行/列
说
明: 因为是 lisp 函数,本函数内部并不对数据的合法性进行检查,以提高程序的效率
使用前确保各参数的的正确性
|;
3
Ea:SortList
调用格式:(ea:sortlist pl row smod num spa vx cn)
参数说明:
;; pl
排序表((pt1 obj1) (pt2 obj2) ... )
;; row 0 按行 1 按列
;; smod 排序方式
;;
1 Y降X升 X升Y降 (左上至右下)
;; 2 Y降X降 X降Y降 (右上至左下)
;;
3 Y升X降 X降Y升 (右下至左上)
;; 4 Y升X升 X升Y升 (左下至右上)
;; num
string 起始序号
;; spa string 步距
;; vx 行精度
;; cn 0 数字 1 大写中文 2
中文
;; 返回值: (((num1 pt1 obj1) (num2 pt2 obj2) ..) (...))
4 Ea:SortInit
调用格式:(ea:sortinit pl key)
参数说明:pl - 实体表,((pt1 obj1) (pt2 obj2)
....)
key - "s" or nil
"s" 时显示排序对话框
当 pl = nil key = nil 时返回表 (row smod num spa vx cn)
当 pl = nil key =
"s" 时调用对话框设置并返回表 (row smod num spa vx cn)
当 pl 不为空,key = nil 时调用
(ea:SortList pl row smod num spa vx cn)
|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )
GMT+8, 2024-5-11 04:42 , Processed in 1.824120 second(s), 23 queries , Gzip On.
Powered by Discuz! X3.5
© 2001-2024 Discuz! Team.