There is an open source Fanuc 31i adapter that is available if you have the FANUC SDK and VS 2010. It is production quality and being used in many shops right now. The source can be found at http://github.com/mtconnect/adapter .
I can also be provide as a binary for 0iD, 16, 18, 21, 30, and 31. For more information, please contact email@example.com . The latest version is capable of supporting multi path machine tools and some additional features.