Should I start a Contact Points thread?

Sbob

SOH-CM-2026
:unsure:

I see this A LOT with both freeware and payware aircraft. For some reason WE insist on making the Contact Points section way too complicated and its usually easy to find bad CP data in some fairly outstanding aircraft. Everything from pogo stick landing gear springs to missing or mis-placed data.

Would you folks want me to keep this thread going while I show how to fix bad CP lines and how they should be laid out? :geek:
 
Last edited:
Not a problem. :wiggle:
I'll also save some ire for programs like Air Wrench that do this stuff automatically and make it worse. :geek:
I'll be back after I make some coffee.
 
Well, since every big mistake starts with an introduction, I may as well get this thing rolling. :wiggle:

The [contact points] section is always found somewhere in the aricraft.cfg file for every (FS9 and FS2002) plane.
In most cases, its a jumble of numbers separated by commas. I'm using the original CP section from the AlphaSim "Future Lynx" helo as an example and it looks like this:

[contact_points]
static_pitch = 1.3
static_cg_height = 4
max_number_of_points = 6

point.0 = 1, 6.7, 0, -4.45, 1574.80315, 0, 0.549287, 37.02, 1, 1, 0.858708, 3.2, 3.2, 0, 0, 0
point.1 = 1, -4.2, -5, -4.7, 1574.80315, 1, 0.549287, 0, 1.5, 1, 0.408672, 4, 4, 2, 0, 0
point.2 = 1, -4.2, 5, -4.7, 1574.80315, 2, 0.549287, 0, 1.5, 1, 0.408672, 5, 5, 3, 0, 0
point.3 = 2, 0, -20, 10.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0
point.4 = 2, 0, 20, 10.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0
point.5 = 2, -31, 0, 1, 787.401575, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0
gear_system_type=0

This CP is actually pretty good. Every number isn't followed by a decimal point and twelve more digits.
CFG files that are generated by programs usually have this problem.

FS really doesn't care if these numbers follow the SDK guidelines. FS and your hardware will happily process them with no hick ups.
The problems start when YOU want to change something. :dizzy:

Its MUCH easier (in my experience) to make those columns of numbers look like columns.
Spend a few minutes and get everything lined up. :wiggle:
FS doesn't care that much when it comes to spaces. You can space all those numbers out between the commas. It makes it much easier to find (and fix) mi9stakes.

Next, I'll get into what all of those columns mean and which columns only need a single digit.
 
I'm posting what I call "the preamble". All it does is describe what each CP column controls:

//0 Class <0=none,1=wheel, 2=scrape, 3=skid, 4="float", 5=???>
//1 Longitudinal Position (feet)
//2 Lateral Position (feet)
//3 Vertical Position (feet)
//4 Impact Damage Threshold (Feet Per Minute)
//5 Brake Map (0=None, 1=Left, 2=Right)
//6 Wheel Radius (feet)
//7 Steer Angle (degrees)
//8 Static Compression (feet) (0 if rigid)
//9 Max/Static Compression Ratio
//10 Damping Ratio (0=Undamped, 1=Critically Damped)
//11 Extension Time (seconds)
//12 Retraction Time (seconds)
//13 Sound Type
//14 Airspeed limit for retraction (KIAS)
//15 Airspeed that gear gets damage at (KIAS)

You can copy and paste "the preamble" and add it below the [contact points] line.
Those of you who've spent time wrenching on FS aircraft know that those "//" means "ignore this stuff".
Your PC won't touch it, its only there for you.

Column 0, Class defines what each LINE controls. "Wheel" defines the tire that actually touches the ground. "Scrape" defines points of the plane that would touch the ground if you forgot to drop the gear or did a ground loop. "Skid" is almost always for helos or experimental aircraft. A skid always generates a LOT of friction. "Float" could also be thought of as "water float". If you've got pontoons or a Fuse that's designed to float in water, you'll use this variable. The last variable, 5, is rarely seen. I think it defines special points that are found in the MDL file.

Columns 1, 2, and 3 define the distance relative to the MDL file's Center Of Gravity. Think X, Y, and Z co-ordinates measured in FEET. Usually, you'll use column 3 to set the contact point of the tire to the ground. C3 is ALWAYS negative since airplanes land on their gear and not on their roof. This variable used to confuse me, its best to ignore the minus sign and concentrate on the numerical length of the gear strut or skid. Bigger number means more distance.

