【问题标题】:How to open a .DWG file in Autocad 2014 through C#如何通过 C# 在 Autocad 2014 中打开 .DWG 文件
【发布时间】:2014-11-03 16:31:54
【问题描述】:

您好,我有一个要求,我必须打开存储在 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 ");
            }
        }

但是当我使用 CMD.exe 并键入时,Autocad 会弹出一条错误消息,提示 Cannot find the specified drawing.

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

我不明白我在哪里犯了错误。谁能帮帮我。

【问题讨论】:

  • 如果 AutoCAD 是与“.dwg”文件关联的程序,您是否尝试过仅打开该文件? Process.Start(@"C:\Temp\41 Stabd.dwg");
  • @GrantWinney 哦,是的,它正在使用此命令打开。但是,如果该文件与 Trueview 等其他应用程序或其他应用程序相关联,那么呢??
  • @GrantWinney pth="C:\Temp\41 Stand.dwg"
  • @GrantWinney naah 它的 Stand.dwg。这是一个错字。
  • @GrantWinney 无论如何,非常感谢。至少它开始打开 ​​DWG。谢谢

标签: c# winforms autocad


【解决方案1】:

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2020-01-18
    • 2017-03-28
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    相关资源
    最近更新 更多