/taser

Dynamically generate Tacview .xml files to render SLED attack profiles.

Primary LanguagePython

TASER

TAcview SLEDs Renderer: dynamically generate Tacview .xml files to render SLED attack profiles. All SLEDs parameters must be specified using the "SLED parameters" flags; the target can be chosen from the conventional NTTR ranges ("range" option), or specified through a set of lat/lon coordinates ("coord" option). The resulting .xml renders in Tacview the ideal attack wire, among all relevant decision altitudes; leeway options are also available to restrict or relax the rendered wire's constraints.

tacview

INSTALL

Download the latest release (1.0.0-rel1).

Place taser.exe inside Tacview's Data/Static Objects folder:

folder

USAGE

Open an elevated ("as administrator") command prompt (or PowerShell) window in Tacview's Data/Static Objects folder:

admin

Run taser.exe by passing all required and any optional parameters (see CLI):

cmd

result

Analyze your attack runs with Tacview:

tacview

CLI

taser.exe [-h] [-v] [-d] [-f :str] [-c] [-ah :°] [-lh :°] [-la :ft] -ad :ft -bd :nm -ba :ft -ta :ft -ra :ft -aa :ft -ma :ft {range,coords}

optional arguments:
  -h, --help                 show this help message and exit
  -v, --version              show program's version number and exit
  -d, --debug                show detailed error messages
  -f :str, --filename :str   specify the name of the output file [default:
                             "sled"]
  -c, --declutter            declutter the abort and minimum altitudes
                             rendering

other parameters (optional):
  -ah :°, --attackhdg :°     specify the attack heading (overrides the range's
                             default in "range" mode) [°]
  -lh :°, --leewayhdg :°     specify the leeway left and right of the attack
                             heading at the SLED's base altitude [° | default:
                             10°]
  -la :ft, --leewayalt :ft   specify the leeway above and below the SLED's
                             base, track, and release altitudes [ft | default:
                             200ft]

SLED parameters (required):
  -ad :ft, --aimdist :ft     SLED's aim-off distance [ft]
  -bd :ft, --basedist :ft    SLED's base distance [ft]
  -ba :ft, --basealt :ft     SLED's base altitude [ft MSL]
  -ta :ft, --trackalt :ft    SLED's track altitude [ft MSL]
  -ra :ft, --releasealt :ft  SLED's release altitude [ft MSL]
  -aa :ft, --abortalt :ft    SLED's abort altitude [ft MSL]
  -ma :ft, --minalt :ft      SLED's minimum altitude [ft MSL]

target mode:
  {range,coords}
    range                    choose the target from those in the conventional
                             NTTR ranges
    coords                   specify the target through a set of lat/lon
                             coordinates

taser.exe range [-h] code target

positional arguments:
  code        the code of the range
  target      the name of the target

optional arguments:
  -h, --help  show this help message and exit

taser.exe coords [-h] latitude longitude

positional arguments:
  latitude    the latitude coordinate of the target [xx.xx.xx.N]
  longitude   the longitude cooordinate of the target [xxx.xx.xx.W]
  altitude    the altitude of the target [ft MSL]

optional arguments:
  -h, --help  show this help message and exit

EXAMPLES

82_30DB4 SLED on West Bomb Circle in range 64C, default range attack heading, 15° leeway at wire entry:

82_30DB4

taser.exe -c -lh 15 -ad 1600 -bd 8507 -ba 8700 -ta 7100 -ra 6200 -aa 5900 -ma 4000 range 64C West-Bomb-Circle

B2_30DB2 SLED on a target located at 35°10'22"N 116°50'11"W @ 5000ft MSL, 90° attack heading:

B2_30DB2

taser.exe -c -ah 90 -ad 1000 -bd 7898 -ba 9900 -ta 8300 -ra 7400 -aa 7100 -ma 6000 coords 35.10.22.N 116.50.11.W 5000

BUILD

Development framework powered by python and the following plugins:

.exe packaging powered by PyInstaller: pyinstaller --clean --workpath="../build" --distpath="../dist" --specpath="../dist" --add-data="../source/data;data" --onefile --icon="../dist/icon.ico" taser.py

.exe versioning powered by Simple Version Resource Tool: verpatch.exe dist/taser.exe /va /langid 0x0809 /high x.x.x /s desc "Generate Tacview .xml files to render SLED profiles." /s product "TAcview SLEDs Renderer" /s copyright "CC Attribution-ShareAlike 4.0" /pv "x.x.x-x"

Automated make.bat and test.bat scripts can and must be ran from the project's root folder.

DATA

The ranges data is not available in this public repository. Contact the 476th vFG for further information.

CHANGELOG

CHANGELOG.md versioning follows semantic versioning rules.

CONTACTS

LICENSE

license

Taser by Mattia Affabris is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Based on a work at https://github.com/Gliptal/taser.