• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

P3D v4 Help needed with Turbine Exhaust Gas Temperature Gauge please

Messages
180
Country
unitedkingdom
I am trying to add Turbine Exhaust Gas Temperature gauge to my aircraft, but I am unable to locate an assignment for turbine engine EGT and have added the code below to my modelef but I am not seeing any needle movement in sim.

Please can anyone point me in the right direction to make a working EGT gauge.

XML:
<Animation name="P111A_EGT_Long"                      guid="a1ff21c1-1343-4a0e-a9ff-5ece73b09903" type="Sim" typeParam="AutoPlay"  length="100" typeParam2="P111A_EGT_Long" />

<PartInfo>
    <Name>P111A_EGT_Long</Name>
    <AnimLength>100</AnimLength>
    <Animation>
      <Parameter>
        <Code>
  (A:GENERAL ENG EXHAUST GAS TEMPERATURE:1, Rankine) 100 /
</Code>
      </Parameter>
    </Animation>
    <MouseRect>
      <TooltipID>TOOLTIPTEXT_AIRSPEED_MACH</TooltipID>
    </MouseRect>
  </PartInfo>

NlhVC0.jpg


CRklDK.jpg
 
Last edited:

DragonflightDesign

Resource contributor
Messages
1,088
Country
northernireland
I don't do XML, but I do know there's a calculation error in there. To convert degrees rankine to degrees celcius you need to do the following:-
Code:
degC = (degRankine - 491.67) / 1.8
I'd love to go back in time and strangle Messrs. Rankine and Fahrenheit.
 

tgibson

Resource contributor
Messages
11,338
Country
us-california
Why not just use the units of celsius instead of rankine in the FS variable?
 
Last edited:

DragonflightDesign

Resource contributor
Messages
1,088
Country
northernireland
That would work. I have noted changing the official units to something more sensible in the last version of sd2gau.
 
Messages
440
Country
us-wisconsin
Animate the needle KF 0 at 4, KF 100 at 7.6 then..
XML:
<Code>(A:GENERAL ENG EXHAUST GAS TEMPERATURE:1, Celsius) 400 - 3.6 / 0 max 100 min</Code>
There is a post from Fr. Bill that explains the code, will try to find..
Found - https://www.fsdeveloper.com/forum/threads/engine-gauge-needle-animation.440066/post-771861

400 - This will give your lower limit at 400* C to equal KF 0
The range is 360* C from 400* C (760 - 400) Divide by 3.6 so 760* C equals 100 KF : 400 - 3.6 /
Finally, limit the code so the minimum is 0 and the maximum is 100 for keyframes: 0 max 100 min
Note - max/min are comparators, they return the max or min of the 2 compared numbers. They are not pure limiters. EX.
-345 0 max will return 0 as it is the maximum of the 2 numbers.
4567 100 min will return 100 as it is the minimum of the 2 numbers

To be complete, don't forget to change your tooltip -
<TooltipID>TOOLTIPTEXT_AIRSPEED_MACH</TooltipID>
TOOLTIPTEXT_EGT_CELSIUS should work for you
 
Last edited:
Messages
180
Country
unitedkingdom
Thank you all very much for your help. I have not really seen Rankine used very much only in text books and didn't know that I could use a different scale from what was shown in the SDK.
 
Messages
180
Country
unitedkingdom
I added the code for the EGT gauge but still do not see any needle movement.

I have however noticed that I am getting an error code in Blender when I export the model:

AttibuteError: ‘NoneType’ object has no attribute ‘attrib’
 
Messages
180
Country
unitedkingdom
I still don't seem to be seeing any movement of the EGT needle. Also, my RPM needles are rotating ok, but stopping at the 12 o 'clock position. I have tried adding a %, but Blender2FSX does not seem to like that with the /.

3tWxm0.jpg


XML:
 <Animation name="P111A_N1_RPM_cents_Long"                      guid="710b6e10-89da-43f5-c221-3ba1434dd8e7" type="Sim" typeParam="AutoPlay"  length="100" typeParam2="P11A_N1_RPM_cents_Long" />
    <PartInfo>
    <Name>P111A_N1_RPM_cents_Long</Name>
    <AnimLength>100</AnimLength>
    <Animation>
      <Parameter>
        <Code> (A:GENERAL ENG RPM:1, rpm) 100 /</Code>
      </Parameter>
    </Animation>
    <MouseRect>
      <TooltipID>TOOLTIPTEXT_N1_RPM</TooltipID>
    </MouseRect>
  </PartInfo>

  <Animation name="P111A_N1_RPM_cents_Short"                      guid="ae798a56-ef77-4480-d7bd-b1c7e0e41533" type="Sim" typeParam="AutoPlay"  length="100" typeParam2="P111A_N1_RPM_cents_Short" />
    <PartInfo>
    <Name>P111A_N1_RPM_cents_Short</Name>
    <AnimLength>100</AnimLength>
    <Animation>
      <Parameter>
        <Code> (A:GENERAL ENG RPM:1, rpm) 1000 /</Code>
      </Parameter>
    </Animation>
    <MouseRect>
      <TooltipID>TOOLTIPTEXT_N1_RPM</TooltipID>
    </MouseRect>
  </PartInfo>

   <Animation name="P111A_EGT_Long"                      guid="a1ff21c1-1343-4a0e-a9ff-5ece73b09903" type="Sim" typeParam="AutoPlay"  length="100" typeParam2="P111A_EGT_Long" />
    <PartInfo>
    <Name>P111A_EGT_Long</Name>
    <AnimLength>100</AnimLength>
    <Animation>
      <Parameter>
        <Code> (A:GENERAL ENG EXHAUST GAS TEMPERATURE:1, Celcius) 400 - 3.6 / 0 max 100 min</Code>
      </Parameter>
    </Animation>
    <MouseRect>
      <TooltipID>TOOLTIPTEXT_EGT_CELSIUS</TooltipID>
    </MouseRect>
  </PartInfo>
 
