明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2458|回复: 8

[求助]大家看看这个程序哪里错了

[复制链接]
发表于 2004-4-29 19:19:00 | 显示全部楼层 |阅读模式
这是我的一个小程序,想通过DCL对话框的输入,实现在当前图的动态的插入一个属性块,这个属性块要是取得对话框前的LABEL标签还有DCL中的TEXT中输入的字符。运行后我的程序有点错误,不错错哪里了。各位大侠们帮我看看好吗 错误是

AutoCAD 菜单实用程序已加载。
命令:
命令:
命令: _vlide
命令:
命令: 'VLIDE
命令:
命令: 'VLIDE
命令:
命令: 指定对角点:
命令: (load "mixi")
OK_MIXI
命令: mixi
未知命令“1”。按 F1 查看帮助。
未知命令“11”。按 F1 查看帮助。
未知命令“1”。按 F1 查看帮助。
未知命令“1”。按 F1 查看帮助。
未知命令“1”。按 F1 查看帮助。
未知命令“1”。按 F1 查看帮助。
未知命令“1”。按 F1 查看帮助。
未知命令“1”。按 F1 查看帮助。
未知命令“MIXI”。按 F1 查看帮助。
未知命令“MIXI”。按 F1 查看帮助。
未知命令“MIXI”。按 F1 查看帮助。
未知命令“MIXI”。按 F1 查看帮助。

本帖子中包含更多资源

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

x
发表于 2004-4-29 19:43:00 | 显示全部楼层
(command "insert" blkname '(0 0) 1 1 0                 ww wa wb wc wd we wf wg wh wi wj wk )


怎麼可以這樣用呢?
发表于 2004-4-29 20:25:00 | 显示全部楼层
把dcl文件也贴上来吧
 楼主| 发表于 2004-4-30 20:17:00 | 显示全部楼层
现这里也帮我看看有什么错吧(defun ok_mixi()
(setq ww (itoa (get_tile "ww")));这里是取得各dcl中的KEY对应的TEXT内容
(setq wa (itoa (get_tile "wa")))
(setq wb (itoa (get_tile "wb")))
(setq wc (itoa (get_tile "wc")));如果改成atoi还是错的。该用什么好。
(setq wd (itoa (get_tile "wd")))
(setq we (itoa (get_tile "we"))) 请问怎么把取出的字符插到块里。
 楼主| 发表于 2004-4-30 20:18:00 | 显示全部楼层
                                                                                                         这是我的DCL文件

本帖子中包含更多资源

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

x
发表于 2004-4-30 20:30:00 | 显示全部楼层
有可能是你的 ATTREQ 系统变量的问题。设成1试试。
发表于 2004-4-30 22:15:00 | 显示全部楼层
语法       (itoa int)功能及参数         此函数可用来将整型数转换成字符串, 并返回此字符串。范例(itoa 33)          返回          "33"        (itoa -17)         返回       “-17”而(get_tile  "wc")本来返回的就是字符串嘛!------------------ (action_tile  "ins_ok"  "(ok_mixi)(done_dialog  l)")
其中done_dialog  后面你的是字符 l 而不是数字 1 ----------------------最后是你的块没有这么多属性吧?而且你完全可以直接这种嘛:(command "insert" blkname inspt 1  "" 0 ww wa wb wc wd we wf wg wh wi wj wk )  我在轴线标注中的轴号块插入:它只有一个块属性其中P是一个点表,C0是比例,n1、n2、n3则是字符
  1. (command ".insert"
  2.            (strcat Netbee_Block "_AXISO")
  3.            p
  4.            c0
  5.            ""
  6.            0
  7.            (strcat n1 n2 n3)
  8.        ) ;_ 结束command
 楼主| 发表于 2004-5-1 03:27:00 | 显示全部楼层
按以上方法改过后。仍然是错误 命令: (load "mixi")
OK_MIXI
命令: mixi
; 错误: no function definition: INT 我改过后的代码是这样的 (action_tile "ins_ok" "(ok_mixi)(done_dialog 1)")
(setq dd (start_dialog))
(if (= dd 1)
(progn
(command "insert" blkname inspt 1 "" 0 ww wa wb wc wd we wf wg wh wi wj wk )

(command "move" (entlast) "" '(0 0) pause)
)
)
) (defun ok_mixi ()
(setq ww (itoa (get_tile "ww")))
(setq wa (itoa (get_tile "wa")))
(setq wb (itoa (get_tile "wb")))
(setq wc (itoa (get_tile "wc")))
(setq wd (itoa (get_tile "wd")))
(setq we (itoa (get_tile "we"))) (setq wf (itoa (get_tile "wf")))
(setq wg (itoa (get_tile "wg")))
(setq wh (itoa (get_tile "wh")))
(setq wi (itoa (get_tile "wi")))
(setq wj (itoa (get_tile "wj")))
(setq wk (itoa (get_tile "wk")))
)
七楼能把 insert 的使用实例给我看一下吗。这样看不太懂
发表于 2004-5-2 22:48:00 | 显示全部楼层
程序中有几个错误 明显的如7楼的ITOA 的问题 隐蔽的如把prin1打成prinl,不过这不要紧,致命的是下面一句 (action_tile "ins_ok" "(ok_mixi)(done_dialog l)")
这回却把1看成l了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-1 12:54 , Processed in 0.188980 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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