arschcx 发表于 2008-11-28 16:11:00

<p>AcDbDatabase* CUlity::NewDocDatabase()<br/>{<br/>&nbsp;AcDbDatabase* pNewDb=NULL;<br/>&nbsp;static char pData[] ="acad.dwt"; <br/>&nbsp;//acDocManager-&gt;executeInApplicationContext(CreateDoc, (void *)pData); <br/>&nbsp;//acDocManager-&gt;newDocument();<br/>&nbsp;if(acDocManager-&gt;isApplicationContext()) <br/>&nbsp;{ <br/>&nbsp;&nbsp;acDocManager-&gt;appContextNewDocument((const char *)pData); <br/>&nbsp;} <br/>&nbsp;else <br/>&nbsp;&nbsp;acutPrintf("\nERROR To Create Doc!\n"); </p><p>&nbsp;pNewDb=GetLastDoc()-&gt;database();<br/>&nbsp;if(!pNewDb) return NULL;<br/>&nbsp;<br/>&nbsp;return pNewDb;<br/>}</p><p><br/>AcApDocument* CUlity::GetLastDoc()<br/>{<br/>&nbsp;AcApDocument* documentArray;</p><p>&nbsp;AcApDocument* pDoc;<br/>&nbsp;AcApDocumentIterator* pDocIter;<br/>&nbsp;int nDocs = 0;;</p><p>&nbsp;pDocIter = acDocManager-&gt;newAcApDocumentIterator();</p><p>&nbsp;for ( ; !pDocIter-&gt;done(); pDocIter-&gt;step(), nDocs++) {<br/>&nbsp;&nbsp;pDoc = pDocIter-&gt;document();<br/>&nbsp;&nbsp;documentArray = pDoc;<br/>&nbsp;&nbsp;acutPrintf("%d.&nbsp; %s\n", nDocs + 1, pDoc-&gt;fileName());<br/>&nbsp;}<br/>&nbsp;delete pDocIter;</p><p>&nbsp;if (nDocs&gt;0) {<br/>&nbsp;&nbsp;return documentArray;<br/>&nbsp;} else {<br/>&nbsp;&nbsp;return NULL;<br/>&nbsp;}<br/>}</p><p>这样获取的Database就对了,</p>

seeover 发表于 2010-7-16 17:02:00

<p>老的帖子也能解决问题&nbsp;&nbsp; 顶一下 支持了!</p>
<p>谢谢楼主及各位大侠!</p>

tong7689 发表于 2015-6-11 00:54:46

yanqianpeng 发表于 2015-6-26 21:33:50

这个帖子真好啊!十年前的帖子刚好解决问题

bai_cai101 发表于 2018-8-25 18:54:20

放弃了十三年后的今天,又碰到了这个问题。。。

bai_cai101 发表于 2018-8-25 22:05:30

问题依旧!!!

zhang007 发表于 2019-11-25 23:25:19

问题解决了没有,已经有人给出了答案。
http://bbs.mjtd.com/thread-79380-1-1.html
页: 1 2 3 4 [5]
查看完整版本: 如何自动新建一个DWG并置为当前!