Can you test it for me in your module using cs?
Do you mean my modified blender2cal3d_2.py ? I'm not sure that that'd help much as the changes I made to it were only to accomodate my exact convention of naming bones. Also, the scripts I wrote to clean up actions and such are based on those conventions also. For example, the script I use to clean up my actions is as follows:
#!BPY
"""
Name: 'Clean Actions for Torque DTS Export'
Blender: 235
Group: 'Animation'
Tooltip: 'Deletes Null/IK bone channels for baked actions.'
"""
import string
from string import *
import Blender
from Blender import Armature
from Blender.Armature import NLA
print
print '==============cleanForDts.py-start====================='
print
actions = NLA.GetActions ()
for key in actions.keys ():
if key [0] == 'b' and (find (uppercase, key [1]) >= 0 or key[1] == '_'):
action = actions [key]
channels = action.getAllChannelIpos ()
print
print 'Action:', key
# Remove control, IK and Null channels.
#
print 'Cleaning action of control, IK and null channels:'
for chan in channels.keys ():
if chan [:3] == "IK_":
print '\tremoving ', chan, '<<<<<< IK_'
action.removeChannel (chan)
elif chan == "FacialCtrlBase":
print '\tremoving ', chan, '<<<<<< FacialCtrlBase'
action.removeChannel (chan)
elif find (chan, 'Null') >= 0:
print '\tremoving ', chan, '<<<<<< Null'
action.removeChannel (chan)
elif find (chan, 'Lock') >= 0:
print '\tremoving ', chan, '<<<<<< Null'
action.removeChannel (chan)
elif chan [0] == 'C' and find (uppercase, chan [1]) >= 0:
print '\tremoving ', chan, '<<<<<< Control'
action.removeChannel (chan)
I hacked the blender source code to name baked actions such as "Walk" becomes "bWalk" instead of the normal "Walk.BAKED" as it was affecting other things once upon a time. So, what the script above does is find all actions starting with a 'b' followed by an uppercase letter or an '_' (underscore) and then delete the channels associated with my IK, control or otherwise constraint only related bones.
I'd be happy to take a quick look at the .blend and/or attempt to run the model in CS as long as there aren't any intellectual property issues with it, i.e. copyright, tradesecrets, etc. I just won't become responsible for insuring the protection of someone else's IP in a situation like this.
If you decide to do this, let me know, either via another post or a PM, how you want to make the model available to me. I am running on linux and only have blender available to me for modeling though.
I'm using a pretty recent version of CS 0.99 with a few week old cal3d. Depending on your environment, it may or may not mean anything if it works for me and not for you. If its possible, I'd really encourage you to make sure you're using current or reasonably current version of CS and cal3d. If you're using blender, you should be using a recent version of blender as well as the blender2cal3d_2.py script in the recent cal3d releases.