找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 836|回复: 14

[ARX程序]:在ARX中能不能将CAD关闭?

[复制链接]
发表于 2003-9-21 18:33:35 | 显示全部楼层 |阅读模式

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

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

×
[讨论]ARX中如何调用ARX本身注册的命令?是不是可以在Appload的时候调用?或者调用另外一个arx命令呢?

在ARX中能不能将CAD关闭?
如果可以,如何做?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-9-21 19:17:36 | 显示全部楼层
让CAD退出还不容易?返正以前我在写程序的时候,动不动CAD就"关闭"了,比退出还快:)
开玩笑,不太清楚,等待回应...
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-22 14:47:32 | 显示全部楼层

当然可以

要充分理解autocad的命令处理方式
autocad命令以组的方式组织,命令的处理由命令堆栈处理
当发送一个命令给autocad则命令堆栈接受并存储它,命令执行的时机由命令堆栈决定.
如果了解autocad的命令组织方式的话,你的问题都可以解决。
你要作的工作只是注册一个cad命令,为该命令指定一个处理函数
在使用的时候调用该命令就可以了。
在arx中对命令的调用有若干种方法:
1、使用ads_command函数
2、使用sendstringtoexcute函数
3、向主框架窗口发送WM_COPYDATA消息
例如:要退出autocad可以使用ads_command(RTSTR,"QUIT",0)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-9-22 18:09:19 | 显示全部楼层
谢谢楼上的回答,我这是通过其他程序启动CAD的,然后在CAD启动自动加载ARX的时候,ARX初始化的时候就做玩该做的事了,然后就自动退出,明白我的意思吗?我在ARX初始化的时候就用ads_command(RTSTR,"QUIT",0)命令了,但是退不出来的。ads_command(RTSTR,"QUIT",0)我用过了,还有acedCommand(RTSTR,"QUIT",0)也都不可以。我想是初始化还没有完成,是不能退出的。因为在上面的命令后面还有return (retCode) 代码。
不知道还有没有其它方法?
谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-22 19:32:14 | 显示全部楼层
明白了 是想在孩子正在生下来的时候掐死他(他、她)
不知道在孩子生了一半的时候弄死是谋杀还是引产?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-23 08:46:57 | 显示全部楼层

明白了

这个问题解决起来也很简单,但是这种用法比较奇怪,呵呵
解决这个问题要确定个前提条件
------>能够得到Autocad主框架窗口
得到主框架窗口后,只要发送WM_CLOSE给它就可以了,也可以Post 一个WM_QUIT
HWND mainHwn=主框架窗口句柄
::SendMessage(mainHwn,WM_CLOSE,0,0)
::PostMessage(mainHwn,WM_QUIT)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-9-23 08:47:10 | 显示全部楼层
那也太不人道了吧!!!!因为要自动绘图,所以要自动绘图完后自动关闭CAD。因为cad是通过其它程序启动的,再启动的时候自动加载arx,在加载的过程中完成绘图。然后自动退出。这样不可以吗?如果可以的话要如何做,代码怎么写?如果不可以的话那有什么其它的办法?谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-23 09:21:11 | 显示全部楼层

我来说几句

如果由我来审查这个方案,肯定会把它cancel掉
autocad作为一个比较成功的图形平台就在于它的开放性,如果不能充分的利用它的功能只单纯把他作为一个简单的文件生成工具就失去了它最精华的部分。
其实只要简单推敲一下,这个方案失败的地方很多
1、是不是每次出图的时候都要启动一个Autocad实例?效率是不是太低了?
2、数据从何处取得?是不是要定死一个数据入口?这样系统在发布的时候对环境是不是依赖性太大了,灵活性是不是太差了?
3、有没有考虑用户感受?启动autocad用户是有心理预期的,关闭autocad时候是否要征得用户同意,因为用户有查看自动出图结果的需求,如何满足这个要求


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

使用道具 举报

 楼主| 发表于 2003-9-23 09:35:35 | 显示全部楼层
谢谢你的分析。首先,其实这个生成的文件也不简单。其次,每次出图的时候都要启动一个Autocad,和关闭,因为出图不那么平凡。再次,用户不知道中间如何操作的,因为他在客户端,有专门的CAD服务器。再再次,数据从数据库得到,这是一个系统,是专门定做的,不具有太大的通用性。最后,系统的其它部分会分析绘图情况和得到图纸。
对于你的方法,能具体讲讲吗?我不会。谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-23 10:23:21 | 显示全部楼层

明白了

你最好采用DXF方案,关于这方面的例子很多,到网上查一下"用C语言写DXF文件",应该能够查到很多资料,已经有人将写DXF函数写成了一个库,我看过,还比较全面,但我现在手头上没有,呵呵
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-9-23 12:55:24 | 显示全部楼层
好的,谢谢。如果我搞定了,我会继续跟帖的!

++++++++++++++++++++++
  ++++++++搞定++++++++

在启动AutoCAD2004 的命令后面加一个参数"/b quit"例如:"C:\autocad2004\acad.exe /b quit"
有一个文件:quit.src 里面的第一行是"quit"  记得要回车,相当于在命令行中的回车或空格。当然,你还可以加其它命令了,具体可以看帮助“run scripts at startup”,很简单的。 
原来世界就是这么回事。

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

使用道具 举报

发表于 2003-9-23 16:43:57 | 显示全部楼层

早知道如此我就不用那么费劲了

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

使用道具 举报

 楼主| 发表于 2003-9-23 17:59:23 | 显示全部楼层
呵呵,麻烦你了,不过我还不清楚SCR文件的用处.
还有,还不知道如何在arx 初始化的时候怎么关闭cad(太狠了)

再问一个问题,用ARX读一个.dwg文件的时候怎么把文件的图纸空间的信息也读出来,并显示?谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-5 19:29:26 | 显示全部楼层
可以用arx调用外部dll来关闭cad,其实就是从外部打开cad,再从外部关闭cad,为什么非要用arx呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 01:00 , Processed in 0.215588 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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