Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Rotation

Featured Replies

Good Morning!

 

I am still working on my T-6B project and I am converting some gauges I wrote in the old FS9 syntax to the FSX syntax except now the rotation of the needles won't work. I used the same non linearity values but the needles just seem to rotate aimlessly, your help is much appreciated!

 

-Matt Chase

Matt

 

What needle function ?

With out the code that you are using it will be impossible to help.

Could you please post the code you are using , the portion covering the needles.

Place the code in the double ended code feature of the reply menu.

 

 

Cheers

Karol

 

Matt

 

Here is a sample.

 

Cheers

Karol

<Element id="Element">
 <FloatPosition>325,240</FloatPosition>
 <Visibility>(A:AMBIENT WIND VELOCITY, knots) 1 ></Visibility>
 <Polygon id="Polygon">
  <Bright>True</Bright>
  <LineWidth>1.5</LineWidth>
  <LineColor>0x00EE00</LineColor>
  <FillColor>0x00EE00</FillColor>
  <Point id="Point">
   <FloatPosition>0,18</FloatPosition>
  </Point>
  <Point id="Point">
   <FloatPosition>0,0</FloatPosition>
  </Point>
  <Point id="Point">
   <FloatPosition>3,0</FloatPosition>
  </Point>
  <Point id="Point">
   <FloatPosition>0,-14</FloatPosition>
  </Point>
  <Point id="Point">
   <FloatPosition>-3,0</FloatPosition>
  </Point>
  <Point id="Point">
   <FloatPosition>0,0</FloatPosition>
  </Point>
  <Axis id="Axis">
   <FloatPosition>0,0</FloatPosition>
  </Axis>
 </Polygon>
 <Rotation id="Rotation">
  <Expression id="Expression">
					    <Script>(A:AMBIENT WIND DIRECTION, radians) (A:PLANE HEADING DEGREES GYRO, radians) - (A:GPS MAGVAR, radians) - pi +</Script>	  
  </Expression>
 </Rotation>
   </Element>

  • Author

Karol thanks for your reply, this is the code I am using,

 

<?xml version="1.0" encoding="UTF-8"?>
<SimBase.Document Type="AceXML" version="1,0" id="TorqueGauge">
   <Descr>AceXML Document</Descr>
   <Filename>TorqueGauge.xml</Filename>
   <SimGauge.Gauge id="TorqueGauge" ArtDirectory=".">
    <FloatPosition>0.000,0.000</FloatPosition>
    <Size>458,384</Size>
    <Image id="Torque" Name="TorqueGauge.bmp">
	    <Transparent>True</Transparent>
    </Image>
    <Element id="Torque Readout">
	    <FloatPosition>200.000,260.000</FloatPosition>
	    <GaugeText id="Torque Readout">
		    <Bold>False</Bold>
		    <Bright>True</Bright>
		    <FontColor>white</FontColor>
		    <FontFace>Glass Gauge</FontFace>
		    <FontHeight>30</FontHeight>
		    <GaugeString>%((A:TURB ENG1 MAX TORQUE PERCENT,PERCENT))%!3d!</GaugeString>
		    <HorizontalAlign>LEFT</HorizontalAlign>
		    <Size>140,45</Size>
		    <Transparent>True</Transparent>
	    </GaugeText>
    </Element>
    <Element id="Needle">
	    <FloatPosition>230,250</FloatPosition>
	    <Image id="needle" Name="needle.bmp">
		    <Axis>8.5,140</Axis>
	    </Image>
	    <Rotation id="rotate">
		    <Expression id="Expression">
<!--				    <Minimum>0.000</Minimum>
			    <Maximum>110.000</Maximum>-->
			    <Script>(A:TURB ENG1 MAX TORQUE PERCENT,PERCENT)</Script>
		    </Expression>
	    <NonlinearityTable id="gaugerotation">
		    <NonlinearityEntry id="NonlinearityEntry">
			    <ExpressionResult>-15.000</ExpressionResult>
			    <FloatPosition>110,310</FloatPosition>
		    </NonlinearityEntry>
		    <NonlinearityEntry id="NonlinearityEntry">
			    <ExpressionResult>0.000</ExpressionResult>
			    <FloatPosition>110,310</FloatPosition>
		    </NonlinearityEntry>
		    <NonlinearityEntry id="NonlinearityEntry">
			    <ExpressionResult>50.000</ExpressionResult>
			    <FloatPosition>235,37</FloatPosition>
		    </NonlinearityEntry>
		    <NonlinearityEntry id="NonlinearityEntry">
			    <ExpressionResult>110.000</ExpressionResult>
			    <FloatPosition>321,310</FloatPosition>
		    </NonlinearityEntry>
	    </NonlinearityTable>
	    </Rotation>
    </Element>
   </SimGauge.Gauge>
</SimBase.Document>

 

-Matt Chase

Matt

 

Check the "Image id" , needs to be a complete repeat , see below script , it's from the MFD in the default

FSX 737-800 , a treasure trove of script examples.

 

Cheers

Karol

<Element id="Course Pointer">
 <FloatPosition>130.000,142.344</FloatPosition>
 <Visibility>(L:EFIS Mode, number) 2 !=</Visibility>
- <Image id="mfd_centered_selected_course_pointer.bmp" Name="mfd_centered_selected_course_pointer.bmp">
 <Transparent>True</Transparent>
 <Axis>7.000,85.344</Axis>
 <Bright>True</Bright>
 </Image>
