我正在使用matlab sap2000v16接口,我有一个关于接口的问题。我的代码是:
%将数据作为一维数组传递给Sap2000 feature('COM_SafeArraySingleDim',1); %通过引用将非标量数组传递给Sap2000 API feature('COM_PassSafeArrayByRef',1); %创建Sap2000对象 SapObject = actxserver('Sap2000v14.SapObject');
%创建SapModel对象 SapModel = SapObject。 SapModel; %%初始化模型 ret = SapModel.InitializeNewModel;
%%创建新的空白模型 X =输入( '') ret = SapModel.File.NewBeam(2,288); %变化单位 % units = input('lb_in_F = 01,lb_ft_F = 02,kip_in_F = 03,kip_ft_F = 04,kN_mm_C = 05,kN_m_C = 06,kgf_mm_C = 07,kgf_m_C = 08,N_mm_C = 09,N_m_C = 10,Ton_mm_C = 11,Ton_m_C = 12,kN_cm_C = 13,kgf_cm_C = 14,N_cm_C = 15,Ton_cm_C = 16:');
ret = SapModel.SetPresentUnits(units);
%% Define material property
ret = SapModel。 PropMaterial。 SetMaterial( '铝',3); %SapModel.PropMaterial.SetMPIsotropic('Mat_name',Yonug's_modulus,Poisson_coefficient,Coefficient_thermal_expansion); ret = SapModel.PropMaterial.SetMPIsotropic('Aluminum',25000000,0.2,0.0000055); 当我运行sap2000v14的代码(我试过它的其他版本,如v18,v16和v19)我得到错误:
使用actxserver时出错(第91行) 服务器创建失败。 ProgID'Sap2000v14.SapObject'无效。
matSAP2000v16中的错误(第6行) SapObject = actxserver('Sap2000v14.SapObject');
对于版本16,它说: 使用Interface.SAP2000V16._cFile / NewBeam时出错 调用错误,调度异常: 资料来源:SAP2000v16 描述:除以零
matSAP2000v16中的错误(第15行) ret = SapModel.File.NewBeam(2,288);
悖论是,前几天它对sap2000v16工作正常。请伙计们,我需要一些帮助。非常感谢!!!