PNEUMLINE draws the signal lines used on process and instrument diagrams, where the marks along a line say what kind of signal it carries.
What PneumaticLine does
Pneumatic takes double cross-hatch ticks. Electric takes single dashes across. Capillary takes crossed X marks. Data takes small circles.
Pick a route and the line is drawn with its marks evenly spaced along it, each square to the line at that point.
How to use it
- Load the routine with
APPLOAD, or put it on your support file search path. - Type
PNEUMLINE. - Choose the signal type.
- Pick the route, point by point. Press Enter to finish.
How it works
Each mark is rotated to the line direction at its own position, computed rather than chosen from a small set. Picking between a horizontal and a vertical block by testing the line angle, then subtracting 90° to compensate, puts the marks square to the line on exactly four directions and at an angle everywhere else.
Nothing is inserted from a block. A routine that inserts blocks which must already be in the drawing draws the line successfully and then fails on the first mark, on any drawing that does not happen to have them.
Mark size and spacing are proportional, not written into the code in drawing units. Fixed values work at exactly one scale and give you marks that are either invisible or the length of the line at every other.
Angle tests use inclusive comparisons. A chain of quadrant tests written with strict greater-than and less-than leaves a line at exactly 45° matching no branch at all — and the mark angle stays at whatever the previous line happened to set.
Notes and limits
- Four signal types, matching the usual P&ID conventions.
- Marks are proportional to the line, so they hold at any drawing scale.
- Nothing has to be installed — no companion blocks.
- CMDECHO and BLIPMODE are restored on every path, including cancel.
Download and details
| Name | PneumaticLine — draw the signal lines used on process and instrument diagrams |
| Download | PneumaticLine.lsp — 7.7 KB, plain AutoLISP source. Downloads directly; no zip to unpack. |
| Type | AutoCAD AutoLISP routine |
| Command | PNEUMLINE |
| Requires | the ActiveX layer (loaded automatically by the routine with vl-load-com). |
| Source size | 7.7 KB, 181 lines |
| Error handling | Yes — a *error* handler restores every system variable it changed, on cancel as well as on error. |
| Undo | The whole operation is wrapped in a single undo group, so one U reverses all of it. |
| Compatibility | AutoCAD (any release with AutoLISP), BricsCAD, ZWCAD, GstarCAD, ProgeCAD and other IntelliCAD-based platforms. AutoCAD LT needs a LISP enabler. No .NET, no ObjectARX, no installer. |
| Author | YZ, August 2026 |
| Licence | Free to use, supplied “as is” with no warranty. |
References
- FLEXDUCT LISP — flexible duct with its corrugated coil
- BLOCKNOTCH LISP — cutting a gap where an instrument symbol sits
- CURVEHUG LISP — placing symbols along the run
- More free AutoLISP routines on this site
- Wisey’s Steel Shapes — free structural steel section drawing program