明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1976|回复: 10

[求助]用了个别命令使运行中断问题

  [复制链接]
发表于 2009-7-31 09:51:00 | 显示全部楼层 |阅读模式

在下面程序开头中加了一个 全屏模式 命令(COMMAND "_.CLEANSCREENON")使运行中断,去掉它就正常了,可有办法解决?谢谢!

(defun C:test()
(COMMAND "_.CLEANSCREENON");2007以上版本有的 全屏模式   
(prompt "\n在程序开头用全屏模式,能不能使它接着往下运行,不中断呢?:")
(command "solidedit" "F" "C" pause "" "0,0,0" "0,0,0" "" "");复制面
(command "chprop" (entlast) "" "c" "红" "")
(princ) 
)

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2009-7-31 10:28:00 | 显示全部楼层

不用pause似乎可行

(defun C:test()
(setq e (car (entsel)))
(COMMAND "_.CLEANSCREENON");2007以上版本有的 全屏模式   
(prompt "\n在程序开头用全屏模式,能不能使它接着往下运行,不中断呢?:")
(command "solidedit" "F" "C" e "" "0,0,0" "0,0,0" "" "");复制面
(command "chprop" (entlast) "" "c" "红" "")
(princ) 
)

 楼主| 发表于 2009-7-31 14:46:00 | 显示全部楼层

非常感谢淮上的帮助!

这样会出现两个问题:

1.打开文本窗口还是有错

2.用(setq e (car (entsel)))无法选中三维立体上的某一个表面,也没有复制出新的表面

经常看到你对别人的帮助,再次表示谢意!

命令: test
选择对象: _.CLEANSCREENON
命令:
在程序开头用全屏模式,能不能使它接着往下运行,不中断呢?:solidedit
实体编辑自动检查:  SOLIDCHECK=1
输入实体编辑选项 [面(F)/边(E)/体(B)/放弃(U)/退出(X)] <退出>: F
输入面编辑选项
[拉伸(E)/移动(M)/旋转(R)/偏移(O)/倾斜(T)/删除(D)/复制(C)/颜色(L)/材质(A)/放弃(U)/退出(X)] <退出>: C
选择面或 [放弃(U)/删除(R)]:
命令: TEST 未知命令“TEST”。按 F1 查看帮助。

命令: 0,0,0 未知命令“0,0,0”。按 F1 查看帮助。

命令: 0,0,0 未知命令“0,0,0”。按 F1 查看帮助。

命令: TEST 未知命令“TEST”。按 F1 查看帮助。

命令: TEST 未知命令“TEST”。按 F1 查看帮助。

命令: chprop
选择对象:   找到 1 个

发表于 2009-7-31 15:19:00 | 显示全部楼层

没用过三维的

发表于 2009-7-31 15:23:00 | 显示全部楼层
本帖最后由 作者 于 2009-7-31 16:57:35 编辑

;;你测试一下

(defun C:test()
(COMMAND "_.CLEANSCREENON");2007以上版本有的 全屏模式   
(prompt "\n在程序开头用全屏模式,能不能使它接着往下运行,不中断呢?:")
(prompt "\n选择一个面:")
(command "solidedit" "F" "C" )
(while (/= (getvar 'CMDACTIVE) 0)
  (command pause)
)
(command "" "0,0,0" "0,0,0" "" "");复制面
(command "chprop" (entlast) "" "c" "红" "")
(princ) 
)

 楼主| 发表于 2009-7-31 16:21:00 | 显示全部楼层

太麻烦你了……谢谢!谢谢!

如果在开始是非全屏模式(_.CLEANSCREENOFF)下运行还是不行

如果在已经是全屏模式(_.CLEANSCREENON)下运行是没问题的,

命令: test _.CLEANSCREENON
命令:
在程序开头用全屏模式,能不能使它接着往下运行,不中断呢?:
选择一个面:solidedit
实体编辑自动检查:  SOLIDCHECK=1
输入实体编辑选项 [面(F)/边(E)/体(B)/放弃(U)/退出(X)] <退出>: F
输入面编辑选项
[拉伸(E)/移动(M)/旋转(R)/偏移(O)/倾斜(T)/删除(D)/复制(C)/颜色(L)/材质(A)/放弃(U)/退出(X)] <退出>: C
选择面或 [放弃(U)/删除(R)]: ; 错误: no function definition: COOAMD

选择面或 [放弃(U)/删除(R)]: *取消*

发表于 2009-7-31 16:56:00 | 显示全部楼层
不好意思command写成COOAMD
发表于 2009-7-31 17:11:00 | 显示全部楼层

;;下面的思路似乎对了,你自己调试一下

(defun C:test()
(COMMAND "_.CLEANSCREENON")
(prompt "\n选择一个面:")
(vla-SendCommand
  (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  "solidedit F C "
)
(while (/= (getvar 'CMDACTIVE) 0)
  (vla-SendCommand  doc "\\")
)
(vla-SendCommand  doc " 0,0,0 0,0,0  ");复制面
(command "chprop" (entlast) "" "c" "红" "")
(princ) 
)

 楼主| 发表于 2009-8-1 06:01:00 | 显示全部楼层

感谢你的热情帮助,献花一朵略表谢意!

程序中有 红色 的部分是失效的,只要输入运行命令,一回车就立刻执行过了(command "chprop" (entlast) "" "c" "红" "")这一句,(因为已经有对象变为红色了)。实在不行就只有在程序中拿掉(COMMAND "_.CLEANSCREENON")这句了,再次感谢你的热情帮助。

(defun C:test()
(COMMAND "_.CLEANSCREENON")
(prompt "\n选择一个面:")
(vla-SendCommand
  (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  "solidedit F C "
)
(while (/= (getvar 'CMDACTIVE) 0)
  (vla-SendCommand  doc "\\")
)
(vla-SendCommand  doc " 0,0,0 0,0,0  ");复制面
(command "chprop" (entlast) "" "c" "红" "")
(princ) 
)

本帖子中包含更多资源

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

x
发表于 2009-8-2 11:36:00 | 显示全部楼层
(defun C:test()
(COMMAND "_.CLEANSCREENON")
(prompt "\n选择一个面:")
(vla-SendCommand
  (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  "solidedit F C "
)
(while (/= (getvar 'CMDACTIVE) 0)
  (vla-SendCommand  doc "\\")
)
(vla-SendCommand  doc " 0,0,0 0,0,0  chprop !(entlast) c 红 ")
(princ) 
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-1 09:46 , Processed in 0.189450 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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