明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3214|回复: 4

自动新建文档,加入实体,保存关闭问题。请 pandoram 和各位大侠多关照

[复制链接]
发表于 2005-6-17 16:30:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2005-6-20 19:01:49 编辑

如何自动新建一个dwg文档,并设为当前文档,在其中加入一些实体,然后保存为需要的文件名,最后自动关闭该新建文档。
忙了好几天了都没有搞定。这样做的问题出在哪儿?
void CreateDoc(void* pData)
{
if(acDocManager->isApplicationContext())
{
acDocManager->appContextNewDocument((const char *)pData);
AcApDocument* pDoc = acDocManager->curDocument();
acDocManager->lockDocument(pDoc); AcDbDatabase* pDb = acdbHostApplicationServices()->workingDatabase();
createText(); //## 修改文档内容
pDb->saveAs("文件名.dwg");
//能否不弹出保存警告对话框,直接保存? acDocManager->unlockDocument(pDoc);
acDocManager->closeDocument(pDoc);
}
else
acutPrintf("\nERROR To Create Doc!\n");
} void NewDoc()
{
static char pData[] ="D:\\Template\\mytemplate.dwg"; //
acDocManager->executeInApplicationContext(CreateDoc, (void* )pData);
}
// This is command 'ABOUTCASCO'
void cascoAboutCasco()
{
// TODO: Implement the command
acutPrintf("\nThis is command 'ABOUTCASCO'\n");
NewDoc();
}
发表于 2005-7-2 18:08:00 | 显示全部楼层
我觉得你没必要将新建文档设为当前文档,


本论坛有过这方面的贴子,请你search一下,


当然,如果你有什么好的Idea,欢迎你贴出来.
 楼主| 发表于 2005-7-2 18:26:00 | 显示全部楼层
感谢goldenshin版主的关注,同意您的观点。 当时提出这个问题主要是因为不能解决向后台数据库准确添加实体对象(主要是文字方面的,现在虽然有所改进,但仍旧有问题--请参考http://bbs.mjtd.com/forum.php?mod=viewthread&tid=36489&extra=&page=1#36489的九楼),所以现在这个问题对我而言已经没有必要解决了。
发表于 2008-5-23 22:59:00 | 显示全部楼层

我直接这样:

AcDbDatabase* pNewDb = new AcDbDatabase(TRUE, TRUE);

其它的没变, 结果也出来了,.

发表于 2012-3-9 14:12:55 | 显示全部楼层
freejustin 发表于 2005-7-2 18:26
感谢goldenshin版主的关注,同意您的观点。

如今我也遇到了楼主提到的问题,看了你的方法,问题已经解决,但这种方法只适用在后台创建图形,而很多全局函数只能在当前活动窗口中执行,所以我觉得利用后台来创建图形的方法有一定的局限性。比如:创建的图形打开之后必须经过窗口缩放才能显示。看来有些时候还必须应用多文档来操作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 09:51 , Processed in 0.187644 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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