pckite 发表于 2004-5-25 10:03:00

在.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>

雪山飞狐_lzh 发表于 2004-5-26 05:36:00

本帖最后由 作者 于 2004-5-28 10:47:12 编辑

xdt类型不对,VB。Net是Short(),C#的对应类型是Short[]?

pckite 发表于 2004-5-27 21:02:00

TO <A name=21412><FONT color=#0000ff><B>lzh741206</B></FONT></A>        :


               SetXData里提示的参数是object类啊,可是它就是不行,救命啊!~

雪山飞狐_lzh 发表于 2004-5-27 21:14:00

这是我在VB.Net里的附扩展数据的例子,你改改吧


Public Class TLCad<BR>                       &lt;CommandMethod("test")&gt; 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

pckite 发表于 2004-5-31 21:05:00

谢谢<A name=21912><FONT color=#0000ff><B>lzh741206</B></FONT></A>,可是运行速度太慢了,有什么办法吗?

雪山飞狐_lzh 发表于 2004-5-31 21:12:00

你的代码主要有什么功能?应该不会太慢呀

pckite 发表于 2004-6-6 14:04:00

要实现的功能就是在.NET程序中读取在CAD中设置好了的扩展数据的值

loofs 发表于 2012-1-28 11:43:06

xdt和xdv的参数均应为object类型
页: [1]
查看完整版本: 在.NET中对CAD扩展数据问题,错在哪了?