Last edited:

tgibson

Resource contributor
Messages
11,338
Country
us-california
Hi,

If you want your needle to spin around more than once, you will need to do something different. Currently it reaches keyframe 100 at 1000 rpm (RPM/100) and can't do anything else - you didn't tell it to.

Some ideas:

1. Model 10 needles and make each one visible between 0-1000, 1000-2000, etc. Modify the code so they spin around between the rpm numbers they are visible.
2. Model only one needle and make it spin to 1000 rpm, quickly reset to 0 (hopefully so fast it won't be noticed), and then spin again between 1000 and 2000 rpm. I think you can do this using modulo arithmetic. Modulo returns the remainder of one number divided by another. So if you modulo the rpm by 1000 and multiply by 100, the value returned will go between 0 and 100 each time you go up another 1000. Vary these values slightly if you need a better looking animation.

It would be something like this, but this is not tested.

XML:
       <Code> (A:GENERAL ENG RPM:1, rpm) 1000 % 100 * </Code>
 
Messages
180
Country
unitedkingdom
Thank you for your help. EGT gauge now displaying correctly in sim, but still working on getting the RPM needles working.

XML:
  <Animation name="P111A_EGT_Long"                      guid="a1ff21c1-1343-4a0e-a9ff-5ece73b09903" type="Sim" typeParam="AutoPlay"  length="100" typeParam2="P111A_EGT_Long" />
    <PartInfo>
    <Name>P111A_EGT_Long</Name>
    <AnimLength>100</AnimLength>
    <Animation>
      <Parameter>
        <Code> (A:GENERAL ENG EXHAUST GAS TEMPERATURE:1, Celsius) 400 - 3.6 / 0 max 90 min </Code>
      </Parameter>
    </Animation>
    <MouseRect>
      <TooltipID>TOOLTIPTEXT_EGT_CELSIUS</TooltipID>
    </MouseRect>
  </PartInfo>
 

tgibson

Resource contributor
Messages
11,338
Country
us-california
PS. Perhaps another way to handle needles that spin more than one revolution would be to animate with more keyframes. If you have a plane with RPMs between 0 and 3000 RPM you could have 300 keyframes, and animate the needle to spin 3 times around (one time per 100 keyframes).
 
Messages
180
Country
unitedkingdom
Thank you for all your help. I now have the RPM needles working. I made two revolutions over 200 frames with 100 frames per revolution for the 1,000 RPM and 10,000 RPM needles.

I could not get the long needle to work for a while until I noticed that I had a typo in the typeParam2 name.

XML:
 <Animation name="P111A_N1_RPM_Long"                      guid="710b6e10-89da-43f5-c221-3ba1434dd8e7" type="Sim" typeParam="AutoPlay"  length="200" typeParam2="P111A_N1_RPM_Long" />
    <PartInfo>
    <Name>P111A_N1_RPM_Long</Name>
    <AnimLength>200</AnimLength>
    <Animation>
      <Parameter>
        <Code> (A:GENERAL ENG RPM:1, rpm) 100 /</Code>
      </Parameter>
    </Animation>
    <MouseRect>
      <TooltipID>TOOLTIPTEXT_N1_RPM</TooltipID>
    </MouseRect>
  </PartInfo>

  <Animation name="P111A_N1_RPM_Short"                      guid="ae798a56-ef77-4480-d7bd-b1c7e0e41533" type="Sim" typeParam="AutoPlay"  length="200" typeParam2="P111A_N1_RPM_Short" />
    <PartInfo>
    <Name>P111A_N1_RPM_Short</Name>
    <AnimLength>200</AnimLength>
    <Animation>
      <Parameter>
        <Code> (A:GENERAL ENG RPM:1, rpm) 1000 /</Code>
      </Parameter>
    </Animation>
    <MouseRect>
      <TooltipID>TOOLTIPTEXT_N1_RPM</TooltipID>
    </MouseRect>
  </PartInfo>
 
Top