RFEM API II C# | ApplicationRfem.get_calculation_errors() not implemented?

Hi everyone,

I'm currently migrating from the old SOAP-based RFEM API to the new gRPC implementation and noticed that the method get_calculation_errors() seems to be missing in the gRPC client.

In the SOAP version, I was using the following code to retrieve calculation errors:

public RfemError[] GetCalculationErrors()
{
	var errorRows = _clientManager.Model.get_calculation_errors();

	return errorRows.Select(row => new RfemError(row.row.description, row.row.analysis_type, row.row.error_or_warning_number)).ToArray();
}

However, in the gRPC version, the method doesn't appear to be available. I tried this:

public RfemError[] GetCalculationErrors()
{
	if (_operationResult.Succeeded)
	{
		return [];
	}

    // _applicationClient is of type ApplicationRfem
	var errors = _applicationClient.get_calculation_errors();
}

But get_calculation_errors() is not defined in the gRPC client interface.

What i already tried to resolve the issue:

  • upgraded Dlubal.Api (didn't solve the issue and introduced braking changes)
  • searched the documentation for the method
  • search for different methods using IntelliSense

Has anyone encountered this issue or found an alternative way to retrieve calculation errors using the gRPC API? Is this method planned to be added, or is there a different recommended approach?

Thanks in advance for any insights!

System Info:
RFEM-Version: 6.11.0011
Dlubal.Api-Version: 6.11.11

Hi hasslernils,

please have a look in the documentation. Under the topic https://apidocs.dlubal.com/source/rst_methods/rfem/get_result_table.html you'll find all necassary informations.

Here is a small example how it works:

df_error_and_warnings_table = self.rfem_app.get_result_table(
                table=rfem.results.ResultTable.ERRORS_AND_WARNINGS_TABLE,
                loading=self.relevant_loading_DS1
            ).data

It is also a good idea to have a plausibility check before you're doing the calculation.

plausibility = self.rfem_app.plausibility_check(
                type=common.PlausibilityCheckType.PLAUSIBILITY_CHECK_CALCULATION,
                skip_warnings=True
            )
if not plausibility.succeeded:
... your logic

I hope this answers your question.

Happy coding.

Best regards
Robert Milrath

1 Like

See a code snippet using C# client 2.12.3:

Common.Table resultTable = await RfemApp.get_result_table(
    table: Rfem.Results.ResultTable.ErrorsAndWarningsTable
);
Console.WriteLine($"\nResult Table:\n{resultTable.Data}");
1 Like