How to import C3D files

#1

Hello,
I want to know what to do when importing my own C3D files. I am trying to import my c3d file into the MoCapModel of the 1.6AMMR. It shows:‘RASI’ : Unresolved object. I don’t know how to modify it to match the markets in my C3D file. And where can I see the markets information of my C3D file?
Any help with this would be greatly appreciated.
Thanks

#2

Please try to click the blue link in the error message it will usually take you to location of the error.

In this case the error could be that in the markerprotocal.any it tries to create a marker called RASI and apparently you do not have such a maker in your c3d file.

So you will need to delete markers or rename accordingly to your c3d file.

Secondly it can also be related to this line in TrialSpecific.any file

AutoPelvisPos AutoPos(RASIS=RASI, LASIS=LASI, BACK=RPSI) = {};

This is sending three pelvis makers to an AnyScript call which then automatically set the initial position of the pelvis (pelvisposx,y,z )

If you have other marker on pelvis with some different names you will need to write eg.
AutoPelvisPos AutoPos(RASIS=MY_RASI, LASIS=MY_LASI, BACK=MY_RPSI) = {};

If you have no markers on pelvis you will need to set PelvisPosX,Y,Z manually

Hope it helps

Søren

#3

Hi Søren

      Thanks for your reply. Is it just to figure out the markets in my C3D file, and then write them out in ANYBODY? But I don't know what markets in my C3D file.This C3D file was given to me by others. How do I know what's the market of this file? Should I use software that can open C3D files? 

Best wishes

#4

Hi

Sorry for slow response on this post, i can see some newer related posts, has this post been resolved?

Best regards
Søren

#5

Hi Søren

      It does’t matter. Thank you for your reply. This problem has been solved. Can I ask a new question? I am working on my C3D file, but the markets inside are not named, and I don't know the name of the market. Where can I get information about the market name?

Best wishes
zzs

#6

Hi

There are two ways to know the maker names in the C3D file

  1. Install the program Mokka to view the C3D file and its content

  2. Make an AnyBody Model which only loads the C3D file, then it will not complain on missing makers, then bowse the ModelTree to see the Points section of the loaded file, it contains all the names.

    Main ={

    AnyInputC3DFile tester ={
    FileName = “myfile”;
    //copy the rest of the settings from a mocap model…

    };
    };

#7

Hi Søren

  Thank you very much,it helps a lot. I just tried loading a simple C3D file,it shows:

“ERROR(OBJ.FILE1) : D:/M…0/M…2/M…l/JointsAndDriversOptimized.any(16) : JntDriverTrunk.FileName : Problem with file : D:\My model6.0\MoCap2\Input\LowerBody-gait-raw-euler-trunk.txt : The data file does not exist.” If I import my own C3D file into MoCapmodel, how can I generate the txt file?

Best regards
zzs

#8

The error you get there indicates that you have tried to load an older model, the new mocap models will not give this error message.

The problem is that you have tried to load the mocap model with the inverse switch set on and the joint angles it needs was not made yet, that is the reason for the error. To avoid the error you will need to run the kinematics study first this will generate the file and then you can switch to the inverse study (see top of main file)

As i mentioned initially the new version of AMS and AMMR do not have this two step load process and the switching between the two is not needed.

Best regards
Søren

#9

Hi Søren
Thank you very much,it helps a lot. Now I want to load the model and run kinematic analysis.But this error occurred when I loaded the model. It shows:‘CAL_MATRIX’ : Unresolved object.

Best regards
zzs

#10

Hi Søren
I commented out the calibration matrix definition and now I get this error: ‘Plate1’: incorrect member variables initialization. ‘Cal’ : was set to obligatory but it was not initialized.

Best regards
zzs

#11

Hi It seems you might be using a wrong forcetype class.

The error indicates that you are using a class which requires a calibration matrix to be present in the data, but the matrix is not there.

I think the error might be that the forceplate type is set wrongly.

Please look in the C3D data structure and find this section Header.Forceplate.type (i hope i rember it correctly) this will contain number like e.g. {4,4} this will mean that two forceplates of type 4 is present in the data.

Todo

  1. out comment the force plates to have a loaded model
  2. Browse the C3D file object in Main.ModelSetup
  3. Find the section i listed above
  4. Correct the plates type number
  5. load the plates again

Best regards
Søren

#12

Hi Søren

Thank you for your reply, I did it according to the above. But my model is loading incorrectly so I can’t open the Type to see the plate type.

Best regards
zzs

#13

Hi Søren


I changed the type to 2 and the model can be loaded.But after loading, the position of the plate seems to be wrong.I tried to change the initial position but it didn’t work.This is my screenshot. Can you tell me how to change it to get the correct position?

Best regards
zzs

#14

Hi ZZs,

To me i would guess that the position of the plates are ok, but the initial position of the human is not ideal…

I think in you model this is changed in the trialspecific.any file , (in newer version of the mocap model there is a built incall that allows the pelvis position and orientation to be set using three markers on pelvis).

I do not see any markers in the view.

Best regards
Søren

#16

Hi Søren

I found that there are two LPSI markers in MoCapModel, one is blue and the other is red. Can you tell me the difference between blue and red?When I create the market in my model, why is there a line connecting the two markets?

Best regards
zzs