找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1142|回复: 10

[求助] [求助]:请高手帮我调试一下程序

[复制链接]
发表于 2007-8-31 23:16:42 | 显示全部楼层 |阅读模式

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

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

×
很简单,想写一个小程序,
把图上所有大于5的数字,改成红色!!


  1.   [FONT=courier new]
  2. (DEFUN C:tor ()
  3. (SETVAR "CMDECHO" 0)
  4. (SETQ SS (SSGET "X" '((0 . "*TEXT") )))
  5.       (if (> ss 5) (command "chprop" ss"" "c" 1 ""))
  6.     (setq k (1+ k))
  7. (SETVAR "CMDECHO" 1)
  8. (PRINC)
  9. )

  10.   [/FONT]


请高手帮我看看哪里不对??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-9-1 01:03:54 | 显示全部楼层
(defun  c:test ()
(SETQ SS (SSGET "X" '((0 . "TEXT")) ))
  (setq i 0)
     (repeat (sslength ss)
      (setq en (ssname ss i))
     (setq test (cdr (assoc 1 (entget en))))
     (setq tes (atof test))
      (if (> tes 5)
        (command "chprop" en "" "c" 1 "")
        )
    (setq i (1+ i))
     )
)


你的程序问题太大
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-1 19:07:23 | 显示全部楼层
谢谢楼上,变成红色还是不醒目,
如果我想把文字放大3倍,该怎么修改一下呢??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 10403个

财富等级: 富甲天下

发表于 2007-9-2 12:01:11 | 显示全部楼层
[php]
(DEFUN C:TEST ()
(SETVAR "CMDECHO" 0)
(PRINC "\nSelect Text(s) :")
(IF (SETQ SS (SSGET "X" '((0 . "TEXT")))) (PROGN
  (SETQ I -1)
  (REPEAT (SSLENGTH SS)
   (SETQ EN (SSNAME SS (SETQ I (1+ I)))
         ENT (ENTGET EN)
         PT (CDR (ASSOC 10 ENT)))
   (if (> (ATOF (CDR (ASSOC 1 ENT))) 5)
    (COMMAND "SCALE" EN "" PT 3)
   )
  )
))
(SETVAR "CMDECHO" 1)
(PRINC)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-9-2 15:14:45 | 显示全部楼层
试试:

  1. (defun c:x1 (/ cor date en index scal ss txt)
  2.   (and (setq index 0)
  3.        (setq ss (ssget '((0 . "*TEXT"))))
  4.        (while (setq en (ssname ss index))
  5.          (setq date (entget en))
  6.          (setq txt (cdr (assoc 1 date)))
  7.          (if (> (aotf txt) 5)
  8.            (progn
  9.              (if (setq cor (assoc 62 date))
  10.                (setq date (subst '(62 . 1) cor date))
  11.                (setq date (append date '(62 . 1)))
  12.              )
  13.              (setq scal (assoc 40 date))
  14.              (setq date (subst (cons 40 (* (cdr scal) 3)) scal date))
  15.            )
  16.          )
  17.          (entmod date)
  18.          (entupd en)
  19.          (setq index (1+ index))
  20.        )
  21.   )
  22. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

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

使用道具 举报

 楼主| 发表于 2007-9-4 09:16:19 | 显示全部楼层
看看我的程序吧


  1.   [FONT=courier new]
  2. (defun c:tor ()
  3. (SETQ SS (SSGET '((0 . "TEXT")) ))
  4. (setq i 0)
  5. (repeat (sslength ss)
  6. (setq en (ssname ss i))
  7. (setq test (cdr (assoc 1 (entget en))))
  8. (setq tes (atof test))
  9. (setq pt (cdr (assoc 10 (entget en))))
  10. (if (> tes 5)
  11. command "_.scale" en "" pt 3)
  12. (command "chprop" en "" "c" 1 "")
  13. )
  14. (setq i (1+ i))
  15. )
  16. )
  17.   [/FONT]


我是想同时实现变红和放大,但现在只能单独实现一个,两个就不行,那位高手指点一下!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-9-4 14:57:20 | 显示全部楼层
原因就出在你对if 的用法不明确.
(if 条件 语句1 语句2)
当满足条件时,执行语句1,当不满足条件时,执行语句2
[php]
(defun c:tor (/ EN I PT SS TES TEST)
  (setvar "cmdecho" 0)
  (command ".undo" "be")
  (if (setq ss (ssget "X" '((0 . "*text")))
               i  0
         )
    (repeat (sslength ss)
      (setq en         (ssname ss i)
            test (cdr (assoc 1 (entget en)))
            tes         (atof test)
            pt         (cdr (assoc 10 (entget en)))
            i         (1+ i)
      )
      (if (> tes 5)
        (command "_.scale" en "" pt 3 "chprop" en "" "c" 1 "")
      )
    )
  )
  (command ".undo" "en")
  (princ)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-9-5 02:14:51 | 显示全部楼层
对选择集使用repeat有时会出错.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-9-5 10:31:09 | 显示全部楼层
最初由 Dream.Fei 发布
[B]对选择集使用repeat有时会出错. [/B]


请给个例子。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 04:53 , Processed in 0.195700 second(s), 50 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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