mengyong495 发表于 2014-10-22 17:17:57

看看~~~~~~~~~~~~~~

seuboy 发表于 2014-10-25 10:50:29

顶一个,谢谢楼主无私奉献

偶尔做做怪 发表于 2014-10-25 15:04:11

我也在做和楼主类似的程序!现在遇到的最大的问题就是打开CAD经常遇到‘拒绝呼叫’!实际操作过程中出错的概率非常大!

bluesun-simon 发表于 2015-1-15 19:27:54

为什么批处理时,同一个文件连续打开两次?

ORCHI 发表于 2015-2-22 16:17:41

bluesun-simon 发表于 2015-1-15 19:27 static/image/common/back.gif
为什么批处理时,同一个文件连续打开两次?

我没有这个问题。你试试只处理一张或两张图纸也会出现这个问题?

ORCHI 发表于 2015-2-22 16:18:23

偶尔做做怪 发表于 2014-10-25 15:04 static/image/common/back.gif
我也在做和楼主类似的程序!现在遇到的最大的问题就是打开CAD经常遇到‘拒绝呼叫’!实际操作过程中出错的概 ...

你点击按钮“启动CAD”能运行吗?如果这个可以应该不会有问题。

偶尔做做怪 发表于 2015-3-3 10:21:06

CAD可以运行,拒绝呼叫的问题 不定时出现,我有时候要连续处理200多张图纸,可能打开到10张的时候就出现问题了,有时候处理到50张的时候会出现,如果只处理10张图可能没有问题。我用VB.NET或者C#写就会出现上面的问题,如果用VB6写就不会出现上面的问题。

偶尔做做怪 发表于 2015-3-3 10:42:34

public static void OpenCAD2012(string path,string cmd,bool closed)
      {
            const string progID = "AutoCAD.Application.18.2";
            const string exePath = @"C:\Program Files\Autodesk\AutoCAD 2012 - Simplified Chinese\acad.exe";
            AcadApplication acApp = null;
            AcadDocument doc=null;
            // Let's first check we don't have AutoCAD already running
            try
            {
                acApp = (AcadApplication)Marshal.GetActiveObject(progID);
            }
            catch { }
            if (acApp != null)
            {
               // MessageBox.Show("An instance of AutoCAD is already running.");
            }
            else
            {
                try
                {
                  Process pr = Process.Start(exePath);
                  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.Documents.Open(path, false, null);
                doc = acApp.ActiveDocument;
                doc.SendCommand(cmd);
                if (closed)
                doc.Close(true);
            }
      }

    }
这是我程序里打开CAD文档 并发出 命令的代码 ,打开几张图形时不会出现问题,图形一旦多了很有可能出现拒绝呼叫的问题!请高手指点!!!


我看到楼主实例里有个Interop.VBIDE.dll,不知道楼主是用什么方式操作CAD的,希望能得到您详细指点!谢谢


ORCHI 发表于 2015-3-3 19:58:03

偶尔做做怪 发表于 2015-3-3 10:42 static/image/common/back.gif
public static void OpenCAD2012(string path,string cmd,bool closed)
      {
            const s ...

这个程序太久之前做的,我基本都忘了。有时间我看看吧。另外我觉得可能你CAD或电脑环境有问题吧,周围人用的都没遇到过你说的这个问题。

偶尔做做怪 发表于 2015-3-4 11:00:57



楼主你的程序在我电脑上用也出现这个问题了!不一定每次出现,间隙性发作!

苦恼!现在我不得不把程序改成VB6的代码!网上也找了好多方法!都说.net用COM方式打开CAD或者office都有可能出现崩溃情况!谁能告我诉我真正的情况啊?
页: 1 2 3 4 [5] 6 7
查看完整版本: cad图纸批量处理程序(附源码)