在.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,可是运行速度太慢了,有什么办法吗?
你的代码主要有什么功能?应该不会太慢呀