It’s hitpoints, but bashing damage has to be high enough to get through (fire damage doesn’t). If damage is physical (only bashing at the moment), lower than 20 and lower than part hp / 10, it is ignored. This isn’t damage reduction, so 20 damage hit will still deal 20 damage and 19 damage hit will either deal 19 or 0 damage.
When a car tile is bashed, a random part on it is picked to be damaged. If there is an armor there, the damage for part is halved (before the damage threshold above), but the armor takes a hit for full damage. Roof and on-roof (turrets, solars) receive full damage even when armored (armor still takes damage).
Collisions are a bit different: collision will only target one part and will always pick armor if it exists. The part picked depends on how was the vehicle created (it isn’t random and may not be easily predictable).
However if the damage gets too high (above 100) all vehicle frames take a hit with damage depending on initial damage and distance from collision point. This frame damage can make the vehicle hilariously fragile without actually damaging any non-structural parts, to the point where a cat could bite an engine off it (without actually scratching the engine).