本帖最后由 zccbest 于 2010-9-27 16:03 编辑
在上一个帖子中说到,matlab 调用.NET的 dll文件,但是那个输入不是数组,matlab的数组怎么能够被C#或VB.NET识别呢?下面的实例演示一下。以前做凸轮型线设计的软件,用户提出一个要求,能不能在matlab把生成数据直接倒AutoCAD生成升程表呢?因为几百个数据手工输入至少需要半天时间。我做了一些尝试,matlab直接调用AutoCAD,结果失败。因为当涉及到数组时(坐标点为数组)matlab的数组并不能被AutoCAD识别,后来又尝试在MATLAB中将数组转换成.NET数组,结果还是不行。但是利用VB.NET来调用AutoCAD却正常,于是产生一个想法,利用VB.NET写一个类库(dll文件)来调用AutoCAD,matlab调用VB.NET生成的dll文件,在matlab中将数组转换成NET 数组,然后作为dll文件的输入,结果验证成功。P.S:为什么利用VB.NET而不用C#呢,因为AutoCAD的VB是利用VB编写的,利用VB.NET语法接近并且VB.NET的CreateObject功能很强大,虽然利用C#也可以实现,但程序显得复杂了,我认为混编应该基于.NET平台,而不应该拘泥于哪种语言。
|