我曾尝试在 MATLAB 中使用 ETABS dll 文件。该文档解释了如何在 .net 语言中使用 dll 文件。通过更改代码,我可以在 matlab 中使用它,但是有一些错误。
我的代码:
asm = NET.addAssembly('C:\Program Files\Computers and Structures\ETABS 2013\ETABS2013.dll')
ETABSAssembly = System.Reflection.Assembly.LoadFrom('C:\Program Files\Computers and Structures\ETABS 2013\ETABS.exe')
ETABSObject = ETABSAssembly.CreateInstance('CSI.ETABS.API.ETABSObject')
最后一行的输出是:
ETABSObject =
CSI.ETABS.API.ETABSObject handle with no properties.
Package: CSI.ETABS.API
Methods, Events, Superclasses
Superclasses for class CSI.ETABS.API.ETABSObject:
System.MarshalByRefObject
System.Object
handle
ETABS2013.cOAPI
之后,我必须ETABS2013.cOAPI
使用强制转换运算符将对象转换为抽象类,如下所示:
a = cast(ETABSObject,ETABS2013.cOAPI)
但我收到以下错误:
??? Error using ==> ETABS2013.cOAPI
Creating an instance of the Abstract class 'ETABS2013.cOAPI' is not allowed.
如何将 Etabs 对象转换为 cOAPI?