文档操作

CAD常用文件操作包括:创建图形文件、打开图形文件、判断文件是否保存和保存文件,后两者值得重点注意。

创建、打开文档

  • 创建文档需要指定dwt模板
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static string CreateNewDwg()
{
string dllPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
string templatePath = dllPath + @"\acadiso.dwt";
Document doc = AcadApp.DocumentManager.Add(templatePath);
AcadApp.DocumentManager.MdiActiveDocument = doc;
return doc.Name;
}

public static void OpenDwg(string filename, bool forReadOnly = false)
{
var docs = AcadApp.DocumentManager;
Document doc = docs.Open(filename, forReadOnly);
docs.MdiActiveDocument = doc;
}

检测图形是否已保存

  • 利用"DBMOD"环境变量实现
1
2
3
4
5
6
7
public static bool Saved(this Document doc)
{
object dbmod = AcadApp.GetSystemVariable("DBMOD");
if (Convert.ToInt16(dbmod) != 0)
return false;
return true;
}

保存文档

保存文档的相关接口包括以下4个:

  • doc.CloseAndSave(string path)
  • doc.CloseAndDiscard()
  • db.SaveAs(string path,DwgVersion.Current)
  • db.Save()

前三个接口使用时应注意:

  • 对于激活文档:使用CloseAndSave()、CloseAndDiscard()时,要为命令方法添加CommandFlag.Session声明,不然会报以下错误

  • 对于非激活文档:使用CloseAndSave()、CloseAndDiscard()时,不添加CommandFlag.Session声明
  • SaveAs():适用于激活文档和非激活文档,不需要添加CommandFlag.Session声明
  • Save():未实现,无法使用,会报以下错误

评论