Columns 4, 14, and 15 are only used if you have Crash Damage turned ON in FS.

Column 5 defines which gear struts have brake rotors. The LEFT and RIGHT part is used with differential brakes.

Column 6 defines the tire radius in feet. Radius is HALF the tire diameter, so pay attention to this one. I've noticed that a lot of designers tend to ignore this variable and make up for it in Column 3. The truth is that BOTH of them work together. If you're doing some low-hover stuff in a chopper that uses wheels and the wheels keep turning while they're off the ground, this is the culprit.

Column 7 is the steer angle and is always used for the nose or tail gear, although it could also be used with the mains if you want to try something different. :geek: If you have an aircraft that needs a full county to turn 180 degrees on a ramp, try adding 10-20 degrees to this number.

Columns 8, 9, and 10 will be covered in the next post. Get them right and Sbob's your Uncle. :giggle: Get them wrong and get ready to take a ride. :eek: Half the time, I think the designers get this one wrong because its buried so deep in the line. But, this is almost always something I wind up changing.

Columns 11 and 12 should be easy to figure out. I'm not 100% sure if they influence the MDL file animation directly.

Also, note that columns 0, 5, and 13 are only supposed to be a single digit. All of that ".000000000" stuff is wasted space.

Column 13 is linked to the GEAR TYPE sound value used in other parts of the .cfg file. I rarely play with this variable.

Wrapping up this post, consider for a moment the difference between 3.5 and 3.48992563 feet. Using your finger and thumb, you couldn't show me what this difference looks like. 3.5 is easy to grasp and visualize. The other number? Not so much. High precision is great, but only when its practical.
 
Last edited:
OK, so let's dive into columns 8, 9, and 10.

They are, by definition:

//8 Static Compression (feet) (0 if rigid)
//9 Max/Static Compression Ratio
//10 Damping Ratio (0=Undamped, 1=Critically Damped)

But, what the heck do these numbers really do and how do you adjust them? I've been working on this stuff longer than I care to mention and I've never really seen a good write-up on what's supposed to be happening. All I know is that if your airplane has a bad habit of tipping over or gets out of shape and starts to bounce off the ground uncontrollably, its one of these columns that's doing it.

