La interfaz COM le permite leer o crear un espectro de respuesta definido por el usuario en RFEM y RSTAB.
Para la conversión, es necesario obtener la interfaz con el módulo (IDynamModule) a través de la interfaz con el modelo de RFEM (IModel). Esta interfaz se usa para crear el caso del módulo (IModuleCase). IModuleCase incluye la función GetRSParams, que se puede usar para leer los parámetros para el espectro de respuesta. Por otro lado, la función SetRSParams puede escribir datos nuevos. El siguiente código de ejemplo lo aclara:
Dim iApp As RFEM5.ApplicationDim iMod como modelo RFEM5Establecer iApp = GetObject (, "RFEM5.Application")
Dim rs_no como enterors_no = 1
On Error GoTo e
' Comprueba la licencia de RS-COM y bloquea la aplicación para su uso por COM. iApp.LockLicense
Set iMod = iApp.GetActiveModel
' obtener la interfaz del móduloDim iDyn como IDynamModuleEstablecer iDyn = iMod.GetModule ("DynamPro")
' obtener la interfaz del caso del móduloDim iDynCase como IModuleCaseEstablecer iDynCase = iDyn.GetData ' establecer parámetros de espectros de respuestaDim rspara como RSParamsrspara = iDynCase.GetRSParams (rs_no) Dim rs_spec (0 a 10) como RSTableRow Dim index As Integeríndice = 0rs_spec (índice) .s = 0,6rs_spec (índice) .T = 0 índice = 1rs_spec (índice) .s = 1,33rs_spec (índice) .T = 0,153 índice = 2rs_spec (índice) .s = 1,33rs_spec (índice) .T = 0.4 índice = 3rs_spec (índice) .s = 1,204rs_spec (índice) .T = 0,443 índice = 4rs_spec (índice) .s = 1.07rs_spec (índice) .T = 0,5 índice = 5rs_spec (índice) .s = 0,7rs_spec (índice) .T = 0,761 índice = 6rs_spec (índice) .s = 0,508rs_spec (índice) .T = 1.051 índice = 7rs_spec (índice) .s = 0,367rs_spec (índice) .T = 1,453 índice = 8rs_spec (índice) .s = 0,267rs_spec (índice) .T = 1.995 índice = 9rs_spec (índice) .s = 0,16rs_spec (índice) .T = 2,584 índice = 10rs_spec (índice) .s = 0,16rs_spec (índice) .T = 5
rspara.UserDefinedTable = rs_specrspara.Comment = "test rs"rspara.DefinitionType = ResponseSpectraType.UserDefinedRSrspara.description = "test rs via COM"rspara.Number = rs_no iDynCase.SetRSParams rs_no, rspara e: If Err.Number <> 0 Then MsgBox Err.description`` Err.Source iMod.GetApplication.UnlockLicenseEstablecer iMod = NadaEstablecer iApp = Nada
El espectro de respuesta se creó según EN 1998-1: 2010 y tiene 11 puntos. Primero, se creó una matriz del tipo RSTableRow con 11 elementos, se completó con datos y luego se guardó en la propiedad UserDefinedTable. La transferencia se realiza utilizando el comando SetRSParams.