C3D.ORG

The biomechanics standard

Updated:

7 May, 2018

The C3D web site is maintained by Motion Lab Systems as a resource for the biomechanics community.

All of the C3D information on this web site is in the public domain and may be copied and freely distributed with other products. The C3D User Manual documenting the C3D format and structure may be copied and supplied with any product that supports C3D.

This web site does not use cookies or collect or store any data from visitors.

Original XHTML 1.0 Strict and CSS2 template by Andreas Viklund

Search the C3D web site

C3D Files supported

The websites listed above all offer products that support C3D files. Please contact us if your product supports the C3D format to request that your website be added to this list.

Using the C3DServer with LabVIEW

Dustin A. Bruening, Ph.D.

Motion Analysis Laboratory Shriners Hospitals for Children – Erie PA (USA)

February 18, 2010

Description and Disclaimer

Included is a short documentation on how to access the C3DServer functions within LabVIEW (National Instruments, Austin TX USA), along with a sample VI that reads the 3D points and associated labels for a .C3D file. This code is offered “as is” to help others in the biomechanics community, and was written solely for the convenience of the author, not being associated with MLS in any way.

Documentation

Incorporating the C3D server into LabVIEW is simple using the ActiveX VIs. These VIs are found on the Functions Palette under Connectivity –> ActiveX.

  1. Place the “Automation Open” VI on the block diagram.
  2. Create a refnum control input. On the front panel, right click the refnum control and choose Select ActiveX Class -> Browse, then browse to the C3DServer.dll (Generally under C:\WINDOWS\system32).
  3. Get an invoke node from the ActiveX palette and wire the refnum into it. Right click on the Method and you will be able to choose from any of the C3D server functions.
  4. Wire inputs and outputs as needed.
  5. Finish with the “close reference” VI.

Note that a lot of the functions can be run in parallel, without passing the refnum sequentially. However, error checking may require sequential code.

Example VI

The example VI supplied here reads the 3D marker coordinates and associated labels from a .C3D file into LabVIEW. It was written using LabVIEW 8.2.