CVDT LISP: Curve Design Details Extractor (Free AutoLISP Download)
CVDT scans a selected alignment polyline for every curve (an LWPOLYLINE vertex with a non-zero bulge) and, in alignment order, computes the deflection angle, circular radius, curve length, and starting/ending chainage for each one. A default design speed is prompted once and stamped on every curve found. The results are written as a small stacked-text design table beside each curve.
CRVDTL-bgol (Curve Design Details Extractor)
Command Type: AutoLISP routine (works in AutoCAD, BricsCAD, ZWCAD and most AutoLISP-compatible CAD platforms)
Developed by: BGol Community, bgol.in
Inspired by the general concept of curve-data-extraction utilities used in road, rail, and channel alignment design. This is an original, independently written routine, new file name, new command name, new source code, created so the CAD community has a free, editable, open-source alternative.
Overview
CVDT scans a selected alignment polyline for every curve (an LWPOLYLINE vertex with a non-zero bulge) and, in alignment order, computes the deflection angle, circular radius, curve length, and starting/ending chainage for each one. A default design speed is prompted once and stamped on every curve found. The results are written as a small stacked-text design table beside each curve.
How to Use
- Load
CRVDTL-bgol.lspinto your CAD session (drag-and-drop the file onto the drawing window, or use theAPPLOADcommand). - Type
CVDTat the command line and press Enter. - Select the alignment polyline (LWPOLYLINE) containing one or more curves.
- Enter a default design speed when prompted.
- The routine walks the polyline's vertices, finds every bulge (curve) segment, and for each one writes a design-details block, Curve Name, Deflection Angle, Circular Radius, Transition Length, Starting Chainage, Ending Chainage, Circular Curve Length, and Speed, as text on a dedicated layer,
BGOL-CVDT(colour green), next to the curve's midpoint. - A one-line summary for each curve is also echoed to the command line as it's processed.
Why Use It
- Instant curve tabulation, replaces manual bulge/chord/radius arithmetic for every curve with a single command run.
- Alignment-order numbering, curves are numbered sequentially as they occur along the alignment, matching how design reports are normally organized.
- One-shot default speed, fills in a design speed for every curve at once, while individual values (speed, transition length) can still be edited afterward per curve.
Where to Use It
- Early-stage road, railway, or channel alignment design review, to quickly tabulate curve geometry straight from a drawn alignment.
- Producing design summary tables for horizontal alignment curves as part of a design report or drawing set.
- Any workflow needing rapid extraction of deflection angle, radius, chainage, and length data from an already-drawn alignment polyline.
Notes
- Transition Length is always written as
0, the routine cannot infer a real transition length from geometry alone; edit it manually per curve once actual design values are known. - Radius and deflection angle are derived from each vertex's DXF bulge value using the standard bulge-to-angle/radius relationships (
angle = 4 * atan(bulge),R = chord / (2 * sin(angle/2))). - Only LWPOLYLINE alignments are supported; straight (non-bulge) segments are skipped automatically.
- Source code is fully open, feel free to study, modify, and redistribute it under the same open, free-for-all spirit.
Credits
Developed and shared for the CAD community by BGol Community. Website: https://bgol.in/ Free and open-source, use it, modify it, share it, for personal or commercial work alike.
Frequently Asked Questions
CVDT is a standard AutoLISP routine, so it runs in AutoCAD, BricsCAD, ZWCAD, and most other AutoLISP-compatible CAD platforms without modification.
Transition Length is always written as 0, the routine cannot infer a real transition length from geometry alone; edit it manually per curve once actual design values are known.
Instant curve tabulation, replaces manual bulge/chord/radius arithmetic for every curve with a single command run.
Yes. CVDT is fully open-source and free to use, modify, and redistribute for both personal and commercial work, developed and shared by the BGol Community.
Drag and drop CRVDTL-bgol.lsp onto your open drawing window, or load it through the APPLOAD command, then type CVDT at the command line to run it.
๐ค About BGol Community
BGol Community of Advanced Surveying builds and shares free, open-source tools for the survey and CAD drafting community.
๐ Made with โค๏ธ by BGol Community of Advanced Surveying
Free, open-source, and built for the CAD community, for personal or commercial use, always.