明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2031|回复: 5

[原创]定义了ssForEach,这样一个函数,如何?是不是方便一点呢

  [复制链接]
发表于 2002-9-9 14:32:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2002-9-9 14:32:14 编辑


  1. (defun c:test ( / ss e )
  2.   (setq ss (ssget))
  3.   [color=red](ssforeach 'e ss
  4.     '(progn
  5.       (princ "\n\nEntityName: ")
  6.       (princ (cdr (assoc -1 (entget e))))
  7.       (princ "\nObjectType: ")
  8.       (princ (cdr (assoc 0 (entget e))))
  9.      )
  10.   )[/color]
  11.   (princ)
  12. )

  13. (defun ++ (_++_AutoIncSymbol)
  14.   (set _++_AutoIncSymbol (+ 1 (eval _++_AutoIncSymbol)))
  15. )

  16. (defun ssForEach (_ssForEach_EntityNameSymbol
  17.                   _ssForEach_SelectionSet    _ssForEach_ExprSymbol
  18.                   /                             _i_ssForEach
  19.                   _L_ssForEach
  20.                  )
  21.   (setq        _i_ssForEach -1
  22.         _L_ssForEach (sslength _ssForEach_SelectionSet)
  23.   )
  24.   (while (< (++ '_i_ssForEach) _L_ssForEach)
  25.     (set _ssForEach_EntityNameSymbol
  26.          (ssname _ssForEach_SelectionSet _i_ssForEach)
  27.     )
  28.     (eval _ssForEach_ExprSymbol)
  29.   )
  30. )
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2004-3-21 21:55:00 | 显示全部楼层
qf,变量名太长,可读性下降:(


vl里面有一个类似的 :vlax-for

评分

参与人数 1金钱 +20 收起 理由
gbhsu + 20 很实用的函数!

查看全部评分

发表于 2004-3-22 00:02:00 | 显示全部楼层
vlax-for         好象只能用于Collection


foreach 用于表


定义一个用于选择集的ssForEach是有必要的


变量名长而有意思,有时是为增加可读性
发表于 2004-3-22 00:15:00 | 显示全部楼层
(defun ss-foreach(ss func /         j)


(setq j -1)


(repeat(sslength ss)(apply func(list(ssname ss(setq j(1+ j))))))


)


       


;;;(ss-foreach (ssget) 'entdel)


;;;(ss-foreach (ssget) '(lambda(x)(princ(entget x))))
发表于 2011-7-22 07:41:10 | 显示全部楼层
呵呵,
也来晒晒我的哦
(defun hsu:select_function (hsu_function ss / i)
       (setq i 0)
       (repeat (sslength ss)
               ((eval hsu_function)(ssname ss i))
               (setq i(+ i 1)))
  );defun
发表于 2011-7-22 09:19:35 | 显示全部楼层
学习中。感谢楼主。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-24 05:26 , Processed in 0.156333 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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