Steel design - CodeParams

Steel design - CodeParams

polylouis
Enthusiast Enthusiast
2,183 Views
10 Replies
Message 1 of 11

Steel design - CodeParams

polylouis
Enthusiast
Enthusiast

Hello everyone,

 

I am working with RSA 2021 and I succed to launch EC3 calculation like the following steps : 

 

robotProjectPrefs.SetActiveCode(IRobotCodeType.I_CT_STEEL_STRUCTURES, "en 1993-1");

....

....

// create member type
IRobotLabel steelLabel = robotLabels.Create(IRobotLabelType.I_LT_MEMBER_TYPE, "Parois minces");

IRDimMembDefData frameRobotSteelSectionData = steelLabel.Data;
frameRobotSteelSectionData.Type = IRDimMembDefType.I_DMDT_MEMBER;
frameRobotSteelSectionData.SetDeflYZRelLimit(IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Y, 800); 
frameRobotSteelSectionData.SetDeflYZRelLimit(IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Z, 300); 
frameRobotSteelSectionData.SetDeflectionYZ(IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Y, 1);
frameRobotSteelSectionData.SetDeflectionYZ(IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Z, 1);
frameRobotSteelSectionData.CantileverMode = 0;

 

IRDimMembParamsE32 rDimMembParamsE32 = frameRobotSteelSectionData.CodeParams; 
rDimMembParamsE32.TorsBuckOn = false;
rDimMembParamsE32.LateralBuckling = false;
rDimMembParamsE32.LatBuckMethodType = IRDimLatBuckMethodTypeE32.I_DLBMT_E32_METHOD_GENERAL;
rDimMembParamsE32.BucklingDiagramY = IRDimBuckDiagramE32.I_DBD_E32_NO;
rDimMembParamsE32.BracedY = false;
rDimMembParamsE32.BucklingDiagramZ = IRDimBuckDiagramE32.I_DBD_E32_NO;
rDimMembParamsE32.BracedZ = false;

IRDimThinWalledE32 rDimThinWalledE32 = rDimMembParamsE32.ThinWalled; 
rDimThinWalledE32.Active = 1;
rDimThinWalledE32.TypeOfForming = IRDimThinWalledFormingTypeE32.I_DTWFT_E32_ROLLED;
rDimMembParamsE32.ThinWalled = rDimThinWalledE32;
frameRobotSteelSectionData.CodeParams = rDimMembParamsE32;
robotLabels.Store(steelLabel);

 

I tried to do the same with RSA 2023 but error coming the following line :

IRDimMembParamsE32 rDimMembParamsE32 = frameRobotSteelSectionData.CodeParams;

 

Do you have any ideas to solve it ?

 

Thank you in advance,

Regards 

 

Louis 

0 Likes
Accepted solutions (1)
2,184 Views
10 Replies
Replies (10)
Message 2 of 11

Stephane.kapetanovic
Mentor
Mentor

hi @polylouis 

have you try setting the preferences.

RobotProjectPreferences Preferences = RobApp.Project.Preferences;
int code = Preferences.SetActiveCode(IRobotCodeType.I_CT_STEEL_STRUCTURES, "NF EN 1993-1-1:2005/NA:2013/A1:2014");
if (code != -1 ) { RobApp = null; return; }

 Best Regards

Stéphane Kapetanovic

Did you find this post helpful? If it gave you one or more solutions,
don't forget to click the Accept Solution button and leave a < like !
EESignature
0 Likes
Message 3 of 11

polylouis
Enthusiast
Enthusiast

hi @Stephane.kapetanovic 

 

unfortunatelly it doesn't work : 

polylouis_1-1673423356796.png

Do you have other idea about it ?

 

Moreover if I comment lines 512 to 525, member type is created but like a timber type and not steel type.. Is it weird isnt'it ?

 

Regards,

Louis

 

 

0 Likes
Message 4 of 11

Stephane.kapetanovic
Mentor
Mentor

hi @polylouis 

it works with thin walled steel member type for me.

Stephanekapetanovic_0-1673426193332.png

Stephanekapetanovic_0-1673425738664.png

Stephanekapetanovic_1-1673425756976.pngStephanekapetanovic_2-1673425774198.pngStephanekapetanovic_3-1673425789610.png

Best Regards

Stéphane Kapetanovic

