找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 625|回复: 2

[编程申请]:保留每个数组中间的那个数而去掉其余四个数

[复制链接]
发表于 2006-2-9 12:02:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
图中每五个数字组成的数组有若干组,如何保留每个数组中间的那个数而去掉其余四个数?每组数的排版有一定规律,请参考附件,谢谢。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-2-11 22:30:41 | 显示全部楼层
  1. [FONT=courier new](load "xyp_lib.vlx")  ;版本 V.20060211(2064)
  2. ;|下载和加载通用函数(可在签名栏直接下载后放到搜索路径下)
  3. 利用以下任何一种方式(首选第一种)即可加载和运行通用函数内的所有子程序:
  4. ★1·在acad.lsp中增加(load"xyp_lib.vlx")
  5. ■2·在每个程序内增加(load"xyp_lib.vlx")
  6. ■3·在command下,输入(load"xyp_lib.vlx")
  7. ■4·在菜单.mnl中增加(load"xyp_lib.vlx")
  8. ■5·将xyp_lib.vlx文件直接拽到cad屏幕
  9. [COLOR=red] ★通用函数下载地址:[/COLOR]
  10. [url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]
  11. |;

  12. ;;;szcl(数组处理)
  13. ;;;每五个数字组成的数组有若干组,保留每个数组中间的那个数而去掉其余四个数
  14. ;;;2006.02.11 For Lengliqun  
  15. (defun c:szcl (/ i j ss ss1 ss2 s1)
  16.   (CMDLA0)
  17.   (if (null ukw)
  18.     (setq ukw "Y")
  19.   )
  20.   (princ "\n选择待处理的范围: ")
  21.   (setq        ss  (ssget '((0 . "3DFACE") (8 . "12000")))
  22.         i   -1
  23.         ukw (UKWORD 1 "Y N" "\n数据有错误时是否标识:Y-是/N-否" ukw)
  24.   )
  25.   (setvar "osmode" 0)
  26.   (command "zoom" "e")
  27.   (mkla "错误示意" 1)
  28.   (while (setq s1 (ssname ss (setq i (1+ i))))
  29.     (setq pt0 (xyp-get-MinMaxPoint s1 1)
  30.           pt1 (polar pt0 (* pi 1.5) 1500)
  31.           pt1 (polar pt1 0 500)
  32.           pt7 (polar (xyp-get-MinMaxPoint s1 7) (* pi 0.5) 1500)
  33.           pt7 (polar pt7 pi 3000)
  34.           ss1 (ssget "c" pt1 pt7)
  35.           ss2 (ssget "p" '((0 . "TEXT") (8 . "10001")))
  36.     )
  37.     (if        ss2
  38.       (setq lt (sslength ss2))
  39.     )
  40.     (main)
  41.   )
  42.   (CMDLA1)
  43. )
  44. (defun main (/ j en pplst)
  45.   (if (= lt 5)
  46.     (progn
  47.       (setq pplst (xyp-Sort ss2 10 "Y-MAX")
  48.             j          0
  49.       )
  50.       (foreach en pplst
  51.         (setq j        (1+ j)
  52.               e        (cdr en)
  53.         )
  54.         (if (/= j 3)
  55.           (command "erase" e "")
  56.         )
  57.       )
  58.     )
  59.     (progn
  60.       (princ "\n此处数据有错误:数据不等于5个!")
  61.       (if (= ukw "Y")
  62.         (xyp-Cross pt0 1000 1)
  63.       )
  64.     )
  65.   )
  66. )
  67. (pxyp"szcl  (数组处理)")[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-13 12:29:31 | 显示全部楼层
CAD2002、CAD2004测试可用,谢谢。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-22 05:55 , Processed in 0.321543 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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