明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1191|回复: 3

[已解答] 小白提问:这个lisp为什么每次只能执行1次,再执行就提示函数错误?

[复制链接]
发表于 2013-9-18 23:01:14 | 显示全部楼层 |阅读模式
请问我这个lisp为什么每次只能执行1次,再执行就提示函数错误?
  1. ;;调入"建筑专业平面底图"
  2. (defun C:JIANZHU ( )
  3.   (setvar "cmdecho" 0)
  4.   (setvar "filedia" 0)
  5.     (if (= nil (tblsearch "layer" "JZDT_建筑底图")) (command "layer" "m" "JZDT_建筑底图" ""))
  6.     (setvar "clayer" "JZDT_建筑底图")
  7.     (setq cenghao (MYCENGHAO ""))
  8.     (setq zuhe1 (strcat "..\\..\\建筑专业\\DWG图纸\\建筑" cenghao "层平面图.DWG"));;组合1
  9.     (setq zuhe2 (strcat "建筑" cenghao "层平面图|*"));;组合2
  10.     (setq zuhe3 (strcat "建筑" cenghao "层平面图|*_建筑底图"));;组合3
  11.     (command "-xref" "O" zuhe1 "0,0,0" "1" "1" "0")
  12.     (while (/= 0 (getvar "cmdactive"))(command pause))
  13.     (setvar "clayer" "0")
  14.     (setvar "filedia" 1)
  15.        (command
  16.           "-layer"
  17.           "f"
  18.           zuhe2
  19.           ""
  20.        )
  21.        (command
  22.           "-layer"
  23.           "T"
  24.           zuhe3
  25.           ""
  26.        )
  27.      )

  28. (defun MYCENGHAO (str)
  29. (setq lal (getstring "请输入层号"))
  30. (if (= lal "bzc")
  31. (setq MYCENGHAO "标准")
  32. (setq MYCENGHAO lal)
  33. )
  34. )
 楼主| 发表于 2013-9-18 23:12:58 | 显示全部楼层
本帖最后由 wlq2004 于 2013-9-18 23:14 编辑

再次执行时,出错的行数是第7行“(setq cenghao (MYCENGHAO ""))”这句。
出错的原因是 子函数 MYCENGHAO 闹的。
可为什么第一次可以顺利执行,再执行就错误了呢?
出错提示:函数出错”-1“
-1是第一次顺利执行MYCENGHAO的返回值。
发表于 2013-9-19 08:40:05 | 显示全部楼层
你在子函数中已经将函数名重定义了。
(defun MYCENGHAO (str)
(setq lal (getstring "请输入层号"))
(if (= lal "bzc")
(setq MYCENGHAO "标准"));这里重定义了
(setq MYCENGHAO lal);这里重定义了
)
)
应改成
(defun MYCENGHAO (str)
(setq lal (getstring "请输入层号"))
(if (= lal "bzc")
"标准"
lal
)
)
 楼主| 发表于 2013-9-19 08:56:23 | 显示全部楼层
ZZXXQQ 发表于 2013-9-19 08:40
你在子函数中已经将函数名重定义了。
(defun MYCENGHAO (str)
(setq lal (getstring "请输入层号"))

谢谢!!!问题解决了~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-26 10:02 , Processed in 0.233792 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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