Did you find this post helpful? If it gave you one or more solutions,
don't forget to click the Accept Solution button and leave a < like !
EESignature
0 Likes
Message 5 of 11

polylouis
Enthusiast
Enthusiast

Do you work with version 2023 ?

0 Likes
Message 6 of 11

Stephane.kapetanovic
Mentor
Mentor

yes, it works

Stéphane Kapetanovic

Did you find this post helpful? If it gave you one or more solutions,
don't forget to click the Accept Solution button and leave a < like !
EESignature
0 Likes
Message 7 of 11

Stephane.kapetanovic
Mentor
Mentor
Accepted solution
using static RobotOM.IRDimMembDefDeflDataType;
using static RobotOM.IRDimLatBuckMethodTypeE32;
using static RobotOM.IRDimThinWalledFormingTypeE32;
using static RobotOM.IRDimBuckDiagramE32;
using static RobotOM.IRDimMembDefType;
IRobotApplication RobApp = new RobotApplication();
RobotLabelServer Labels = RobApp.Project.Structure.Labels;
RobotProjectPreferences Preferences = RobApp.Project.Preferences;
int code = Preferences.SetActiveCode(IRobotCodeType.I_CT_STEEL_STRUCTURES, 
                                     "NF EN 1993-1-1:2005/NA:2013/A1:2014");

IRobotLabel Lbl = Labels.Create(IRobotLabelType.I_LT_MEMBER_TYPE, "Parois minces");
IRDimMembDefData LblData = Lbl.Data;
LblData.Type = I_DMDT_MEMBER;
LblData.SetDeflYZRelLimit(I_DMDDDT_DEFL_Y, 800);
LblData.SetDeflYZRelLimit(I_DMDDDT_DEFL_Z, 300);
LblData.SetDeflectionYZ(I_DMDDDT_DEFL_Y, 1);
LblData.SetDeflectionYZ(I_DMDDDT_DEFL_Z, 1);
LblData.CantileverMode = 0;

IRDimMembParamsE32 MParams = (IRDimMembParamsE32)LblData.CodeParams;
MParams.TorsBuckOn = false;
MParams.LateralBuckling = false;
MParams.LatBuckMethodType = I_DLBMT_E32_METHOD_GENERAL;
MParams.BucklingDiagramY = I_DBD_E32_NO; MParams.BracedY = false;
MParams.BucklingDiagramZ = I_DBD_E32_NO; MParams.BracedZ = false;

IRDimThinWalledE32 rDimThinWalledE32 = MParams.ThinWalled;
rDimThinWalledE32.Active = 1;
rDimThinWalledE32.TypeOfForming = I_DTWFT_E32_ROLLED;
MParams.ThinWalled = rDimThinWalledE32;
LblData.CodeParams = MParams;
Labels.Store(Lbl);

RobApp = null;

 

Stéphane Kapetanovic

Did you find this post helpful? If it gave you one or more solutions,
don't forget to click the Accept Solution button and leave a < like !
EESignature
Message 8 of 11

polylouis
Enthusiast
Enthusiast

hi @Stephane.kapetanovic 

 

It works if I call it at first ! 🙂

 

I have an other question : do you know if nodal displacement views are implemented by APY ?

polylouis_0-1673440699977.png

 

 

Thank you in advance,

Regards

0 Likes
Message 9 of 11

Stephane.kapetanovic
Mentor
Mentor

hi @polylouis 

I haven't compared the APIs, the enum IRobotViewDiagramResult Type seems to be the same so only U would be implemented out of the new dispatch possibilities.

Stephanekapetanovic_0-1673450436945.png Extract

Best Regards

Stéphane Kapetanovic

Did you find this post helpful? If it gave you one or more solutions,
don't forget to click the Accept Solution button and leave a < like !
EESignature
Message 10 of 11

BadrDerouiche
Contributor
Contributor

Hello, 

Please, I want to ask the difference between ParamsE32 and ParamsEC3.
Thanks,

Best regards, 

0 Likes
Message 11 of 11

Stephane.kapetanovic
Mentor
Mentor

hi @BadrDerouiche 

the two interfaces do not have the same properties and methods, one offering more details.

Best Regards

Stéphane Kapetanovic

Did you find this post helpful? If it gave you one or more solutions,
don't forget to click the Accept Solution button and leave a < like !
EESignature