关于 Command-s vl-cmdf command 的疑问 (已解决)
本帖最后由 elitefish 于 2016-12-20 08:34 编辑新版的CAD,使用系统命令 时多了个 command-s 命令
在循环中使用时,如果用command 或 vl-cmdf 会提示“VVC: Internal Error” 或提示用 "command-s" 命令
非循环中使用的时候可以用 command vl-cmdf 都没问题
但 使用 (command-s "break" (list ename pt1) pt2) 时会显示 :“应用程序错误: 图元/点表无效。”
而用 (command "break" (list ename pt1) pt2) 没问题
帮助里面的介绍只是说 command-s 语句必须是完整执行的 不能在中间夹杂 与用户交互的过程(如:getstring getpoint pause 等),是不是还有其他的限制?
为什么 “break” 命令用command能执行但 command-s 就无法执行呢。
已找到问题解决方法
<div><span style="color: rgb(102, 102, 102); line-height: 1.5;">(setq EF:CMD (if command-s command-s vl-cmdf))</span></div><div><span style="line-height: 1.5; color: rgb(102, 102, 102);">(EF:Cmd "BREAK" ename "F" pt1 pt2)</span></div>
这个可以执行
command-s崩溃的问题,在执行command-s前先禁用所用反应器待command-s执行完成再恢复反应器就不会崩溃了
command-s,第一次见到,{:1_14:}我一直常用command 已找到问题解决方法
(setq EF:CMD (if command-s command-s vl-cmdf))
(EF:Cmd "BREAK" ename "F" pt1 pt2)
这个可以执行
command-s崩溃的问题,在执行command-s前先禁用所用反应器待command-s执行完成再恢复反应器就不会崩溃了 终于知道解决办法了。 没搞明白什么意思{:1_9:} 今天又碰到command-s的问题了。 我今天碰到的出错应该也是这个问题, lsp在2006下完全正常,在2018下出错(在主函数循环中调用的子函数里有command 调用hatchedit的 计算交互应答参数都完整 command还是会进入交互,改成command-s倒是执行成功后会跟随有出错,即使循环只有一次也是如此 试了很多都没解决)。
请问:关闭/开启反应器怎么写? wsh8561 发表于 2019-7-18 00:01
我今天碰到的出错应该也是这个问题, lsp在2006下完全正常,在2018下出错(在主函数循环中调用的子函数里有 ...
关闭反应器后正常了
或卸载晓东工具箱后也正常 本帖最后由 libo20000 于 2023-3-14 15:59 编辑
command-s不支持带点的对象,必须(car (entsel))后才能执行,而部分cad命令又必须带点。
(setq ename (entsel))
(command "BREAK" ename pt1)
(command-S "BREAK" (car ename) pt1)
上述代码执行的结果是完全不一样的,这个如何解决?其他trim之类的命令都有这个问题。
处处受限制的命令,速度再快都是渣渣
学习了,避免雷区
页:
[1]