找回密码
 注册会员
查看: 2165|回复: 7

[讨论] 请问这段LISP代码那里出问题了?

[复制链接]
发表于 2008-4-22 13:00:45 |Error| 显示全部楼层 |阅读模式

我们不再是孤独的探索者;让我们的手紧紧相连,一起成长。

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

×
代码如下:
;CTH.LSP  改变文字高度
;将所选取到的文字统一改成某一高度值
(defun c:CTH()
  (graphscr)                                  ;切换到图形窗口
  (prompt "\请选择对象:")
  (setq e1 (ssget))                            ;选取到对象
  (setq h1 (getdist "\请输入新的高度:"))      ;输入新的高度
  (setq nh (cons 40 h1))                      ;组成新高度数据项
  (setq i 0)                                  ;索引值归零
  (repeat (sslength e1)                        ;重复N次
    (setq e2 (entget (ssname e1 i)))           ;取出对象数据序列
    (setq e3 (cdr (assoc 0 e2)))                ;取出对象类别字符串
    (if (= e3 "text")
      (progn
(setq oh(assoc 40 e2))                ;取出旧的字高数据项
(setq e2(subst nh oh e2))             ;置换序列内的字高数据项
(entmod e2)
      )
     )
    (setq i (1+i))                            ;索引值加一
   )
  (princ)
)


运行时会提示如下错误:
; 错误: no function definition: 1+i

请问高手怎么解决啊?
 楼主| 发表于 2008-4-23 18:19:24 |Error| 显示全部楼层
自己定一个,望大家关注下!
回复 顶 踩

使用道具 举报

发表于 2008-4-23 22:58:44 |Error| 显示全部楼层
加号应该放在运算的前面吧,用(+ 1 i),
回复 顶 踩

使用道具 举报

 楼主| 发表于 2008-4-23 23:02:44 |Error| 显示全部楼层
这个我试过,好像还是不行
这段代码我从书上弄下来的,书的封面说适用于2002版,我现在用的是2006版。会是这个原因吗?
回复 顶 踩

使用道具 举报

发表于 2008-4-27 07:29:17 |Error| 显示全部楼层
不是2002和2006的原应
回复 顶 踩

使用道具 举报

发表于 2008-11-23 17:23:27 |Error| 显示全部楼层
(setq i (1+i))                            ;索引值加一

这一句应该写成如下:
(setq i (1+   i))                        ;索引值加一

切记+与i之间应当有一个空格。  

请君一试
回复 顶 踩

使用道具 举报

发表于 2008-11-25 20:05:05 |Error| 显示全部楼层
(if (= e3 "text")
这一句应该写成如下:
(if (= e3 "TEXT")        ;text   改为   TEXT

(setq i (1+i))                            ;索引值加一

这一句应该写成如下:
(setq i (1+   i))                        ;索引值加一

切记+与i之间应当有一个空格。  

我在AutoCAD2005中运行通过了的。
回复 顶 踩

使用道具 举报

发表于 2015-3-12 21:41:10 |Error| 显示全部楼层
7楼正解,但是不用改TEXT也可以的
回复 顶 踩

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Cncad.Net ( 苏ICP备2026083443号 )

GMT+8, 2026-11-1 21:27 , Processed in 0.200969 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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