找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 530|回复: 10

[求助] command命令简化CAD命令的问题

[复制链接]

已领礼包: 1个

财富等级: 恭喜发财

发表于 2017-8-13 14:21:20 | 显示全部楼层 |阅读模式

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

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

×
作为初学者,自行简化一个视口锁定命令如下
(defun C:tt ( )
        (vl-load-com)
        (command "-VPORTS" "L" "on" )         
)
但是发现总提示nil
求教各位神仙

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

已领礼包: 51个

财富等级: 招财进宝

发表于 2017-8-13 14:27:42 | 显示全部楼层
AUTOLISP的函数的返回值 是 最后一个表的求值结果,
你这个代码,最后的表是  (command .....), command函数的返回值是 nil
所以你总返回nil了

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

使用道具 举报

已领礼包: 550个

财富等级: 财运亨通

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

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 403个

财富等级: 日进斗金

发表于 2017-8-13 19:06:24 | 显示全部楼层

楼主的意思应该是:不要返回什么,即空
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 769个

财富等级: 财运亨通

发表于 2017-8-13 22:47:38 | 显示全部楼层
加上一句防止回显就可以了。
这个问题的关键并不是返不返回nil的问题,而是CAD中有些命令的使用使用限制的,
比如这个 -VPORTS 命令,既可以在模型空间使用也可以图纸空间使用;
而你是对视口锁定,所以你应该先判断当前的绘图状态是不是在图纸空间,否则会提示出错的,
但是这个判断因能力有限我还不知道怎么用lisp怎么写,所以只能帮你一部分,有点小遗憾;
  1. ;;;函数名称:c:tt
  2. ;;;函数说明:布局中的视口显示锁定
  3. ;;;示    例:(c:tt )
  4. (defun c:tt ()
  5.         (prompt "选择要锁定的视口: ")
  6.         (command "-VPORTS" "_L" "_ON" (ssget '((0 . "VIEWPORT"))) "")
  7.         (prin1)
  8. )

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

使用道具 举报

已领礼包: 769个

财富等级: 财运亨通

发表于 2017-8-13 23:24:10 | 显示全部楼层
本帖最后由 sh_h 于 2017-8-13 23:26 编辑

重新查了下帮助和请教了群友,终于找到了解决的办法;增加了一个判断,亲测能用;
  1. ;;; 函数名称:c:tt
  2. ;;; 函数说明:布局中的视口显示锁定
  3. ;;; 示    例:(c:tt )
  4. (defun c:tt ()
  5.   (if (= (getvar "TILEMODE") 0)
  6.     (progn
  7.       (prompt "选择要锁定的视口: ")
  8.       (command "-VPORTS" "_L" "_ON" (ssget '((0 . "VIEWPORT"))) "")
  9.     )
  10.     (alert "** 该命令不允许在模型空间中使用 **")
  11.   )
  12.   (prin1)
  13. )

评分

参与人数 1D豆 +5 收起 理由
marting + 5 热心帮忙奖!

查看全部评分

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

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 812个

财富等级: 财运亨通

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

使用道具 举报

已领礼包: 403个

财富等级: 日进斗金

发表于 2017-8-14 17:53:30 | 显示全部楼层

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2017-8-15 19:53:27 | 显示全部楼层

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 17:56 , Processed in 0.351832 second(s), 52 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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