How do I programatically determine the units returned by OpenSTAAD when retrieving the moments Mx,My,Mxy for plates. I have included the functions like "etOutputUnitForMoment", and "GetOutputUnitForStress", but they return a number is there a table that documents the numbers that are returned. I can change the "Force Units" in the file and get different results, but know way to understand what units are returned without coing into STAAD to check.
I would also like an answer to this
Please refer to the below wiki link
Unit System of OpenSTAAD
Thanks, that gives me the base unit system, my code returns the values below which I also need to convert to a unit:
strOutputUnitForDisplacement = ObjOPENSTAAD.Output.GetOutputUnitForDisplacement = 0strOutputUnitForRotation = ObjOPENSTAAD.Output.GetOutputUnitForRotation = 16strOutputUnitForForce = ObjOPENSTAAD.Output.GetOutputUnitForForce = 3strOutputUnitForMoment = ObjOPENSTAAD.Output.GetOutputUnitForMoment =4
The correct syntax of the function is given below
Dim strOutputUnitForDisplacement As StringDim strOutputUnitForRotation As StringDim strOutputUnitForForce As StringDim strOutputUnitForMoment As String
objOpenSTAAD.Output.GetOutputUnitForDisplacement strOutputUnitForDisplacementobjOpenSTAAD.Output.GetOutputUnitForRotation strOutputUnitForRotationobjOpenSTAAD.Output.GetOutputUnitForForce strOutputUnitForForceobjOpenSTAAD.Output.GetOutputUnitForMoment strOutputUnitForMoment
But these functions returns output unit used by the GUI as a string.
If you want the unit of the displacement for function GetNodeDisplacements or the unit of the force for function GetIntermediateMemberForcesAtDistance, then the unit are always in BASE UNIT of the structure.
So, function GetOutputUnitForDisplacement returns the unit used by the GUI and the unit of the displacement for function GetNodeDisplacements are in BASE UNIT of the structure.