明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1126|回复: 2

[提问] CAD直接输入命令和用command运行命令,可选参数不一样是怎么回事

[复制链接]
发表于 2018-5-5 20:10:30 | 显示全部楼层 |阅读模式


   在弄一个画云线的lisp,CAD2016版更新了画云线命令 revcloud ,可以框一个矩形范围出来画上云线很方便 ,我本来想实现,运行自己的程序会自动切换到云线图层上,然后执行画云线命令,用R参数改为矩形框选画云线,画完再自动切换回当前图层。
  结果发现,直接输入命令 revcloud 有R参数可以改为矩形画,但是 用lisp(command "revcloud" ) 执行命令,却没有这个参数,参数无效.
难道是直接输入命令 和 command 调用的命令在CAD底层是两套不同的程序,桌子公司更新命令功能参数时只更新了直接输入命令的那一套程序,command 调用的命令还是跟老版的一样没做更新?
如果是这样,如何才能实现,lisp如何模拟在命令栏输入命令后的效果?暂时不考虑参数问题,只需要实现lisp里直接调用或模拟在命令栏输入某个命令并运行即可.



命令: _revcloud
最小弧长: 200.0000   最大弧长: 200.0000   样式: 普通   类型: 徒手画
指定第一个点或 [弧长(A)/对象(O)/矩形(R)/多边形(P)/徒手画(F)/样式(S)/修改(M)] <对象>: R


命令: (command "revcloud" )
最小弧长: 200.0000   最大弧长: 200.0000   样式: 普通   类型: 徒手画nil
指定起点或 [弧长(A)/对象(O)/样式(S)] <对象>:




(defun c:cloud()
(setq old_lay(getvar "clayer"))   ;[保存当前图层]
(setvar "clayer" "Cloud Mark")

(command "revcloud" )
(while (= 1 (getvar "cmdactive"))
  (command pause)
   )

  (setvar "clayer" old_lay)  ; [恢复当前图层]     
(princ)
)




本帖子中包含更多资源

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

x
发表于 2018-5-7 14:43:40 | 显示全部楼层
可以试一试
(command "_revcloud" )

我的CAD是可以没问题的 希望能帮到你
 楼主| 发表于 2018-5-8 19:54:11 | 显示全部楼层
张大锤 发表于 2018-5-7 14:43
可以试一试
(command "_revcloud" )

---------------------------------------------------------
命令: (command "_revcloud" )
最小弧长: 300   最大弧长: 300   样式: 普通   类型: 徒手画nil
指定起点或 [弧长(A)/对象(O)/样式(S)] <对象>:
--------------------------------------------------------
命令: _revcloud
最小弧长: 300   最大弧长: 300   样式: 普通   类型: 徒手画
指定第一个点或 [弧长(A)/对象(O)/矩形(R)/多边形(P)/徒手画(F)/样式(S)/修改(M)] <对象>:
--------------------------------------------------------
CAD2016 X64 版实测还是不行,用command执行命令还是缺少矩形/多边形 这些参数选项
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-19 17:25 , Processed in 0.243308 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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