RSA: I_DMDDDT_DEFL_Z_FROM_LIVE_LOADS - Runtime error / API

RSA: I_DMDDDT_DEFL_Z_FROM_LIVE_LOADS - Runtime error / API

deligny-sa
Contributor Contributor
505 Views
9 Replies
Message 1 of 10

RSA: I_DMDDDT_DEFL_Z_FROM_LIVE_LOADS - Runtime error / API

deligny-sa
Contributor
Contributor

Hi,

 

I have problem with VBA;

RSA blocks at the line : RdimLabelData.SetDeflYZRelLimit I_DMDDDT_DEFL_Z_FROM_LIVE_LOADS, 300

 

Here is the example:

Private Sub TEST_Click()

Dim RobApp As RobotApplication
Set RobApp = New RobotApplication

RobApp.Project.Preferences.SetActiveCode I_CT_STEEL_STRUCTURES, "NF EN 1993-1-1:2005/NA:2013/A1:2014"

Dim RLabel As IRobotLabel
Dim RdimLabelData As IRDimMembDefData
Dim RDimMembParams As IRDimMembParamsE32

Set RLabel = RobApp.Project.Structure.Labels.Create(I_LT_MEMBER_TYPE, "TYPE_1")
Set RdimLabelData = RLabel.Data

RdimLabelData.SetDeflYZRelLimit I_DMDDDT_DEFL_Z, 200
RdimLabelData.SetDeflectionYZ I_DMDDDT_DEFL_Z, 1

RdimLabelData.SetDeflYZRelLimit I_DMDDDT_DEFL_Z_FROM_LIVE_LOADS, 300
RdimLabelData.SetDeflectionYZ I_DMDDDT_DEFL_Z_FROM_LIVE_LOADS, 1

Set RDimMembParams = RdimLabelData.CodeParams

RdimLabelData.CodeParams = RDimMembParams
RobApp.Project.Structure.Labels.Store RLabel

Set RLabel = Nothing

End Sub

 

Thanks for your help

0 Likes
Accepted solutions (3)
506 Views
9 Replies
Replies (9)
Message 2 of 10

Stephane.kapetanovic
Mentor
Mentor
Accepted solution

hi @deligny-sa 

The criteria for member deflection from live loads are not set by the SetDeflYZRelLimit method of the IRDimMembDefData interface, as they are for final deflection and checkboxes.

Instead, they can be set by the RelLimitdeflUz property of the IRDimMembParamsE32 interface.

'[...]
  Dim RLabel As IRobotLabel, RdimLabelData As IRDimMembDefData, RDimMembParams As IRDimMembParamsE32
  Set RLabel = RobApp.Project.Structure.Labels.Create(I_LT_MEMBER_TYPE, "TYPE_1")
  Set RdimLabelData = RLabel.Data
 
  With RdimLabelData
    .SetDeflYZRelLimit I_DMDDDT_DEFL_Z, 200
    .SetDeflectionYZ I_DMDDDT_DEFL_Z, 1
    .SetDeflectionYZ I_DMDDDT_DEFL_Z_FROM_LIVE_LOADS, 1
    
    Set RDimMembParams = .CodeParams: RDimMembParams.RelLimitdeflUz = 300
    .CodeParams = RDimMembParams
  End With
  RobApp.Project.Structure.Labels.Store RLabel
'[...]

You can refer to the example titled: APi - steel design - Activate deflection limit 

Best Regards

Stéphane Kapetanovic

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

deligny-sa
Contributor
Contributor
Accepted solution

Thank you, it's perfect.

Message 4 of 10

deligny-sa
Contributor
Contributor

Hi,

 

I get the total arrow with "RDmDetRes.UZ"

How to get the instant arrow?

I can't find the code.

 

Thanks for your help

BD

 

0 Likes
Message 5 of 10

Stephane.kapetanovic
Mentor
Mentor

hi @deligny-sa 

Are you planning to use a set of combinations that exclude the permanent load cases? If so, the same approach can be applied in a second phase.

Best Regards

Stéphane Kapetanovic

Did you find this post helpful? If it gave you one or more solutions,
don't forget to accept the solution and leave a < like !
EESignature
0 Likes
Message 6 of 10

deligny-sa
Contributor
Contributor
Accepted solution

Hi,

I wrote the code to deduce the permanent arrow from the total arrow

it works.

Thanks

BD

0 Likes
Message 7 of 10

m11105821
Explorer
Explorer

Hi,
I am working in cpython3,
I found similar problem, where the z deflection from live loads is not filled.
The Cpython3 code i wrote is below:
lbl = IRobotLabel(labels.Create(IRobotLabelType.I_LT_MEMBER_TYPE, "Adj_Member"))
lblData = IRDimMembDefData(lbl.Data)
lblData.Type = IRDimMembDefType.I_DMDT_MEMBER
lblData.SetDeflYZRelLimit(IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Z, 600)
lblData.SetDeflYZRelLimit(IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Z_FROM_LIVE_LOADS, 600)
lblData.SetDeflectionYZ(IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Z, 1)
lblData.SetDeflectionYZ(IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Z_FROM_LIVE_LOADS, 1)

Thanks in advance.

0 Likes
Message 8 of 10

Stephane.kapetanovic
Mentor
Mentor

hi @m11105821 

read message 5 first :  https://forums.autodesk.com/t5/robot-structural-analysis-forum/rsa-i-dmdddt-defl-z-from-live-loads-r...

Stéphane Kapetanovic

Did you find this post helpful? If it gave you one or more solutions,
don't forget to accept the solution and leave a < like !
EESignature
0 Likes
Message 9 of 10

m11105821
Explorer
Explorer

Hi @Stephane.kapetanovic 
I have read and already tried to modify to cpython3 code, below is the code:

RDmServer = IRDimServer(robapp.Kernel.GetExtension("RDimServer"))
RDmServer.Mode = IRDimServerMode.I_DSM_STEEL

lbl = IRobotLabel(labels.Create(IRobotLabelType.I_LT_MEMBER_TYPE, "Adj_Member"))
lblData = IRDimMembDefData(lbl.Data)
lblData.Type = IRDimMembDefType.I_DMDT_MEMBER
lblData.SetDeflYZRelLimit(IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Z, 600)
#lblData.SetDeflYZRelLimit(IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Z_FROM_LIVE_LOADS, 600)
lblData.SetDeflectionYZ(IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Z, 1)
lblData.SetDeflectionYZ(IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Z_FROM_LIVE_LOADS, 1)
param = lblData.CodeParams
param.RelLimitdeflUz = 500

However, 500 is not generated at all in my RSA.

m11105821_1-1758298190312.png

 

0 Likes
Message 10 of 10

Stephane.kapetanovic
Mentor
Mentor

did you forget something ? 

param = IRDimMembParamsE32(lblData.CodeParams)
param.RelLimitdeflUz = 500
lblData.CodeParams = param

Stéphane Kapetanovic

Did you find this post helpful? If it gave you one or more solutions,
don't forget to accept the solution and leave a < like !
EESignature
0 Likes