找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 795|回复: 9

[求助] [求助]:怎么获得用(COMMAND 。。。)返回的结果。????

[复制链接]
发表于 2004-9-3 22:05:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
比如说怎么获得用(COMMAND “lengthen“ "objname" "")返回的结果。????
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-9-3 22:25:06 | 显示全部楼层
成功的话(command ...)应返回nil
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-9-4 08:12:06 | 显示全部楼层

Re: [求助]:[求助]:怎么获得用(COMMAND 。。。)返回的结果。????

最初由 oyxx_1023 发布
[B]比如说怎么获得用(COMMAND “lengthen“ "objname" "")返回的结果。???? [/B]


执行command函数后,使用“(getvar "PERIMETER")”求长度值,类似的系统变量还有“area”。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-4 08:57:29 | 显示全部楼层

Re: Re: [求助]:[求助]:怎么获得用(COMMAND 。。。)返回的结果。????

最初由 ll_j 发布
[B]

执行command函数后,使用“(getvar "PERIMETER")”求长度值,类似的系统变量还?.. [/B]


Perimeter 不能得到长度值, 就算可以也要先list
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-4 21:24:28 | 显示全部楼层
为什么一定要先用list呢?用lengthen不行吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-9-5 10:54:06 | 显示全部楼层

Re: Re: Re: [求助]:[求助]:怎么获得用(COMMAND 。。。)返回的结果。????

最初由 aidraft 发布
[B]

Perimeter 不能得到长度值, 就算可以也要先list [/B]


可以测试一下:
[php](defun c:test()
  (setq en (car (entsel)))
;;使用命令lengtnen
  (command "lengthen" en "")
  (princ "\n")
;;使用命令list
;|
  (command "list" en "")
  (graphscr)     ;切换回图形屏幕
|;
;;使用命令area
;|
  (command "area" "ob" en)
  (command)      ;对Line等无法取得面积的需要中断退出
|;
  (princ (strcat "\n长度:" (rtos (getvar "Perimeter"))))
  (princ (strcat "\n面积:" (rtos (getvar "area"))))
  (princ)
)[/php]
逐段屏蔽程序中的不同段,分别对直线、多义线、圆、圆弧等测试,可以看出:
  使用命令Lengthen可以求长度(更新Perimeter)但不可以求面积(不更新area),多余提示:“当前长度: xxxxxx”;
  使用命令List对可以求长度,对有面积的实体可以求面积(更新area),对无面积的实体(如Line)不更新area,多余提示:文本屏及实体List信息;
  使用命令area不可以求长度,对有面积的实体可以求面积,多余提示:对无面积实体提示“选定的对象没有面积”,并需要强制退出。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-5 12:12:27 | 显示全部楼层
您的程序中的length命令并没有改变原直线的长度,如果该成(command "lengthen" "P" 120 en "") ,最后显示的长度结果仍然是原长度值,也许并不是1楼主的意思。
还是用老办法:
(defun c:test( / en len)
  (vl-load-com)
  (setq en (car (entsel)))
  (command "lengthen" "p" 120 en "")
  (setq len (vla-get-length (vlax-ename->vla-object en)))
  (princ (strcat "\n长度:" (rtos len)))
  (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-9-5 12:36:43 | 显示全部楼层
  如果使用“P”选项,应该再次使用Lengthen命令,然后Perimeter才会更新,这是正常的,我对1楼的理解就是这样,1楼使用了Objname,应该就是直接使用命令Lengthen求线条长度(无选项),此时命令行返回“当前长度:xxxx”,只是在程序中如何返回这个“xxxx”。
  正如你在2楼所说,使用command函数成功则返回nil,不成功呢?当然也是nil。然而使用vl-cmdf函数成功则返回t,不成功则返回nil,这样,不管使用command函数还是vl-cmdf函数都不能得出命令返回的线条长度,这就是1楼的问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2004-9-5 23:01:06 | 显示全部楼层
COMMAND 返回永远是nil
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-9-8 23:11:21 | 显示全部楼层
非常谢谢大家的解答。又学到了一些东东。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-27 11:52 , Processed in 0.192896 second(s), 50 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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