(API) Excel VBA - Node displacement

(API) Excel VBA - Node displacement

cool.stuff
Collaborator Collaborator
1,109 Views
6 Replies
Message 1 of 7

(API) Excel VBA - Node displacement

cool.stuff
Collaborator
Collaborator

Hi!!!

 

Can someone explain waht does it mean:

 

I_NDRV_UX : = 0
I_NDRV_UY : = 1
I_NDRV_UZ : = 2
I_NDRV_RX : = 3
I_NDRV_RY : = 4
I_NDRV_RZ : = 5
I_NDRV_ALPHA : = 8
I_NDRV_BETA : = 9
I_NDRV_GAMMA : = 10

 

 

The first 6 I understand it is the displacements and rotation, but what does mean alpha, beta and gamma please?

 

Many thanks!

 

 

 

0 Likes
Accepted solutions (1)
1,110 Views
6 Replies
  • VBA
Replies (6)
Message 2 of 7

Rafal.Gaweda
Autodesk Support
Autodesk Support
Accepted solution

Hi @cool.stuff 

 

My guess:

 

nodaldispl.jpg



Rafal Gaweda
Message 3 of 7

cool.stuff
Collaborator
Collaborator

Many thanks for your answer @Rafal.Gaweda !! 🙂

 

So, alpha, beta and gamma are the angle of the support right? 🙂

 

Another doubt: though API I can only set up the nodal displacements, right? I cannot define nodal velocity or acceleration right?

 

Many thanks!! 🙂

0 Likes
Message 4 of 7

Rafal.Gaweda
Autodesk Support
Autodesk Support

Hi @cool.stuff 

 

Only Body Forces and Centrifugal Forces are not implemented in API.

 



Rafal Gaweda
0 Likes
Message 5 of 7

cool.stuff
Collaborator
Collaborator

Thanks for your answer!!!

 

I am sorry but I did not understand..

From what is presented in API, I do not think it is possible..

 

But is it or not? 🙂

0 Likes
Message 6 of 7

Rafal.Gaweda
Autodesk Support
Autodesk Support

Hi @cool.stuff 

 

Example

 

                    if (icase.Records.Get(i).Type == IRobotLoadRecordType.I_LRT_BAR_UNIFORM || icase.Records.Get(i).Type == IRobotLoadRecordType.I_LRT_NODE_FORCE
                        || icase.Records.Get(i).Type == IRobotLoadRecordType.I_LRT_NODE_DISPLACEMENT || icase.Records.Get(i).Type == IRobotLoadRecordType.I_LRT_NODE_VELOCITY
                        || icase.Records.Get(i).Type == IRobotLoadRecordType.I_LRT_NODE_ACCELERATION || icase.Records.Get(i).Type == IRobotLoadRecordType.I_LRT_NODE_FORCE_IN_POINT
                        || icase.Records.Get(i).Type == IRobotLoadRecordType.I_LRT_BAR_TRAPEZOIDALE || icase.Records.Get(i).Type == IRobotLoadRecordType.I_LRT_BAR_DILATATION
                        || icase.Records.Get(i).Type == IRobotLoadRecordType.I_LRT_BAR_FORCE_CONCENTRATED || icase.Records.Get(i).Type == IRobotLoadRecordType.I_LRT_BAR_THERMAL
                        || icase.Records.Get(i).Type == IRobotLoadRecordType.I_LRT_LINEAR_ON_EDGES)
                    {
                        CopyStdRecord(icase, Newcase, i, Scasefactor);
                    }
.....

        public void CopyStdRecord(RobotSimpleCase icase, RobotSimpleCase Newcase, int i, double Scasefactor)
        {
            RobotLoadRecord irec = (RobotLoadRecord)icase.Records.Get(i);
            RobotLoadRecord irecn = (RobotLoadRecord)Newcase.Records.Create(irec.Type);
            irecn.Objects.AddText(irec.Objects.ToText());

            for (short iic = 0; iic <= 5; iic++)
            {
                irecn.SetValue(iic, irec.GetValue(iic) * Scasefactor);
            }

            for (short iid = 6; iid <= 15; iid++)
            {
                irecn.SetValue(iid, irec.GetValue(iid));
            }
        }



Rafal Gaweda
Message 7 of 7

cool.stuff
Collaborator
Collaborator

Many thanks for your help and for the example @Rafal.Gaweda !! :))

0 Likes