Hi!
I need to extract node rotations data from my model. The problem is that only rotations according to global coordinate system are available. In several cases, I need the local support displacements and rotations to find suitable bearing device.
As you can see in following, the node rotations from the supports don't match the coordinates from the adjacent bar in which I need them.
Can I some how get the data I need? Even if I create a different support oriented accordingly the bar axis, I don't see where I get the rotations in that coordinates...
In attach I put the refereed model.
I used a worksheet to extract this data by API based on previous post on the forum, I also attached it.
Thanks
Solved! Go to Solution.
Solved by Rafal.Gaweda. Go to Solution.
Solved by Rafal.Gaweda. Go to Solution.
Nodal Displacement results are presented in Global CS
Reactions can be reported in Local coordinate system of support.
"Nodal Displacement results are presented in Global CS
Reactions can be reported in Local coordinate system of support."
I know that. My question is if is possible to get the Node Displacements / Rotations in some LOCAL CS which I define.
Take for example, when I need to define a simple pinned support is some LOCAL CS, maybe I don't need only the reactions values.
Like the example in the picture below, if nodes 3 and 7 represent the bearing equipment fixed on XX and free on YY oriented towards the frame center, besides the reaction values I have also to know the displacements/rotations in those nodes, in that particular CS.
For this simple example, I should check the allowed displacements on YY, and get no displacements on XX.
Does the program store internally this data somewhere??...
I already try to get them by the bar deflection tables, but only the displacements on LOCAL CS of the bar are presented, don't let me to get rotations on start and end node of the bar in it LOCAL CS.
Please, if what I'm talking about is not possible, exploit some other indirect ways to get these rotations and illuminate me.
Rafael Medeiros
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.
Yes, in the particullary case I'm studing I have 48 different supports (different LOCAL CS)....
I know that. My question is if is possible to get the Node Displacements / Rotations in some LOCAL CS which I define.
Only by API:
- get transformation matrix for (each) bar:
Dim mtx(3, 3) As Double,
Bar.GetLocalMtx mtx(0, 0), mtx(0, 1), mtx(0, 2), mtx(1, 0), mtx(1, 1), mtx(1, 2), mtx(2, 0), mtx(2, 1), mtx(2, 2)
- then transform results from GCS to LCS this way I guess:
'F(x,y,z)
newvals(0) = vals(0) * mtx(0, 0) + vals(1) * mtx(0, 1) + vals(2) * mtx(0, 2)
newvals(1) = vals(0) * mtx(1, 0) + vals(1) * mtx(1, 1) + vals(2) * mtx(1, 2)
newvals(2) = vals(0) * mtx(2, 0) + vals(1) * mtx(2, 1) + vals(2) * mtx(2, 2)
'M(x,y,z)
newvals(3) = vals(3) * mtx(0, 0) + vals(4) * mtx(0, 1) + vals(5) * mtx(0, 2)
newvals(4) = vals(3) * mtx(1, 0) + vals(4) * mtx(1, 1) + vals(5) * mtx(1, 2)
newvals(5) = vals(3) * mtx(2, 0) + vals(4) * mtx(2, 1) + vals(5) * mtx(2, 2)
I cannot make the API to work.
Dim mtx(3, 3) As Double
Bar.GetLocalMtx mtx(0, 0), mtx(0, 1), mtx(0, 2), mtx(1, 0), mtx(1, 1), mtx(1, 2), mtx(2, 0), mtx(2, 1), mtx(2, 2)
'transform results from GCS to LCS this way I guess:
'F(x,y,z)
newvals(0) = vals(0) * mtx(0, 0) + vals(1) * mtx(0, 1) + vals(2) * mtx(0, 2)
newvals(1) = vals(0) * mtx(1, 0) + vals(1) * mtx(1, 1) + vals(2) * mtx(1, 2)
newvals(2) = vals(0) * mtx(2, 0) + vals(1) * mtx(2, 1) + vals(2) * mtx(2, 2)
'M(x,y,z)
newvals(3) = vals(3) * mtx(0, 0) + vals(4) * mtx(0, 1) + vals(5) * mtx(0, 2)
newvals(4) = vals(3) * mtx(1, 0) + vals(4) * mtx(1, 1) + vals(5) * mtx(1, 2)
newvals(5) = vals(3) * mtx(2, 0) + vals(4) * mtx(2, 1) + vals(5) * mtx(2, 2)
I copy-past the code you wrote, but the function is not define. Are the F and M values forces of the bar?
In previous API that I attached, the worksheet "Forces" are made to extract forces from bars. Suppose the node displacements should work with RobotBarDisplacementServer...
Could you please use that example to demonstrate how to transform the rotations in local coordinates of the bar and put them on the sheet?
I cannot make the API to work.
I copy-past the code you wrote, but the function is not define. Are the F and M values forces of the bar?
"copy-past the code" - too easy 🙂 this was just example what and how to use, not exact code.
This is general rule how to multiply such vector by such matrix
First you need to find bar connected to node, then get matrix...
I will write you code.
Nice!
As I told you before, if the way to get that information is throw bar information, I will upgrade the worksheet4 "Displacements" in attachment. That get displacements for selected bars Take a look on that if you don't mind.
Thanks
Perfect!
For future developments, beside reactions values, nodal displacements according local axes of a defined support should be available.
Can't find what you're looking for? Ask the community or share your knowledge.