明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2761|回复: 4

[求助]c#打开ACAD图纸出错??

[复制链接]
发表于 2006-3-1 18:35 | 显示全部楼层 |阅读模式
我在执行下面代码打AutoCAD图纸时
AcadDoc = Acad.Documents.Open(strFileName,false,null);
AcadSpace = AcadDoc.ModelSpace
在执行到第2句时
发生 {System.Runtime.InteropServices.COMException} 类型的异常
请教这个怎么办啊??
--------------------------------------
我用的是vs.net和autocad2004
  1. using System;
  2. using System.Windows.Forms;
  3. using System.Data;
  4. using System.Runtime.InteropServices;
  5. using System.Data.SqlClient;
  6. using VBA;
  7. using AutoCAD;
  8. namespace FoTon.Ov.PDMSign
  9. {
  10. /// <summary>
  11. /// AutoCAD签字组件(类)
  12. /// </summary>
  13. public class SignToDWG
  14. {
  15.    #region AutoCAD签字过程
  16.   /// <summary>
  17.   /// AutoCAD签字过程
  18.   /// </summary>
  19.   /// <param name="strFileName">图纸名称(包括路径)</param>
  20.   /// <param name="strSignToName">签字名称</param>
  21.   /// <param name="Point">签字位置(相对标题框右下角)</param>
  22.   public static void SignProcess(string strFileName,string strSignContent,double[] Point)
  23.   {
  24.    AutoCAD.AcadDocument AcadDoc;
  25.    AutoCAD.AcadModelSpace AcadSpace;
  26.    AutoCAD.AcadBlockReference BlockRef;
  27.    double[] BlockPoint = new double[3];
  28.    double[] TxtXPointMin = new double[3];
  29.    AcadDoc = Acad.Documents.Open(strFileName,false,null);//打开一个AutoCAD文档,password为""
  30.    AcadSpace = AcadDoc.ModelSpace;//模型
  31. .....
  32.   }
  33.   
  34.   #endregion
  35. }
  36. }
发表于 2006-6-6 12:25 | 显示全部楼层

同样的问题我也发过了,这个论坛上都是牛人,这种事没人理啊....

发表于 2006-6-12 23:50 | 显示全部楼层

你的 Acad.Documents.Open(...); 是怎么定义的,

我用下面的代码就可以:

AutoCAD.AcadApplication cad;
       AutoCAD.AcadDocument AcadDoc;
       AutoCAD.AcadModelSpace AcadSpace;

       cad = (AcadApplication)System.Runtime.InteropServices.Marshal.GetActiveObject("AutoCAD.Application.16");

       AcadDoc = cad.Documents.Open(strFileName,false, null)
       AcadSpace = AcadDoc.ModelSpace;
       MessageBox.Show(AcadSpace.Count.ToString());

发表于 2006-6-15 21:47 | 显示全部楼层

private   AcadApplication a ;
  Autodesk.AutoCAD.Interop.AcadApplication a;
  Autodesk.AutoCAD.DatabaseServices.Database db;
  


  private void Form1_Load(object sender, System.EventArgs e)
  {  
   this.pt1.Text="1,1,1";
    this.pt2.Text="122,122,122";
   a = new AcadApplicationClass();

  this.acadDoc=a.Documents.Open(@"c:\test.dwg", null, null);  //本条语句自动打开一个图形文件
  
   a.ZoomAll(); //图形文件实行全局缩放;

发表于 2006-6-23 10:29 | 显示全部楼层

最好用autocad2006

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-17 19:53 , Processed in 0.211012 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表