phonixs 发表于 2004-6-9 18:32:00

[求助]使用VL调用CAD指令时出现的问题.

问题是这样的。


问题一:用command调用fillet


之前已经画了一条多义线。我想给多义线倒圆角.用了命令


(command "fillet" "r" "5" "p" "l")


单个的使用的时候没有任何问题。


但是我把整个程序调用的时候,却出现了到"p"的时候程序停了下来。


指令窗显示:未知命令"p" 并跟着显示了我所选多义线的图元名。


请问这是为什么?为什么"p"会无效?


问题二:这次是填充的问题


在填充某个闭合区域的时候。区域中的某一点为p1。


然后(command "-bhatch" p1 "p" "net" "0.3" "45" "")


和问题一相似的就是单个子程序调试的时候没有问题。


应用在整个程序里的时候,就会发生这样的问题:


程序到开始分析孤岛的时候,好像会停止响应指令一小段时间?


之后的指令全部失效。我快疯了。。。


命令行提示:


点在对象上


未发现有效的图案填充边界。


这又是怎么回事?


问题三:不段出现"未知命令“xxx”。按 F1 查看帮助。"


xxx是我用defun c:xxx定义的函数名。


关闭了cmdecho后


在调用xxx的时候,却不断的有"未知命令“xxx”。按 F1 查看帮助。"


好像是没使用一个子程序就会弹这样一句出来。


这又是怎么回事???



学lisp不久,遇到的一些问题。请指教。不胜感激!!!!!!!

phonixs 发表于 2004-6-9 19:20:00

本帖最后由 作者 于 2004-6-9 20:20:14 编辑

未完成的几个子程序我已经注释掉了,不防碍运行了。


程序中一共出现了13句


>_<.b


不过框架基本上已经有了。


meflying 发表于 2004-6-9 19:41:00

这都是command的问题,一种可能是输入的参数位置不对,你要一个一个检查,保证每个都跟命令行需要输入的参数一致,另一种可能就是参数值不对,比如你需要一个点参数,可你计算时由于种种原因,导致这个值为空或其它类型,这样输入就是非法输入,命令不能继续,这样就势必影响后面的command,你把cmdecho设为1,看看命令行的所有提示,看哪儿输入有问题。。。也可以使用VLISP编辑器跟踪,看问题出在哪儿。。。你的程序由于不全,无法调试,所以无法找出问题,建议最好还是你自己找,这样以后出现同样的问题你就能自己解决了

phonixs 发表于 2004-6-9 20:24:00

我把文件稍做了修改。


注释掉了未完成的子程序。


运行是没有问题的。


但是全程序出现了14句


未知命令“SECT”。按 F1 查看帮助。


老师看到肯定会拿刀砍死我的。。55

meflying 发表于 2004-6-9 20:42:00

我的建议还是不愿意采纳???已经告诉你哪儿可能出问题了,你或者检查一下程序,或者用VLISP编辑器跟踪一下,看哪儿有问题。。。


如这句就不对


(command "-layer" "m" "1enchant" "c" 3 "" "" "")


你仔细用命令行执行一下这个命令,看最后输入的空回车个数对不对。。。


其他的再检查一遍,一定要保证每个command都是正确的

phonixs 发表于 2004-6-9 21:07:00

我已经调试过很多遍了。



像上一句(command "-layer" ...)


我好像记得说能用变量控制的就不要使用command命令是吧


我全部换成(setvar "clayer" xxx)了


你所说的追踪的方法我没有学过。


我在调试->跟踪命令(m)上打勾了。


但是不知道如何跟踪……如果可能的话跟踪所有的command就能达到你说的条件了?


不如拜你为师吧,老师不教,要我们自学。有问题他就说他很忙……当然你也很忙……


手头没啥资料,书店有的只有ARX..lisp是什么,问问书店老板竟然没人知道。所有的lisp知识来自于"F1"和这里。


很多关键性的规则和技巧,特别是调试技巧根本不会。(本以为如果有人能指点一下就好了……)


不耻下问并不可笑。先谢谢你的提议。因为试过后发现问题真的解决了。


别生气。

meflying 发表于 2004-6-9 21:24:00

如何跟踪可以看看帮助文件中的介绍。。。


其实帮助文件就是最好的学习资料,,,如果你能用好它,绝对可以解决你大部分问题
页: [1]
查看完整版本: [求助]使用VL调用CAD指令时出现的问题.