coil — Generate various types of coils, using pipe control points calculated from coil dimensions.


coil [options ......] [name]


coil creates a pipe shape within coil.g or a user supplied file that implements a coil according to user provided dimensions. If no dimensions are supplied, defaults are used.


-d outer_diameter

Sets the outer diameter (millimeters) of the coil.

-w wire_diameter

Specify the diameter (millimeters) of the wire to be wound into a coil.

-H helix_angle

Specify the helix angle (degrees) of the coil.

-p pitch

Specify the pitch - distance between center of wire at beginning and end of a single turn in mm. Minimum value is equal to the wire diameter.

-n number_of_turns

Sets the number of turns desired in the coil. Must be an integer value greater than zero - fractional turns are not supported.

-s cap_type

Specify the capping style for the start of the coil. The default is 0, with no special styling. 1 is a squared off cap, 2 is a cap ground in the plane normal to the vector of the coiling direction (the x-y plane), and 3 squares off the coil as well as grounding it. Any non-default cap will result in extra turns being added to the coil above those specified with -n.

-e cap_type

Specify the capping style for the end of the coil. Default and options are the same as for the starting cap.

-S number_of_turns,outer_diameter,wire_diameter,helix_angle,pitch,winding_direction

An advanced option that allows specification of multiple sections, with settings specified in a comma delimited list as above. All settings are required for each section - multiple sections are defined in left to right order with the left-most section being the starting section at the origin. Capping styles are supported for multiple section coils, but the presence of one or more sections specified with the -S will cause any supplied parameters other than capping styles to be ignored. There is very little sanity checking here - many inputs will result in invalid pipe primitives and generate only an empty database file.

-l length

Clamp the length of a coil to the specified value. This option is currently limited - it will work only for uncapped coils and the helix angle must be zero. To fit length, pitch will be adjusted first. If pitch adjustments aren't enough, turns will be removed. If both of those variables can't be adjusted to satisfy the length, wire diameter will be adjusted.


Instructs the coil tool to create a "left handed" coil (default is "right handed"). I.e. - from the starting point of the coil, the coil winding will proceed in the -x direction for a left handed coil, and in the +x direction for a right handed coil.


The following will create coils exercising the various options.

Example 1. Creating a tight coil with default dimensions and ground ends

coil -s 3 -e 3

Example 2. Creating a coil with large helix angle and pitch

coil -H 40 -p 350

Example 3. Creating a multi-section coil with right handed winding

coil -S 10,1000,50,60,800,1 -S 10,1000,50,0,100,1


Not much error checking yet - need to add.


Clifford Yapp


This software is Copyright (c) 2009-2016 United States Government as represented by the U.S. Army Research Laboratory.


There are many inputs that will be accepted but will attempt to generate invalid pipes.


Reports of bugs or problems should be submitted via electronic mail to <>, or via the "" script.