IdeaStatiCa.ConnectionApi
The C# library for the Connection Rest API 4.0
- API version: 4.0
- SDK version: 26.0.5.1087
IDEA StatiCa Connection API, used for the automated design and calculation of steel connections.
Frameworks supported
Installation
NuGet package
We recommend installing the package to your project using NuGet. This will ensure all dependencies are automatically installed.
See IdeaStatiCa.ConnectionApi
Building from source
Generate the DLL using your preferred tool (e.g. dotnet build) or opening the avaliable Visual Studio solution (.sln) and building. See ConRestApiClient.sln
Projects can be created by the template or the the wizard in Visual Studio. See Connection Rest API client wizard.
Usage
ClientApiClientFactory manages creation of clients on the running service.
We currently only support connecting to a service running on a localhost (eg. 'http://localhost:5000/').
To start the service, manually navigate to the "C:\Program Files\IDEA StatiCa\StatiCa 26.0" folder. Using CLI:
IdeaStatiCa.ConnectionRestApi.exe -port:5193
Parameter -port: is optional. The default port is 5000.
// Connect any new service to latest version of IDEA StatiCa.
ConnectionApiServiceAttacher clientFactory = new ConnectionApiServiceAttacher('http://localhost:5000/');
IConnectionApiClient conClient = await clientFactory.CreateApiClient();
Getting Started
The below snippet shows a simple getting started example which opens an IDEA StatiCa Connection project and performs the calculation.
using System.Collections.Generic;
using System.Diagnostics;
using IdeaStatiCa.Api.Common;
using IdeaStatiCa.Api.Connection.Model;
using IdeaStatiCa.ConnectionApi;
namespace Example
{
public class Example
{
private static CancellationToken cancellationToken;
public static async Task Main()
{
string ideaConFile = "test1.ideaCon";
string ideaStatiCaPath = "C:\\Program Files\\IDEA StatiCa\\StatiCa 26.0"; // path to the IdeaStatiCa.ConnectionRestApi.exe
using (var clientFactory = new ConnectionApiServiceRunner(ideaStatiCaPath))
{
// create ConnectionApiClient
using (var conClient = await clientFactory.CreateApiClient())
{
// open the project and get its id
var projData = await conClient.Project.OpenProjectAsync(ideaConFile, cancellationToken);
if (!projData.Connections.Any())
{
return;
}
// request to run plastic CBFEM for all connections in the project
ConCalculationParameter conCalcParam = new ConCalculationParameter()
{
AnalysisType = ConAnalysisTypeEnum.Stress_Strain,
ConnectionIds = projData.Connections.Select(c => c.Id).ToList()
};
var cbfemResult = await conClient.Calculation.CalculateAsync(projData.ProjectId, conCalcParam, 0, cancellationToken);
await conClient.Project.CloseProjectAsync(projData.ProjectId);
}
}
}
}
}
Documentation for API Endpoints
The ConnectionApiClient wraps all API endpoing controllers into object based or action baseds API endpoints.
Methods marked with an ^ denote that they have an additional extension in the Client.
CalculationApi
| Method |
Description |
| Calculate |
Runs CBFEM calculation and returns the summary of the results. |
| CalculateConnection |
Runs CBFEM calculation of a single connection and returns the summary of the results. |
| GetConnectionRawJsonResults |
Runs CBFEM calculation of a single connection and gets a JSON string which represents its raw CBFEM results (an instance of CheckResultsData). |
| GetRawJsonResults |
Gets JSON string which represents raw CBFEM results (an instance of CheckResultsData). |
| GetResults |
Gets detailed results of the CBFEM analysis. |
CalculationJobsApi
| Method |
Description |
| CancelCalculationJob |
Requests cancellation of an asynchronous calculation job: the in-flight solver process is killed and remaining connections are skipped. Connections whose solve was interrupted stay not-calculated; already completed connections keep their results. Idempotent — cancelling a finished job leaves it unchanged. |
| GetCalculationJob |
Gets the current state of an asynchronous calculation job: its status, the connection currently being calculated with its per-load-case solver progress, and — once finished — the result summaries. |
| StartCalculation |
Starts an asynchronous CBFEM calculation job for the given connections. |
| StartConnectionCalculation |
Starts an asynchronous CBFEM calculation job for a single connection. |
ClientApi
| Method |
Description |
| ConnectClient |
Connects a client to the ConnectionRestApi service and returns a unique identifier for the client. |
| GetVersion |
Gets the IdeaStatica API assembly version. |
ConnectionApi
ConnectionLibraryApi
| Method |
Description |
| GetDesignItemPicture |
Retrieves the picture associated with the specified design item as a PNG image. |
| GetDesignSets |
Retrieves a list of design sets available for the user. |
| GetTemplate |
Retrieves the template associated with the specified design set and design item. |
| Propose |
Proposes a list of design items for a specified connection within a project. |
| PublishConnection |
Publish template to Private or Company set. |
ConversionApi
| Method |
Description |
| ChangeCode |
Changes the design code of the project. |
| GetConversionMapping |
Gets default conversion mappings for converting the project to a different design code. |
ExportApi
LoadEffectApi
MaterialApi
| Method |
Description |
| AddBoltAssembly |
Add bolt assembly to the project. Accepted names come from GET .../materials/bolt-assemblies/library. |
| AddCrossSection |
Add cross section to the project. |
| AddMaterialBoltGrade |
Adds a material to the project. |
| AddMaterialConcrete |
Adds a material to the project. |
| AddMaterialHeadedStudGrade |
Adds a material to the project. |
| AddMaterialReinforcement |
Adds a material to the project. |
| AddMaterialSteel |
Adds a material to the project. |
| AddMaterialWeld |
Adds a material to the project. |
| AddParametricCrossSection |
Creates a parametric cross-section (welded, boxed, cold-formed, parametric rolled) from its shape type and dimensions, and returns the stored detail with the evaluated outline geometry. Dimension ids are the stable parameter ids the detail GET exposes; dimensions not named keep the shape's defaults. BETA. |
| AddPin |
Add pin to the project. Pins are available only for the ECEN design code; list the accepted names via GET .../materials/pin/library. |
| GetAllMaterials |
Gets materials used in the specified project. |
| GetBoltAssemblies |
Gets bolt assemblies used in the specified project. |
| GetBoltGradeMaterials |
Gets materials used in the specified project. |
| GetConcreteMaterials |
Gets materials used in the specified project. |
| GetCrossSectionDetail |
Gets the full definition (library / parametric / custom) and the evaluated outline geometry of one cross-section in the project. BETA. |
| GetCrossSections |
Gets cross sections used in the specified project. |
| GetHeadedStudGradeMaterials |
Gets materials used in the specified project. |
| GetMaterialLibrary |
Lists the MPRL names available in the material library for the project's design code. |
| GetPins |
Gets pins used in the specified project. |
| GetReinforcementMaterials |
Gets materials used in the specified project. |
| GetSteelMaterials |
Gets materials used in the specified project. |
| GetWeldingMaterials |
Gets materials used in the specified project. |
| UpdateParametricCrossSection |
Replaces the definition of parametric cross-section cssId with the given one — a full replacement: dimensions not named revert to the shape's defaults, so send the complete definition obtained from the detail GET. Answers 409 when the id stores a library or general section. BETA. |
MemberApi
| Method |
Description |
| AddMember |
Adds a new member to the connection. |
| DeleteMember |
Deletes the specified member from the connection. |
| GetMember |
Gets information about the specified member in the connection. |
| GetMembers |
Gets information about all members in the connection. |
| SetBearingMember |
Set bearing member for memberId. |
| UpdateMember |
Updates the member in the connection with the provided data. |
OperationApi
ParameterApi
PresentationApi
ProjectApi
ReportApi
| Method |
Description |
| GenerateHtmlZip^ |
Generates a report for the specified connection in PDF, Word, or HTML zip format. |
| GeneratePdf^ |
Generates a report for the specified connection in PDF, Word, or HTML zip format. |
| GeneratePdfForMutliple^ |
Generates a report for multiple connections in PDF or Word format. |
| GenerateWord^ |
Generates a report for the specified connection in PDF, Word, or HTML zip format. |
| GenerateWordForMultiple^ |
Generates a report for multiple connections in PDF or Word format. |
SettingsApi
| Method |
Description |
| GetSettings |
Gets setting values for the project. |
| UpdateSettings |
Updates one or multiple setting values in the project. |
TemplateApi
| Method |
Description |
| ApplyTemplate |
Apply the connection template applyTemplateParam on the connection connectionId in the project projectId. |
| CreateConTemplate |
Create a template for the connection connectionId in the project projectId. |
| CreateTemplateFromConnection |
Create a reusable connection template from connectionId with structured metadata. Captures the connection's parametric design — operations, parameters, parametric links, analysis info, loads and clipping/section data — and returns it as a contemp payload alongside metadata inherited from the source connection (design code, version, manufacturing type, member typology, and operation/parameter/link counts). |
| Delete |
Delete specific template. |
| DeleteAll |
Delete all templates in connection. |
| Explode |
Explode specific template (delete parameters, keep operations). |
| ExplodeAll |
Explode all templates (delete parameters, keep operations). |
| GetDefaultTemplateMapping |
Get the default mappings for the application of the connection template passed in templateToApply on connectionId in the project projectId. |
| GetTemplateCommonOperationProperties |
Get common properties for specific template. |
| GetTemplateInConnection |
Retrieves a specific template by its ID for a given connection within a project. |
| GetTemplatesInConnection |
Retrieves a list of templates associated with a specific connection within a project. |
| LoadDefaults |
Load parameter defaults for specific template. |
| UpdateTemplateCommonOperationProperties |
Set common properties for specific template. |
Documentation for Models
Documentation for Authorization
Endpoints do not require authorization.
Notes
This C# SDK is automatically generated by the OpenAPI Generator project: