Engineering, Drafting, and Computing



Download CURVESTEST.DWG for a quick test
Download generic curve number label block (can be changed as needed)
Download generic curve table block (can be changed as needed)
Download generic curve table header block (can be changed as needed)


CURVES.LSP is a Free Software simple substitute for the AutoCAD Land Desktop method of getting curve data and creating civil engineering curve tables. CURVES.LSP is simple, simple, simple, providing just enough automation to avoid headaches and mistakes. With CURVES.LSP you extract curve data (RADIUS, LENGTH, DELTA, TANGENT, CHORD, and BEARING) from one arc or heavy polyline arc segment at a time and put its curve data in the curve number label block you select. Then with CURVES.LSP you copy all the data from the curve number label block to the respective line in the curve table. If that is too simple or tedious for your needs, try the HawsEDC Free Automatic Curve, Line, and Point Table Creator

Very simple. No grand schemes. No headaches. No typos. No calculator required. Everything you need to get started is included.


Download CURVES.LSP (save it to your computer desktop) by following the link on this page.

At minimum, all CURVES.LSP needs to work is an arc or polyline arc segment, a curve number block with a curve number attribute and one or more of the following attributes: (RADIUS, LENGTH, DELTA, TANGENT, CHORD, and BEARING), and a curve data table block with the same attributes. Try the following exercise (You can download CURVESTEST.DWG instead of doing steps 1-3):

First, draw an arc and a polyline with an arc segment. Now you have curves to label.

Second, insert the CN.dwg (Curve Number) block twice-- once at each curve. See below for tools to edit and use the block. Now you have empty curve labels.

Third, insert the CTHead.dwg (Curve Table Header) block, then insert the CT.dwg (Curve Table) block twice below it. Now you have an empty curve table.

Fourth, load and run CURVES.LSP by dragging it from your computer desktop into your drawing and typing CURVES.

Fifth, follow the prompts to Set your drawing units for a curve table, Get curve data from a curve and put it into a curve number block, Edit the block if you want to change the curve number or look at the data, and Copy the data to a single-line block of the curve table.

That's all there is to it. CURVES works with curves that are nested in xrefs and blocks, too. It couldn't be simpler.


For increased efficiency, you can invoke the parts of the CURVES command separately.
GEODATA: get curve data and put into block
EDIT: edit blocks
COPYATTS: copy attributes

For even better efficiency, you can define shorter aliases for CURVES (CRV) and the separate commands (CD, EE, CA) as explained in CURVES.LSP under EFFICIENCY NOTES



Date Programmer Revision
20021028 TGH Put together CURVES package from GEODATA, CA, and EE.

To submit revisions, use the contact form on this web site.


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 2 of the License.

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.

You CAN'T put this code into any proprietary package. Read the license.

If you improve this software, please make a revision submittal to the copyright owner at 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..

Home | Support | FreeSoftware | Engineering Services | Engineering Calculators | Technical Documents | Blog (new in 2009) | Personal essays | Collaborative Family Trees | Contact