如何通过C#在Autocad 2014中打开.DWG文件

时间:2014-05-06 08:56:15

标签: c# winforms autocad

您好我需要打开存储在C:\ Temp文件夹中的图形文件。 我尝试了以下代码

public void launchacad(string pth)  //pth is the path to the .DWG file
        {
            const string progID = "AutoCAD.Application.19.1";                

            const string exePath = @"C:\Program Files\Autodesk\AutoCAD 2014\acad.exe";

            AcadApplication acApp = null;

            try
            {
                acApp =
                  (AcadApplication)Marshal.GetActiveObject(progID);
            }
            catch { }

            if (acApp != null)
            {
                MessageBox.Show("An instance of AutoCAD is already running.");
            }
            else
            {
                try
                {                            
                    ProcessStartInfo psi =new ProcessStartInfo(exePath);
                    psi.WorkingDirectory = @"C:\Temp";
                    psi.Arguments = pth;
                    Process pr = Process.Start(psi);

                    pr.WaitForInputIdle();                            

                    while (acApp == null)
                    {
                        try
                        {
                            acApp =(AcadApplication)Marshal.GetActiveObject(progID);                            
                        }
                        catch
                        {                                    
                            Application.DoEvents();
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(
                      "Cannot create or attach to AutoCAD object: "
                      + ex.Message
                    );
                }
            }

            if (acApp != null)
            {
                acApp.Visible = true;
                acApp.ActiveDocument.SendCommand("_MYCOMMAND ");
            }
        }

但是一旦Autocad启动它会弹出一条错误消息,说Cannot find the specified drawing.当我使用CMD.exe并输入

"C:\Program Files\Autodesk\AutoCAD 2014\acad.exe" "C:\Temp\41 Stabd.dwg"  It opens Autocad with the file(41 Stand.dwg) open.

我无法理解我在哪里犯错误。有人可以帮助我。

1 个答案:

答案 0 :(得分:1)

如果图形仍然存在问题,请继续执行下一组步骤。

这些可以按任何顺序完成,但已按Autodesk建议最有意义的顺序列出。每个步骤后都可以检查该文件。如果事情看起来恢复正常,则无需继续执行其余步骤。 打开一个空白DWG并在命令行键入RECOVER。浏览到有问题的文件 - 允许AutoCAD有机会恢复文件。

  • 在命令行键入OVERKILL,然后选择所有对象。选中或取消选中要包含或忽略的属性,然后单击“确定”。
  • 在命令行键入DELCON,然后选择所有对象。
  • 键入BREP并选择所有对象(如果文件中有实体或曲面)
  • 键入-SCALELISTEDIT,然后" R"为了重置,那么" Y"是的。
  • 键入FILTERS,然后点击“删除过滤器”。按钮。
  • 如果文件大小意外非常大,可以运行DGNPURGE工具:http://knowledge.autodesk.com/article/AutoCAD-DWG-files-unexpectedly-increase-in-file-size
  • 尝试使用不同版本的AutoCAD打开图形,例如AutoCAD 2013与AutoCAD 2015或普通AutoCAD与AutoCAD Architecture等。尝试使用不同的计算机。
  • 打开一个空白DWG,并尝试将有问题的文件附加为XREF。如果它允许您附加文件,请尝试将其绑定到当前文件。如果可行,请运行上面列出的修复步骤。
  • 使用SAVEAS命令以较旧的文件格式保存DWG。尝试打开新创建的文件。
  • 使用DXFOUT命令将文件导出为DXF格式。接下来,打开一个空白DWG并使用DXFIN命令导入刚刚创建的文件。

<恢复布局选项卡:

  1. 右键单击其中一个默认布局选项卡
  2. 选择'从模板...'
  3. 打开原始文件
  4. 选择要还原的布局选项卡。 (建议一次执行此选项卡,以防一个或多个布局选项卡损坏)

      

    在模型和图纸空间之间移动图纸对象。您可能会发现文件中只有一个绘图空间可用,但主要关注的是模型空间:   1。创建一个新布局,如果需要,创建一个视口。

  5.   
  6. 使用CHSPACE将所有几何图形移动到图纸空间。
  7.   
  8. 创建新图纸并使用Design Center(ADC)将布局从损坏的文件移动到其中。
  9.   
  10. 再次使用CHSPACE将几何图形移回模型空间。
  11.   
  12. 使用Design Center从坏文件恢复原始布局。
  13.      剖析图纸。在文件的副本中,使用QSELECT执行消除过程以选择不同的对象类型,然后删除它们以查看是否修复了文件中的错误。每次删除后都要进行PURGE All。最终你应该删除问题元素,然后你可以选择将它们遗漏,从另一个文件中再次复制它们,重新创建它们,或者进一步对各个项目进行故障排除,以确切地确定哪个是有问题的。快速启动整个过程是删除图形中的所有内容然后进行测试。这将很快告诉您问题是否与绘图对象有关,或者它是否是绘图数据库的一部分。