I'm not totally sure what you are trying to achieve...is the ground always flat? It is flat in the case you are describing (because it's a Box...why don't you use a Plane btw...?), but is this the normal case or just for testing? If your ground is not always flat, i think calcMinDistance() could be worth a try (remember to set collision modes accordingly). Another possibility would be to use a completely different data-structure to store the height of the ground at a specific position (a kind of heightmap). This could be faster than doing all on the polygonal level.
If the ground is always flat, there are two possibilities to get your objects "grounded". The first is: Try different values until is works... :wink:
The second is to obtain the dimensions of the object to do the translation accordingly. The problem is, that jPCT doesn't give you the object's dimensions. I can add this, if it would help (i.e. add the possibility to get the bounding box dimensions, which basically are the objects dimensions).