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