Hello eveyrone,
Do you know a way with the API to save the report of steel design (especially for some resultats like ratio and forces calculted for it) ?
The most will be to save in a document the following image :
Thank you in advance,
Regards
Louis
@Rafal.Gaweda if you know useful tips it will be great !
Solved! Go to Solution.
Solved by Stephane.kapetanovic. Go to Solution.
thank you for the reply !
But I don't know how to use this code line in the correct way (especially for RdmStream and the way of calling)
Do you know more about it ?
Regards
HI @polylouis
Sub CreateSteelReportSaveAsRTF()
Dim RobApp As IRobotApplication
Set RobApp = New RobotApplication
Visible = RobApp.Visible = -1
IsActive = RobApp.Project.IsActive = -1
Ready = Visible And IsActive
If Not Ready Then
Set RobApp = Nothing: Exit Sub
End If
Dim RDMServer As IRDimServer
Dim RDmEngine As IRDimCalcEngine
Dim RDmCalPar As IRDimCalcParam
Dim RDmCalCnf As IRDimCalcConf
Dim RdmStream As RDimStream
Dim DimAllRes As IRDimAllRes
Dim OutputFile As String
OutputFile = "my_note_file_name_001.rtf"
With RobApp.Kernel.GetExtension("RDimServer")
.Mode = I_DSM_STEEL
Set RdmStream = .Connection.GetStream
Set RDmEngine = .CalculEngine
With RDmEngine
Set RDmCalPar = .GetCalcParam: .SetCalcParam RDmCalPar
Set RDmCalCnf = .GetCalcConf: .SetCalcConf RDmCalCnf
End With
End With
RdmStream.Clear
RdmStream.WriteText "3" '...............................Set Load Case(s)
RDmCalPar.GetUlsLoadsList RdmStream
RDmCalPar.SetLimitState I_DCPLST_ULTIMATE, 1 '..........Set Limit State
RdmStream.Clear
RdmStream.WriteText "1to3" ' ...........................Member(s) selection
RDmCalPar.SetObjsList I_DCPVT_MEMBERS_VERIF, RdmStream 'Members verification
RDmEngine.Solve Nothing
Set DimAllRes = RDmEngine.Results
DimAllRes.MakeNote RdmStream, "", OutputFile
Set RobApp = Nothing
End Sub
Best Regards
IRobotApplication RobApp = new RobotApplication();
bool isVisible = RobApp.Visible == -1,
IsActive = RobApp.Project.IsActive == -1,
Ready = isVisible && IsActive;
if (!Ready) { RobApp = null; return; }
RobotAppKernel Kernel = RobApp.Kernel;
IRDimServer RDMServer = (IRDimServer)RobApp.Kernel.GetExtension("RDimServer");
RDMServer.Mode = IRDimServerMode.I_DSM_STEEL;
RDimStream RdmStream = RDMServer.Connection.GetStream();
IRDimCalcEngine RDmEngine = RDMServer.CalculEngine;
IRDimCalcParam RDmCalPar = RDmEngine.GetCalcParam(); RDmEngine.SetCalcParam(RDmCalPar);
IRDimCalcConf RDmCalCnf = RDmEngine.GetCalcConf(); RDmEngine.SetCalcConf(RDmCalCnf);
RdmStream.Clear();
RdmStream.WriteText("3"); // ULS Load Case(s)
RDmCalPar.SetUlsLoadsList(RdmStream);
RdmStream.Clear();
RdmStream.WriteText("1to3"); // Member(s) selection
RDmCalPar.SetObjsList(IRDimCalcParamVerifType.I_DCPVT_MEMBERS_VERIF, RdmStream);
RDmCalPar.SetLimitState(IRDimCalcParamLimitStateType.I_DCPLST_ULTIMATE, 1); // Set Limit State
RDmEngine.Solve(null);
IRDimAllRes DimAllRes = RDmEngine.Results();
DimAllRes.MakeNote(RdmStream, "", "my_note_file_name_00.rtf"); // Save in RTF
RobApp = null;
Can't find what you're looking for? Ask the community or share your knowledge.