This site is the source for the HawsEDC Free Software (see license below) tools, including the vehicle turning/weaving simulation program, TURN.LSP. This site also has an AutoCAD drawing with turning templates for some AASHTO vehicles (see link below). I invite you to try out any of the tools here that interest you and to tell others if you find the tools valuable.
We receive frequent feedback, and all of it is valuable; please keep it coming. Many people find TURN.LSP extremely useful, while others have some difficulty. Stephen Hitchcox and I wrote it together; I continue to work to address the concerns of all users, and I welcome assistance in any form.
WANTED. Please send any of these, naming the standard and edition you are quoting:
The use of Free Software (see gnu.org) is governed by a strong copyright called "copylefting". You can't put it into a proprietary product. You may freely make money from it by service or sale. You may modify it. But you must always allow others to copy, modify, and distribute it, including your modifications.
When you need to model a vehicle weaving through a site, a roundabout, or another geometric feature, you need a vehicle tracking program like TURN.LSP. You draw the course the centre of the front axle should follow; TURN steers the vehicle along it and draws every tire path, the hitch paths, the bodies at intervals and the swept-path envelope, for a tractor with any number of trailers. It follows the theoretical tracking path, which is precise for front-steered vehicles whose rear axles do not slip, and its results correlate very well with published AASHTO turning templates, articulated vehicles included.
Vehicles are data. Build your own with BUILDVEHICLE, insert one of the AASHTO
library blocks, or pick one of the 17 AASHTO vehicles in
turn-vehicles.dat.
Full instructions are here. In short:
Draw a polyline where the centre of the front axle should travel. Not along a wheel. TURN moved to axle-centreline tracking in 1.1.3 (2008); older instructions, including the PDF sheets inside the library zips, still say front left tire, and following them puts the vehicle half an axle width off.
Make it long. A trailer takes several rig lengths to settle into its true articulation, so a short course plots the rig as one straight box and tells you nothing. Hundreds of feet, with a straight run at each end to warm up. Long does not hurt.
Insert a vehicle block at the start and rotate it to the starting direction of travel. TURN reads the block's rotation and its attributes. Then run TURN, select the block, and select the course near its starting end. (1.1.17 first asks for a method: choose Generated vehicle. The AASHTO library blocks carry full attributes and belong with that method.)
Read out of the library drawings, not retyped. WB1 is the tractor wheelbase, WB2 the trailer's. Turning radii are on the instructions page.
| Vehicle | Width | Body | WB1 | WB2 | Overall |
|---|---|---|---|---|---|
| P (passenger car) | 7 | 19 | 11 | 19 | |
| SU (single unit truck) | 8 | 30 | 20 | 30 | |
| CITY-BUS | 8.5 | 40 | 25 | 40 | |
| BUS-40 | 8.5 | 40 | 25.85 | 40 | |
| BUS-45 | 8.5 | 45 | 28.5 | 45 | |
| MH (motor home) | 8 | 30 | 20 | 30 | |
| WB-40 | 8 | 33 | 12.5 | 25.5 | 45.5 |
| WB-50 | 8.5 | 42.5 | 12.5 | 35.5 | 55 |
| WB-62 | 8.5 | 48 | 19.5 | 40.5 | 68.5 |
| WB-65 | 8.5 | 53 | 19.5 | 43.5 | 73.5 |
| WB-67 | 8.5 | 53 | 19.5 | 45.5 | 73.5 |
Known discrepancy: WB1 + WB2 comes out 2 ft under the nominal designation on every WB vehicle, while the overall lengths match the published figures exactly. Unresolved — see WANTED above. The WB-40 13/27 and WB-50 20/30 figures this table used to carry are not what the drawings contain, and are withdrawn.
TURN is developed in the open, as part of FreeLand, and the Turning_Path_Tracker folder there is the one working copy of the source, with its full history and its test suite. The files on this page are releases made from it.
| Date | Programmer | Revision |
|---|---|---|
| 20260926 | TGH | 2.1.0 Swept-path envelope rebuilt from the paths of each body's corners and of its sides abeam the trailing axle, removing a sawtooth on the outside of every turn. Axles wider than their body included in the envelope. No more trailer "front tire" paths at the kingpin. Warns when the vehicle block faces away from the course. Reports the drawing units it read. |
| 20260913 | TGH | 2.0.0 Any number of trailers. Swept-path envelope. Steering-lock and articulation checks with a plain verdict. Follows any curve, not just polylines. Layer names and vehicle dimensions moved out to editable data files. Five defects fixed, including selecting the course grabbing the vehicle block. User block method removed. |
| 20230223 | TGH | 1.1.17 Previous release. |
| 20110405 | TGH | 1.1.12 For CADDIT, changed variable name from "layer" to "layer-list". |
| 20100504 | TGH | 1.1.11 For Bricscad, changed "endp" osnap to "end" |
| 20090312 | TGH | 1.1.10 Turned trailer box from bowtie into box (Again?!? See v. 1.1.7) |
| 20090226 | TGH | 1.1.9 Minor tweak to version reporting |
| 20081112 | TGH | 1.1.8 Added layer settings functions to consolidate names in one place |
| 20080522 | SH | 1.1.7 Revised layers to an identifiable set, using AIA type standard. Placed under C for Civil and using TURN as a reserve header. Also fixed trailer to draw as a box not a cross. |
| 20080416 | TGH | 1.1.6 Added block plotting method with more modular code and defined data structure. Combined both methods into one routine |
| 20080410 | TGH | 1.1.5 Simplified prompts, added layer defaults, and fixed a few errors. |
| 20080206 | SH | 1.1.4 Fixed Imperial dimension storage, and made input consistent to type of data |
| 20080120 | SH | 1.1.3 Various, including Centre of Wheels used instead of Outside of Wheels (vehicles steer on the centroids of the wheels, not the rims), "Set-out" point added at Front Left wheel |
| 20070327 | SH | 1.1.2 Trailer plotting |
| 20061213 | TGH | 1.1.1 Initial vehicle orientation from mandatory block selection instead of prompt. |
| 20060324 | SH | 1.1.0 Added BUILDVEHICLE interface to allow overhang and sideswipe analysis. |
| 20070122 | TGH | 1.0.4 Added block plotting. Made code more modular with defined data structure. |
| 20061216 | TGH | 1.0.3 Replaced GETDISTX with originally written version. |
| 20061213 | TGH | 1.0.2 Clarified prompts, changed pline reversal criteria, added undo group. |
| 20020625 | TGH | 1.0.1 Added capability to follow reverse drawn polylines. |
| 20020627 | TGH | Added GETDISTX function to distribution file. |
| 20021025 | TGH | Replaced tracking equation with better algorithm. Removed plot point reduction algorithm. |
To submit revisions, open a pull request on GitHub, or send an email with your revised code.
This program is free software under the terms of the GNU (GNU--acronym for Gnu's Not Unix--sounds like canoe) General Public License as published by the Free Software Foundation, version 3 of the License or (at your option) any later version, as stated in the program's own header.
You can redistribute this software for any fee or no fee and/or modify it in any way, but it and ANY MODIFICATIONS OR DERIVATIONS continue to be governed by the license, which protects the perpetual availability of the software for free distribution and modification.
If you improve this software, make a revision submittal to the copyright owner. See www.hawsedc.com.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License on the World Wide Web for more details.