This project is a BTRF reader/writer that represent a model of these file. So it can write BTRF files, but you need to add data to blocks in order to write something in a file.
For more information about how to use it, see dll-client-cpp/main.cpp and dll-client-python/print-content.py for a python script.
The code is made using C++, so I don't expect so much contribution, but if someone want to contribute,
this project on github, make a branch to add your contribution and then post a
.If you don't have git, then using
might be easier than using the command line.So for now, @commit 714ab8e7aa, the DLL can read and write BTRF file from the BTRF model (BtrfRootBlock and BtrfBlock) and template files that describe the BTRF file (TmlFile and TmlBlock). I made a C interface (InterfaceC.cpp/h) to be able to use the DLL in python without too much things to do (in fact nothing more than what is done is needed, just open the .py file with the DLL in the current directory and the nx3 file and it should works)
So now, the needed part is the blender export plugin which will be made using python using calls to my library to add mesh/material data and then write the file.
(And for now, creating DIFK files will not be supported, but that might not be a problem for the client event if the previous file was not using the BTRF format)
So here the link to the project:

(It should compile under linux as well, or with minor changes)
Read the
file for information about how to compile this project using MSVC 2010 (or later) or MinGWIf you want a compiled version of this program, see there:

There is NO compiled version of any program that can convert a model file made with a 3D software like blender or 3DSMax to a Rappelz NX3 file. It will be released soon, but is not complete at this time. This project can read/write BTRF file, but the current missing thing is that it need to have a representation of what to write, and this is what is missing currently. (it will be implemented as a export script for blender 2.64 in python)
Also, read commit message to know what's changed. But as of 16/08/2013, there are now 2 python script, one that output the content of a NX3 file, and the other create a BTRF file with nx3_tm template (which is neither a nx3 file nor anything else, Rappelz can't read it as it does not contain required templates).
These python script are there to show an example of how the DLL works (it use the C interface, but the DLL provide also a C++ interface that can be used later (for me at least))
Another edit:
I added the export script for blender 2.64 (don't know if it will work for other blender version), exporting a cube an then reimporting it via DAE works.
Mesh have to have triangles, the default cube in blender use quads, so you need to go in the 3D viewport menus: mesh->faces->triangulate (or so)
I haven't tested if Rappelz works Ok with static meshes, that may work if the mesh doesn't have bones and animation data. (I also haven't tested if UV texture coords are correctly mapped)
Note that the compiled BTRFdom.dll has to be in the blender folder where blender.exe is.
And a third edit:
I added an import script, as the nx3 -> dae -> blender cause bones to have a wrong transformation matrix (the rotation was missing, that's why the axe on the last thread here was not with the right rotation)
So now, with the import script, blender can import directly nx3 files. 1hand_smallaxe.nx3 (or so) seems to fully imported correctly including mesh vertices, faces, textures, UV coords, weights, bones (with rotation).
I still need to do some more checks and verify if the exported axe has the right rotation.
The goal is to be able to do:
nx3 -> import -> blender -> export -> nx3
with the imported and exported nx3 files being identical.
The convertion from nx3 to dae will still be possible using BTRFReader.exe, but I will not improve it (as support for collada is in fact incomplete, and collada libraries or not well documented. And python is far easier about matrix arithmetics