- <Rotation id="Rotation">
- <Expression id="Expression">
 <Script>(A:NAV1 OBS,degrees) (A:Plane heading degrees gyro,degrees) - dgrd</Script>
 </Expression>
- <FailureTable id="FailureTable">
 <Failure id="Failure" />
 </FailureTable>
 </Rotation>
 </Element>

Matt

 

I have not done a rotation , only a shift , I presume you have tried it with Min/Max not commented out .

Below shift script works.

Try transparent and bright .

 

Cheers

Karol

<Element id="terrain">
			    <FloatPosition>34.000,29.000</FloatPosition>
-				   <Image id="HILLS.bmp" Name="HILLS.bmp">
			    <Transparent>True</Transparent>				  
			    <Bright>True</Bright>
			    </Image>
 <Shift id="Shift">
 <Expression id="Expression">
 <Minimum>0.000</Minimum>
 <Maximum>500.000</Maximum>
 <Script>(A:RADIO HEIGHT,feet)</Script>
 </Expression>
 <NonlinearityTable id="NonlinearityTable">
 <NonlinearityEntry id="NonlinearityEntry">
 <ExpressionResult>0.000</ExpressionResult>
 <FloatPosition>34.000,64.000</FloatPosition>
			    </NonlinearityEntry>
 <NonlinearityEntry id="NonlinearityEntry">
 <ExpressionResult>200.000</ExpressionResult>
 <FloatPosition>42.000,64.000</FloatPosition>
			    </NonlinearityEntry>
 <NonlinearityEntry id="NonlinearityEntry">
 <ExpressionResult>300.000</ExpressionResult>
 <FloatPosition>49.000,64.000</FloatPosition>
			    </NonlinearityEntry>
 <NonlinearityEntry id="NonlinearityEntry">
 <ExpressionResult>400.000</ExpressionResult>
 <FloatPosition>58.000,64.000</FloatPosition>
			    </NonlinearityEntry>
 <NonlinearityEntry id="NonlinearityEntry">
 <ExpressionResult>500.000</ExpressionResult>
 <FloatPosition>62.000,64.000</FloatPosition>
			    </NonlinearityEntry>
 </NonlinearityTable>
 </Shift>
		    </Element>

  • Author

Karol, thank you so much for the response, I changed the id and it is still having the same issue, even though the text display is outputing the right torque percentage.

 

-Matt Chase

 

I can get my shifts to work fine, it just seems to be the Rotation, I have the same problem with the VSI i created as well, I really appreciate your help.

 

-Matt Chase

  • Author

I solved the issue, it just wanted the <PointsTo> value, ughh, very frustrating, thanks for your help!

Matt

 

Glad you got it to work , I got the following to work and tested it in a freeware PC-7.

I did not try a "Delay" as it's not too sensative.

 

Cheers

Karol

<?xml version="1.0" encoding="UTF-8"?>
<SimBase.Document Type="AceXML" version="1,0" id="TorqueGauge">
<Descr>AceXML Document</Descr>
<Filename>TorqueGauge.xml</Filename>
<SimGauge.Gauge id="TorqueGauge" ArtDirectory=".">
 <FloatPosition>0.000,0.000</FloatPosition>
 <Size>458,384</Size>
 <Image id="Image" Name="TorqueGauge.bmp">
  <Transparent>True</Transparent>
 </Image>
 <Element id="Torque Readout">
  <FloatPosition>200.000,260.000</FloatPosition>
  <GaugeText id="Torque Readout">
   <Bold>False</Bold>
   <Bright>True</Bright>
   <FontColor>white</FontColor>
   <FontFace>Glass Gauge</FontFace>
   <FontHeight>30</FontHeight>
   <GaugeString>%((A:TURB ENG1 MAX TORQUE PERCENT,PERCENT))%!3d!</GaugeString>
   <HorizontalAlign>LEFT</HorizontalAlign>
   <Size>140,45</Size>
   <Transparent>True</Transparent>
  </GaugeText>
 </Element>
 <Element id="Needle">
  <FloatPosition>230,250</FloatPosition>
  <Image id="Image" Name="needle.bmp">
  <Transparent>True</Transparent>
   <Axis>8.5,140</Axis>
  </Image>
  <Rotation id="Rotation">
 <Expression id="Expression">
 <Minimum>0.000</Minimum>
 <Maximum>100.000</Maximum>
 <Script>(A:TURB ENG1 MAX TORQUE PERCENT,PERCENT)</Script>
 </Expression>
 <NonlinearityTable id="gaugerotation">
   <NonlinearityEntry id="NonlinearityEntry">
 <ExpressionResult>-15.000</ExpressionResult>
 <FloatPosition>110,310</FloatPosition>
   </NonlinearityEntry>
   <NonlinearityEntry id="NonlinearityEntry">
 <ExpressionResult>0.000</ExpressionResult>
 <FloatPosition>110,310</FloatPosition>
   </NonlinearityEntry>
   <NonlinearityEntry id="NonlinearityEntry">
 <ExpressionResult>50.000</ExpressionResult>
 <FloatPosition>235,37</FloatPosition>
   </NonlinearityEntry>
   <NonlinearityEntry id="NonlinearityEntry">
 <ExpressionResult>110.000</ExpressionResult>
 <FloatPosition>321,310</FloatPosition>
   </NonlinearityEntry>
  </NonlinearityTable>
 </Rotation>
 </Element>
</SimGauge.Gauge>
</SimBase.Document>

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.