[求助]c#打开ACAD图纸出错??
我在执行下面代码打图纸时AcadDoc = Acad.Documents.Open(strFileName,false,null);
AcadSpace = AcadDoc.ModelSpace
在执行到第2句时
发生 {System.Runtime.InteropServices.COMException} 类型的异常
请教这个怎么办啊??
--------------------------------------
我用的是vs.net和autocad2004using System;
using System.Windows.Forms;
using System.Data;
using System.Runtime.InteropServices;
using System.Data.SqlClient;
using VBA;
using AutoCAD;namespace FoTon.Ov.PDMSign
{
///
/// AutoCAD签字组件(类)
///
public class SignToDWG
{
#region AutoCAD签字过程
///
/// AutoCAD签字过程
///
/// 图纸名称(包括路径)
/// 签字名称
/// 签字位置(相对标题框右下角)
public static void SignProcess(string strFileName,string strSignContent,double[] Point)
{
AutoCAD.AcadDocument AcadDoc;
AutoCAD.AcadModelSpace AcadSpace;
AutoCAD.AcadBlockReference BlockRef;
double[] BlockPoint = new double;
double[] TxtXPointMin = new double;
AcadDoc = Acad.Documents.Open(strFileName,false,null);//打开一个AutoCAD文档,password为""
AcadSpace = AcadDoc.ModelSpace;//模型
.....
}
#endregion
}
}
同样的问题我也发过了,这个论坛上都是牛人,这种事没人理啊....
你的 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());
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(); //图形文件实行全局缩放;
最好用autocad2006
页:
[1]