[讨论]如何保存及读取dwg文件啊
<p><font size="4">我使用Database的Save()方法来保存Dwg文件信息,但是报“<font face="Verdana">eFileInternalEr”的错误</font>。</font></p><p><font size="4">于是我就使用Document的<font face="Verdana">CloseAndSave()方法来保存,又报“图形忙”的错误。</font></font></p>
<p><font size="4">于是我就让程序休眠3s,还是图形忙的错误。</font></p>
<p><font size="4">有没有办法保存这个dwg文件以及数据啊,求高手指点。</font></p>
<p><font size="4">保存后打开,怎么找到dwg文件中数据库的信息。</font></p>
<p><font size="4">谢谢!!!</font></p> <p><font face="Verdana">db.SaveAs(doc.Name, null);</font></p>
<p>Database的Save()方法只是个预留方法,没有实现的</p>
<p>Document的<font face="Verdana">CloseAndSave()方法</font>应该对应的不是当前文档</p> 解决了,谢谢版主。 epwt 发表于 2010-11-16 14:13 static/image/common/back.gif
解决了,谢谢版主。
请问,怎么解决的。。。我也碰到了这个问题。 本帖最后由 epwt 于 2011-3-23 17:35 编辑
引发不能保存的问题比较多,比如实体打开未关闭、使用了非法的标注样式等等。
下面有段测试代码,希望对你有帮助。/// <summary>
/// 保存dwg文件
/// </summary>
/// <param name="entity">要保存的实体</param>
public void AddEntity(Entity entity)
{
Document doc = AcadApp.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
using (Transaction trans = db.TransactionManager.StartTransaction()) {
BlockTable bt = (trans.GetObject(db.BlockTableId, OpenMode.ForWrite)) as BlockTable;
BlockTableRecord btr = (trans.GetObject(bt, OpenMode.ForWrite)) as BlockTableRecord;
ObjectId objectId = btr.AppendEntity(entity);
trans.AddNewlyCreatedDBObject(entity, true);
trans.Commit();
trans.Dispose();
}
db.SaveAs(@"../../../../test.DWG", DwgVersion.Current);
}
public void AddArc()
{
Arc arc = new Arc(new Point3d(100, 200, 300), 50, 60, 30);
AddEntity(arc);
}
想问问楼主一个问题:希望楼主给些建议,谢谢
问题:在Autocad 2008菜单里添加一个选项(类似一个按钮),点击后,弹出一个Panel,在Panel里输入 用户名和密码,连接某站点的Webservice 确认用户名和密码是否正确,并返回结果。
希望楼主给些建议,用。Net开发插件,还是头一次,谢谢 很好的学习了一下,谢谢了
页:
[1]