在.NET中对CAD扩展数据问题,错在哪了?
各位大侠:小弟正在C#.NET下面学CAD ,发现SetXData参数不对,错在哪了?程序是这样写的吗?请多多指教,谢谢。
private void setXData_Click(object sender, System.EventArgs e)
{
object readOnly = false;
object savechange = true;
object[] xdt = new object;
object[] xdv = new object;
xdt=1001;
xdv="扩展数据";
xdt=1000;
xdv="扩展数据2";
object miss=System.Reflection.Missing.Value;;
string fileName="E:\\cadGetVar\\mytest.dwg";
.AcadApplicationClass app = new AutoCAD.AcadApplicationClass();
app.Visible=false;
try
{
AutoCAD.AcadDocument doc=app.Documents.Open(fileName,readOnly,miss);
doc.ModelSpace.SetXData(xdt,xdv);//SetXData参数不对,错在哪了?
doc.Save();
doc.Close(savechange,fileName);
}
catch(Exception ee)
{
MessageBox.Show(ee.ToString ());
}
finally
{
app.Quit ();
}
}
xdt类型不对,VB。Net是Short(),C#的对应类型是Short[]? TO lzh741206 :
SetXData里提示的参数是object类啊,可是它就是不行,救命啊!~ 这是我在VB.Net里的附扩展数据的例子,你改改吧
Public Class TLCad
Public Shared Sub MytestCmd()
Dim DataType(1) As Short, Data(1) As Object
Dim c As Line
Dim d(2), e(2) As Double
Dim f As Autodesk.AutoCAD.Interop.AcadApplication
e(1) = 10
f = GetObject(, "AutoCAD.Application.16")
DataType(0) = 1001 : Data(0) = "TLCad"
DataType(1) = 1000 : Data(1) = "TLCadTest"
f.ActiveDocument.ModelSpace.AddLine(d, e).SetXData(DataType, Data)
End Sub 谢谢lzh741206,可是运行速度太慢了,有什么办法吗? 你的代码主要有什么功能?应该不会太慢呀 要实现的功能就是在.NET程序中读取在CAD中设置好了的扩展数据的值 xdt和xdv的参数均应为object类型
页:
[1]