So, here's my "take" of what's going on.
Static Compression (#8) controls how much the gear sags when the plane is on the ground. Its a linear distance and its best to think of it as how far the gear olio/strut can travel before it bottoms out. It also depends on how much the plane and the fuel weight effects the gear. When the plane is empty the gear tends to stand tall. At gross weight the plane will sag closer to the ground. While this is the easiest variable of "the terrible three" to understand and adjust, I have a gut feeling that this variable is what drives FS nuts if that distance gets exceeded. IE, you have a shock absorber or a spring with 1 foot of travel and you just crushed it to 14 inches. Bad things are bound to happen.

Max/Static Compression Ratio (#9). This one should be easy. Except it isn't. :indecisiveness: If you take the name at face value, it should be a number greater than 1. If you look at your aircraft.cfg files, NO ONE uses numbers greater than 1. "Static" says that this variable comes into play when the plane is sitting still. Beyond that, your guess is as good as mine. :indecisiveness:

Last up is Compression Ratio (#10). There's a hint that this number should fall between 0 and 1. It rarely does. I think of this number more as a "damping ratio". Kind of like how a shock absorber can either feel "soft" or "firm". The lower the number, the softer the feel. One thing I know for certain, if you're dealing with a helo that has tires on it and it keeps "flipping out" and bouncing into the air, THIS number is always set too high.

I'm thinking this is enough for tonight. :wiggle:
Later on, I'll come up with some examples of When Airplanes and Helos Go Bad and how I fixed them. The key I've found to fixing problems in columns 8 to 10 is that "softer/less is usually better" and to try making small changes then test them out and see what becomes different. There's a LOT of "lather, rinse, repeat" when tuning this stuff out. I'll also show you how I do the basic lay-out for a [contact points] section to make it easy to read.
 
OK, I think I understand a little bit more. I also managed to make a plane with wheels landing ok on the runway, I even managed to get a floatplane landing in an acceptable way on water, but my problem is an AMPHIBIAN. It lands ok on the ground and it sinks nose down like a brick on water OR it lands on water and gets nose over head on the ground. But there are lots of flightsim-amphibians who are doing ok, so what am I doing wrong?

hertzie.
 
Thank you Uncle Sbob!
Brilliant.

Thanks, but we ain't done yet. :wiggle:
I just took a break for the night.
There are still some variables above those contact points lines that we usually don't mess with that can cause instability.
Plus, we need to look at those gear-and-scrape and float points that are defined as Class 2, 4, etc.
After that, we can look at the entire [contact points] section as a whole.

hertzie, imagine your airplane as a bar stool with long legs. It sounds like either you have a "high" center of gravity or else those long legs are too close together. Luckily, I have experience falling off bar stools. :giggle:
 
Let's take a "break" for one minute and look at a fairly complex [contact points] section for the Vertavia Sea King. This is not only a chopper but it also has retracting gear AND it floats on water. :geek: Keep in mind that SOH's forum uses different rules when it comes to displaying spaces.

[contact_points]
static_pitch = -2.0
static_cg_height = 6.35
max_number_of_points = 10

point.0 = 1, -20.9, 0.0, -7.3, 2500, 0, 0.75, 50, 0.49, 1.5, 0.8, 0, 0, 0, 0, 140
point.1 = 1, 3.4, -6.9, -6.8, 2500, 1, 1.1, 0, 0.59, 1.5, 0.7, 3, 3, 2, 60, 140
point.2 = 1, 3.4, 6.9, -6.8, 2500, 2, 1.1, 0, 0.59, 1.5, 0.7, 3, 3, 3, 60, 140

point.3 = 4, -27.0, 0.0, -5.1, 2500, 0, 0.0, 0, 0.85, 2.5, 0.65, 0, 0, 0, 0, 0
point.4 = 4, 3.9, -8.8, -3.7, 2500, 0, 0.0, 0, 0.85, 2.5, 0.65, 0, 0, 0, 0, 0
point.5 = 4, 3.9, 8.8, -3.7, 2500, 0, 0.0, 65, 0.85, 2.5, 0.65, 0, 0, 0, 0, 0

point.6 = 2, 0.0, -34.0, 10, 500, 0, 0.0, 0, 0.0, 0.0, 0.0, 0, 0, 5, 0, 0
point.7 = 2, 0.0, 34.0, 10, 500, 0, 0.0, 0, 0.0, 0.0, 0.0, 0, 0, 6, 0, 0
point.8 = 2, -53.9, 0.0, 4.0, 500, 0, 0.0, 0, 0.0, 0.0, 0.0, 0, 0, 9, 0, 0
point.9 = 2, 20.3, 0.0, -2.0, 1600, 0, 0.0, 0, 0.0, 0.0, 0.0, 0, 0, 4, 0, 0
gear_system_type=0
 
Last edited:
So, the spacing between variables is a little goofy. I'll do the same thing as a text file and post it here as an attachment. It will be easier to follow along. Notice those first-digit "class" variables. Class 1 is for the landing gear, Class 2 is the scrape points, Class 4 is the "float" points on water.

Some important stuff to notice- The Sea King has three struts for its landing gear (two main gear and a tail wheel). It also uses three "float points" when its on the water. What stands out is that it uses FOUR points to define its Scrape Points. :unsure: Four points will always be MORE stable than three.

Now, compare the X, Y, and Z co-ords (first three groups after the CLASS digit). The Float Points should match the landing gear BUT they are spaced farther apart. :geek: This makes it more stable on the water.

Some other stuff I glossed over before this, check out the static_cg_height of 6.35. Compare that to the Z co-ords.
Now, check out the static-pitch. Its set to minus two degrees (ie, nose down). This variable is trying to force the nose DOWN when it wants to sit level on the gear. :unsure:

So, why is all of this stuff important? I really DON'T KNOW but it WORKS. Get used to spacing out all of those variables in the "point" lines so they form easy to identify columns. Always check out those Y and Z co-ords. The Y, especially, should have a SYMETRY compared to the other lines (with the addition of a minus sign to move the same distance away from the CG but on the other side).
 

Attachments

  • C-P text.zip
    413 bytes · Views: 0
Back
Top