明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3829|回复: 17

[讨论] 我实在是没看出来cmdecho=0后对我的函数有什么影响求指点

[复制链接]
发表于 2014-9-18 16:57 | 显示全部楼层 |阅读模式
; 矩形 2014.9.18
(defun c:pbox() ;这个C是什么意思,是不是和Java中的main差不多呢?
;(setvar "cmdecho" 0)
;(vla-PurgeAll(vla-get-activedocument(vlax-get-acad-object)))
有没有这两行都没区别阿,实在是没看出来
(setq pa (getpoint"输入点:"))
(setq ww (getdist pa " 宽度:"))
(setq hh (getdist pa  " 高度:"))
(setq pb (polar pa 0 ww))
(setq pc (polar pb (/ pi 2) hh))
(setq pd (polar pc pi ww))
(command "pline" pa pb pc pd "c")
(setq mp1 (polar pa 0 (/ ww 2)))
(setq mp2 (polar pb (/ pi 2) (/ hh 2)))
(setq mp3 (polar pc pi (/ ww 2)))
(setq mp4 (polar pa (/ pi 2) (/ hh 2)));负角度要怎么表达呢
(command "line" mp1 mp3 "")
(command "line" mp2 mp4 "")
(command "line" mp1 mp4 "")
(command "line" mp1 mp2 "")
(command "line" mp2 mp3 "")
(command "line" mp3 mp4 "");双引号是做什么用的,为什么中间打了空格就不行了
;(prinl)   这个也是,求指教
);为什么程序运行完毕后悔提示:警告!程序已经退出,如何才能抑制掉


该贴已经同步到 jerryleehom的微博
发表于 2014-9-18 17:12 | 显示全部楼层
cmdecho不等于0时,程序运行过程在命令行中显示如下:
命令: pbox 输入点: 宽度:50
高度:100
pline
指定起点:
当前线宽为 0.0000
指定下一个点或 [圆弧(A)/半宽(H)/长度(L)/放弃(U)/宽度(W)]:
指定下一点或 [圆弧(A)/闭合(C)/半宽(H)/长度(L)/放弃(U)/宽度(W)]:
指定下一点或 [圆弧(A)/闭合(C)/半宽(H)/长度(L)/放弃(U)/宽度(W)]:
指定下一点或 [圆弧(A)/闭合(C)/半宽(H)/长度(L)/放弃(U)/宽度(W)]: c
命令: line 指定第一点:
指定下一点或 [放弃(U)]:
指定下一点或 [放弃(U)]:
命令: line 指定第一点:
指定下一点或 [放弃(U)]:
指定下一点或 [放弃(U)]:
命令: line 指定第一点:
指定下一点或 [放弃(U)]:
指定下一点或 [放弃(U)]:
命令: line 指定第一点:
指定下一点或 [放弃(U)]:
指定下一点或 [放弃(U)]:
命令: line 指定第一点:
指定下一点或 [放弃(U)]:
指定下一点或 [放弃(U)]:
命令: line 指定第一点:
指定下一点或 [放弃(U)]:
指定下一点或 [放弃(U)]:
命令: nil

cmdecho等于0时,程序运行过程在命令行中显示如下:
命令: pbox 输入点: 宽度:50
高度:100
nil


看出区别了吗???
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2014-9-18 17:26 | 显示全部楼层
jerryleehom 发表于 2014-9-18 17:25
命令: PBOX
输入点: 宽度:50
高度:100

我的命令行咋看不出呢,测试了几多遍了

点评

那是因为你的程序在运行前,已经是cmdecho=0了。但你不能保证你的程序每次运行时,都正好=0。解除屏蔽,将0改为1,再运行试试,你就明白了  发表于 2014-9-18 19:30
回复 支持 1 反对 0

使用道具 举报

发表于 2014-9-18 17:13 | 显示全部楼层
自己测试测试不就知道了!
 楼主| 发表于 2014-9-18 17:25 | 显示全部楼层
yshf 发表于 2014-9-18 17:13
自己测试测试不就知道了!

命令: PBOX
输入点: 宽度:50
高度:100
命令: ap
APPLOAD 已成功加载 pbox.lsp。
命令:
命令:
命令: PBOx
输入点: 宽度:50
高度:100
 楼主| 发表于 2014-9-18 17:29 | 显示全部楼层
jerryleehom 发表于 2014-9-18 17:26
我的命令行咋看不出呢,测试了几多遍了

(prin1)意思是说将表示式打印于命令区或已开启的档案,句柄字符则以"\" 为前缀展开,能帮我翻译白话文吗,看不懂阿

点评

有时在文本屏幕(命令行)显示程序运行的返回值。  发表于 2014-9-18 17:34
发表于 2014-9-18 17:32 | 显示全部楼层
1.c:代表定义一个外部函数,具体可以看看我的签名中的“认识自定义函数”。
2.cmdecho=0,屏蔽系统命令运行过程中的不相干提示,对使用command调用系统命令时,这句常用。
3.vla...一句在这里用不到,这是VLisp中使用的,本程序不涉及VL。
4.负角度在数值时可以直接加负号,比如-30,在对变量或常量使用函数“-”,比如(- a)、(- pi),中间有一空格。
5.函数command调用系统命令时,""一般代表回车,acad在不特定是输入文本时,空格也是回车,所以中间有一个空格就代表多一个回车了。
6.程序结尾的(prin1),是取消外部函数的返回值,这样在程序结束时就不会有影响判断的提示,一般使用(princ)更好一些。
7.最后的提示是不应该的,去掉vla一句,检查一下括号匹配,再试试。
发表于 2014-9-18 17:35 | 显示全部楼层
jerryleehom 发表于 2014-9-18 17:25
命令: PBOX
输入点: 宽度:50
高度:100

把cmdecho一句去掉试试。
发表于 2014-9-18 17:41 | 显示全部楼层
不曉得現在有多少人用cad,連F2都不知道有什麼用
发表于 2014-9-18 21:36 来自手机 | 显示全部楼层
lsjj 发表于 2014-9-18 17:41
不曉得現在有多少人用cad,連F2都不知道有什麼用

一般提示栏显示三行我觉得比较合理,有些人只有一行,真不知道他们CAD是怎么用的

点评

那感觉,就像看电影  发表于 2014-9-18 22:09
7、8行,必须的  发表于 2014-9-18 22:09
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-3 01:01 , Processed in 0.191990 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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