找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 860|回复: 5

[ARX程序]:如何利用COM接口来保存当前的DWG文档

[复制链接]
发表于 2005-12-1 10:26:37 | 显示全部楼层 |阅读模式

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

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

×
BOOL SaveDWG(LPCSTR szFilePathName,BOOL bSave)
{
        IAcadApplication IApp;
        IAcadDocument IDoc;
        IAcadDocuments IDocs;
       
        TRY
        {
                IDispatch *pDisp = acedGetAcadWinApp()->GetIDispatch(TRUE);
               
                IApp.AttachDispatch(pDisp);
                pDisp = IApp.GetActiveDocument();
                IDoc.AttachDispatch(pDisp);
               
                pDisp = IApp.GetDocuments();
                if(pDisp)
                {
                        IDocs.AttachDispatch(pDisp);
                        VARIANT vInt;
                        VariantInit(&vInt);
                        vInt.vt = VT_I2;
                        vInt.iVal = acR15_dwg;
                        if(bSave)
                        {
                                IDoc.Save();
                        }
                        else
                        {
                                IDoc.SaveAs(szFilePathName,vInt);
                        }
                }
        }
        CATCH(COleDispatchException,e)
    {
                //        e->ReportError();
        //e->Delete();
    }
    END_CATCH;
       
        return TRUE;
}

附件为所需的IAcadApplication等定义头文件
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-12-2 00:52:27 | 显示全部楼层
太麻烦了:
IAcadDocument *pIDoc=(IAcadDocument *)curDoc()->cDoc()->GetIDispatch(TRUE);
USES_CONVERSION;
pIDoc->SaveAs(A2W(lpszFileName),_variant_t((long)acNative));
pIDoc->Release();
其中 lpszFileName 为另存为的文件名.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-2 08:10:33 | 显示全部楼层
做一个模态对话框,在做一个非模态对话框,在里面分别使用两种方法保存文档,就看出区别了。^_^
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-12-9 14:34:25 | 显示全部楼层
谢谢^_^
从来没有做过COM接口的东东,拿来学习学习
要是能给我讲讲这方面的知识,那就再好不过了 *^_^*
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-23 10:24 , Processed in 0.377156 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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