找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 610|回复: 2

[编程申请]:请帮忙修改代码

[复制链接]
发表于 2005-4-25 22:27:56 | 显示全部楼层 |阅读模式

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

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

×
功能:逐层搜索对象,如发现第N层为空或不存在,则自动新建图层N,颜色也问N,同时循环退出。谢谢!
(defun c:xg ()
  (setq a 0)
  (setq b 0)
  (setq i 1)
  (while (= a 1)
    (setq tcm (strcat "layer" (rtos i 2 0)))
    (setq gj (ssget "X" (list (cons 8 tcm))))
    (if        gj
      (setq a 0)
      (progn
        (setq a 1)
        (command "Layer" "m" tcm "")
        (setq co i)
        (command "color" co)
      )
    )                                        ;end if
    (setq i (+ i 1))
  )                                        ;end while
)                                        ;end defun
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 11288个

财富等级: 富甲天下

发表于 2005-4-26 08:20:37 | 显示全部楼层
a=0循环不执行。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-26 10:32:42 | 显示全部楼层
谢谢楼上的答复。
while  (= a 1)表述的应该是:循环到a=1为止。若a不等于1,比如为0则继续循环。
这样可以让预先不知到循环次数的循环自动退出。
编程的目的只是解决问题。我换了一个计算方法把目的实现了,代码如下:
(defun c:xc()
  (setq a 0)
  (setq c 1)
  (setq bl1 (list))
  (setq b 0)
  (setq i 1)
  (repeat 256
    (setq tcm (strcat "layer" (rtos i 2 0)))
    (setq gj (ssget "X" (list (cons 8 tcm))))
    (if        gj
      (setq a 0)
      (progn
        (setq bl1 (cons i bl1))
      )
    )                                        ;end if
    (setq i (+ i 1))
  )                                        ;end repeat
  (setq j 0)
  (setq m (length bl1))
  (setq bl2 259)
  (setq c bl2)
  (repeat m
    (setq bl2 (nth j bl1))
    (if        (< bl2 c)
      (setq c bl2)
      (setq jhh 3)
    )                                        ;end if
    (setq j (+ j 1))
  )                                        ;end repeat
  (setq tcm (strcat "layer" (rtos c 2 0)))
  (command "Layer" "m" tcm "")
  (setq co c)
  (command "color" co)
)                                        ;end defun
在2004里运行通过。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-22 06:10 , Processed in 0.469228 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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