几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(VB.NET/C#) (http://www.dimcax.com/hust/forumdisplay.php?f=176)
-   -   在.net中对cad扩展数据问题,错在哪了? (http://www.dimcax.com/hust/showthread.php?t=9422)

yang686526 2009-04-20 09:16 PM

在.net中对cad扩展数据问题,错在哪了?
 
在.net中对cad扩展数据问题,错在哪了?
www.dimcax.com
在.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[2];
object[] xdv = new object[2];
xdt[0]=1001;
xdv[0]="扩展数据";

xdt[1]=1000;
xdv[1]="扩展数据2";
object miss=system.reflection.missing.value;;
string filename="e:\\cadgetvar\\mytest.dwg";
autocad.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
<commandmethod("test")> 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,可是运行速度太慢了,有什么办法吗?
你的代码主要有什么功能?应该不会太慢呀


所有的时间均为北京时间。 现在的时间是 09:47 PM.