 - [FONT=courier new](load "xyp_lib.vlx") ;版本 V.20060211(2064)
- ;|下载和加载通用函数(可在签名栏直接下载后放到搜索路径下)
- 利用以下任何一种方式(首选第一种)即可加载和运行通用函数内的所有子程序:
- ★1·在acad.lsp中增加(load"xyp_lib.vlx")
- ■2·在每个程序内增加(load"xyp_lib.vlx")
- ■3·在command下,输入(load"xyp_lib.vlx")
- ■4·在菜单.mnl中增加(load"xyp_lib.vlx")
- ■5·将xyp_lib.vlx文件直接拽到cad屏幕
- [COLOR=red] ★通用函数下载地址:[/COLOR]
- [url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]
- |;
- ;;;szcl(数组处理)
- ;;;每五个数字组成的数组有若干组,保留每个数组中间的那个数而去掉其余四个数
- ;;;2006.02.11 For Lengliqun
- (defun c:szcl (/ i j ss ss1 ss2 s1)
- (CMDLA0)
- (if (null ukw)
- (setq ukw "Y")
- )
- (princ "\n选择待处理的范围: ")
- (setq ss (ssget '((0 . "3DFACE") (8 . "12000")))
- i -1
- ukw (UKWORD 1 "Y N" "\n数据有错误时是否标识:Y-是/N-否" ukw)
- )
- (setvar "osmode" 0)
- (command "zoom" "e")
- (mkla "错误示意" 1)
- (while (setq s1 (ssname ss (setq i (1+ i))))
- (setq pt0 (xyp-get-MinMaxPoint s1 1)
- pt1 (polar pt0 (* pi 1.5) 1500)
- pt1 (polar pt1 0 500)
- pt7 (polar (xyp-get-MinMaxPoint s1 7) (* pi 0.5) 1500)
- pt7 (polar pt7 pi 3000)
- ss1 (ssget "c" pt1 pt7)
- ss2 (ssget "p" '((0 . "TEXT") (8 . "10001")))
- )
- (if ss2
- (setq lt (sslength ss2))
- )
- (main)
- )
- (CMDLA1)
- )
- (defun main (/ j en pplst)
- (if (= lt 5)
- (progn
- (setq pplst (xyp-Sort ss2 10 "Y-MAX")
- j 0
- )
- (foreach en pplst
- (setq j (1+ j)
- e (cdr en)
- )
- (if (/= j 3)
- (command "erase" e "")
- )
- )
- )
- (progn
- (princ "\n此处数据有错误:数据不等于5个!")
- (if (= ukw "Y")
- (xyp-Cross pt0 1000 1)
- )
- )
- )
- )
- (pxyp"szcl (数组处理)")[/FONT]
|