Edit: the 3DxInput SDK is deprecated.
Windows developers are advised to use interfaces that are an integral part of the platform (such as Raw Input) or use the 3DxWare SDK (Win32/MFC).
3DxInput (TDxInput) is a COM server. Sometimes developers are working with older code bases that don't support COM. Some languages or development environments don't support it well. Some developers are not familiar with it.
Rather than add COM to an old application, another option is to use the older 3DxWare Windows SDK. This is a straightforward Win32 and/or MFC SDK. It comes with good online documentation and examples. It has all the same capabilities as the 3DxInput COM server (more in fact), supports the same devices and is kept updated. It does use a slightly different axes arrangement.
Contact apisupport-win at 3dconnexion.com to get the 3DxWare Windows SDK.
Other options? What if I don't want anything proprietary from 3Dconnexion?
You can use several Microsoft APIs. Raw Input, DirectInput and HID all work. HID doesn't require a Window; sometimes that's important.
There are examples of each of these on our ftp site:
These APIs all have their good points and bad. The 3Dx APIs are targeted just to our devices and are likely to be tied in better with our other 3Dx software. You often have to do a fair bit of work with the MS APIs. OTOH, if you already have support for their APIs in your code (e.g., DirectInput in a game), it's easier to add minimal support for 3Dx devices via that API. It may be difficult to add advanced support.
We are only interested in making your integration go as easy as possible. We provide the best tools and advice we can to help.
The 3Dx Software Development Team