This VB code has the last arguments passed by reference:
'Some proprietary screws use empirical Z, and a few use the additional Ztip value
Z = EmpiricalZ(.ID, G_main, G_side, lm, ls, MainThetaInDeg, SideThetaInDeg, CD, CM, .Dia_Root, Ztip)
If Z = 0.0! Then 'There is no empirical Z value
If RunYieldModeEqsForFastener(fastType) Then
'Use NDS yield equations to calculate lateral capacity
Z = getYieldModeZ(.Dia_Root, ls, lm, G_main, G_side, .Fyb, MainMemberThickness, SideMemberThickness, _
MainThetaInDeg, SideThetaInDeg, CD, CM, ServLevel, YieldMode)
The returnded translation placed two "ref" keywords in a row creating an error. Deleting one fixes the problem.
//Some proprietary screws use empirical Z, and a few use the additional Ztip value
Z = EmpiricalZ(fastenerObj.ID, G_main, G_side, lm, ls, MainThetaInDeg, SideThetaInDeg, CD, CM, fastenerObj.Dia_Root,
ref ref Ztip);
//There is no empirical Z value
if (Z == 0f) {
if (RunYieldModeEqsForFastener(fastType)) {
//Use NDS yield equations to calculate lateral capacity
Z = getYieldModeZ(fastenerObj.Dia_Root, ls, lm, G_main, G_side, fastenerObj.Fyb, MainMemberThickness, SideMemberThickness, MainThetaInDeg, SideThetaInDeg,
CD, CM, ServLevel, ref ref YieldMode);