JBM Small Arms Ballistics
Google


about these ads...

JBM - Software - PM Lib

PM is a Windows DLL designed for writing point mass small arms ballistics programs. PM is written in the C language and compiled with Borland C++.

NOTE: This version is really a beta version. All functionality is included, all have been tested (by me) and no more functionality will be added, but there may be some bugs which I will fix as soon as I know about them (I don't currently know of any!) As I fix bugs, I'll note the changes.

Some of the functionality includes:

  • Automatic unit conversion
  • Multiple ballistic coefficients (linear interpolation)
  • ICAO atmosphere routines
  • Multiple drag functions or user defined CD vs Mach Number
  • Muzzle velocity correction for distance to chronograph
  • Variable sight height and offset
  • Wind profiles (3D wind as a function of range)
  • Output includes range, drop, windage, velocity, mach number, energy, momentum and time, corrected muzzle velocity and point blank range
  • Drop and windage unit calculations including inches, feet, cm, MOA, mils, etc.

An example program is provided that produces very simple output. All the input values are "hard-wired" and this example is only designed to show some of the function calls.

A .DEF shows the exported functions and ordinal numbers. NOTE: All structures are "packed" and not padded (byte alignment).

The DLL is downloadable here. The Linux shared library is available here. Documentation for the PM DLL is a group of HTML files, downloadable here. Documentation is also online.

The PM DLL is free for private and non-profit use. If you make money (in any way) from this DLL, you must purchase the source code. Please read the license.

If you would like to purchase the source, or have questions about it, contact me. You will be required to sign a license and non-disclosure agreement. An example of the source code is provided here. The file interp.c includes the interpolation routines used for wind and drag interpolation. The file pm.h is the include file providing prototypes for all exported functions. After you purchase the source code, you may modify it, use all of it, parts of it for anything you see fit. You may NOT redistribute the source code in source/printed form.


about these ads...