BIM

A rebar schedule lisp for AutoCAD: one file, one table

A rebar schedule lisp for AutoCAD adds up bar lengths by diameter and draws the table itself. One file, no dialog and no image library to install.

  • TS. Đỗ Quốc Hoàng
  • 11 min read
The schedule the lisp draws in the drawing itself: two diameters and a total line Photo: Screenshot taken on AutoCAD 2027 at the Institute

Taking off rebar quantities is the most laborious part of a structural set, and the easiest to get wrong by hand. That is why a rebar schedule lisp sits alongside numbering and batch plotting among the most sought-after files.

This article offers the Institute's own, a single .lsp file that draws the table straight into the drawing. Every figure here was measured on AutoCAD 2027 at the Institute. For the whole structural documentation workflow, see the AutoCAD for Construction course.

Steel weight in kilograms per metre: one multiplication

Every rebar schedule comes down to a single product. Know the length and you know the weight, as long as you know what a metre of that diameter weighs.

The full expression is area times density: π/4 × d² × 10⁻⁶ × 7850, with d in millimetres and the answer in kilograms per metre.

The trade also carries a mental shortcut: divided by 162. How far apart are they? We computed both across the range in common use.

DiameterFull formula (kg/m)The d² over 162 shortcutDifference
60.2220.2220.1%
100.6170.6170.1%
120.8880.8890.1%
161.5781.5800.1%
202.4662.4690.1%
253.8533.8580.1%
326.3136.3210.1%

The shortcut is out by less than two parts in a thousand, which is fine for an estimate on site. But when a machine is doing the arithmetic there is no reason to use a rounded constant, so the Institute's file uses the full expression.

The package in circulation: capable, but it is a package

We downloaded the most widely shared set and read it. One thing deserves saying straight away, in fairness: its source is open, readable line by line — quite unlike the compiled batch-plot file we met in our article on batch plotting.

Some measurements on that package. Its main file runs to 1,070 lines with 13 functions and two commands. The set holds 23 files in all, dated between 1998 and 2017.

We also checked its weight arithmetic, and it is right: the line multiplies pi, 0.25, the diameter squared, 0.000001 and 7850. The full expression, not a rounded lookup.

So why write another? Because the price of a 23-file set is paid at installation.

It needs a .DCL dialog, an .slb slide library for the bar-shape pictures, and a separate .DWG to insert the table frame. All three must sit in AutoCAD's support path or the command fails midway, and a new user has little hope of guessing which file is missing.

The Institute's file goes the other way: one file, no dialog, no image library, no block inserted from elsewhere. The table is drawn from lines and text in the open drawing.

TKT-IIC.lsp: one file that draws the schedule table

Download TKT-IIC.lsp — 11 KB, two commands, source left open, every prompt written in proper Vietnamese.

CommandWhat it does
TKTaccumulates length by diameter, then draws the schedule
TKTXclears the running totals so you can start again
The command line when TKT starts Photo: The AutoCAD 2027 command line as TKT starts: the Institute's line, then the first question, all in accented Vietnamese

The file is saved as UTF-8. Measured on AutoCAD 2027 on 20 September 2026: load reads it correctly and princ prints every accent on the command line. If you edit the file, save it as UTF-8 again — saving as ANSI strips the accents.

The workflow is direct. Declare a diameter, select the bars of that diameter, declare how many identical bars there are, then repeat for the next diameter. When you are done, pick one point for the table.

It reads each object's true length, curves included, so a bar drawn as a polyline with hooked ends measures correctly.

The schedule table Photo: The schedule table the TKT command draws: Vietnamese headings, the two bar diameters Ø12 and Ø18, a kilograms per metre column from the full formula, and a total line

Our test, so you can check it on a pocket calculator.

First group: three lines 3000 long, diameter 12, multiplier 2. The total must be 3 × 3000 × 2 = 18,000 mm, that is 18.00 m. Times 0.888 kg/m gives 15.98 kg. The table reads 18.00 and 16.0.

Second group: four lines 1800 long, diameter 18, multiplier 3. Total 4 × 1800 × 3 = 21,600 mm, that is 21.60 m. Times 1.998 kg/m gives 43.15 kg. The table reads 21.60 and 43.1.

The total line: 39.60 m and 59.1 kg. All six figures match the hand arithmetic.

Step by step: bar diameter, selection, totals

The five steps of TKT Photo: The five steps of the TKT command, with each prompt copied from the command line

Step 1 — Load the file

Copy it into your lisp folder, type APPLOAD, point at it, click Load then Close. If the security dialog appears, declare that folder trusted — covered in our article on numbering lisps.

Step 2 — Declare a diameter and select

Type TKT. It asks:

Đường kính thép (mm), nhập 0 để dừng <12.00>: — the bar diameter in millimetres, 0 to stop

Chọn các nét thép có đường kính này: — select the lines of that diameter

Select every line of that diameter and press Enter.

Step 3 — Declare how many identical bars

Số thanh giống hệt nhau (bội số) <1>: — how many identical bars

This is where the time goes. A beam section drawn once but repeated at ten locations takes a multiplier of 10 — no copying the shape ten times and selecting all ten.

It reports the group at once, for example Ø12: tổng dài 18.00 m, khối lượng 16.0 kg.

Step 4 — Repeat for other diameters

Thống kê thêm đường kính khác? [Co/Khong] — another diameter? Co for yes

Answer Co to carry on. Groups accumulate by diameter, so declaring the same diameter in two different places still lands on one row.

Step 5 — Place the table

Điểm đặt góc TRÊN TRÁI của bảng: — the top left corner of the table

Chiều cao chữ trong bảng <150.00>: — text height in the table

Text height is in drawing units, so 150 suits a 1:100 sheet. The table scales itself to that height. Once it is drawn, the command clears its running totals; we added that after a test in which a second TKT doubled every figure.

Why the command picks its own text style

For the schedule table to carry accented Vietnamese, the text style has to have the glyphs. That is less obvious than it sounds, so we measured it.

Autodesk's About Unicode Font Descriptions says a single Unicode font "is capable of supporting all languages and platforms" thanks to its large character set. That is true of the format, but the format is not the glyphs. A font in Unicode format that carries no shape for still leaves AutoCAD drawing a question mark. That is the gap we went and measured.

We tested all 41 Unicode .shx fonts shipped with AutoCAD 2027. The measurement carries its own control: draw the character , draw a ?, and read both bounding boxes. A font without the glyph draws a question mark instead, so the two widths come out equal.

Result across 41 Unicode .shx fontsCount
Full Vietnamese glyph coverage0
Only the letter Đ, no tone marks1 (GENISO.shx)
None; the text draws as question marks40 (romans, simplex, txt, isocp among them)

So the .shx fonts that ship with AutoCAD cannot draw Vietnamese. Older Vietnamese drawings solved this with the TCVN3 code page and the VH font family, but that is a twenty-year-old convention and such text breaks the moment it is pasted elsewhere.

So before drawing, TKT measures the current text style with exactly that test. If the drawing's own style can write Vietnamese, the command keeps it. If it cannot, the command creates a style called IIC-VN on a TrueType font present on every Windows machine, and says on the command line what it did.

That keeps the property that matters: nothing to install.

Column widths, and a bug we caught by looking

A small story worth telling, because it is the kind of defect that only a picture reveals.

The first version sized each column by counting characters and multiplying by the text height. It looked sensible. The screenshot showed the header row spilling straight out of its cells.

The second attempt used AutoCAD's own textbox function, which returns a text string's box. Still wrong: for the header it reported a width of 1245 drawing units while the text actually drew 1697 units wide, because the text style carries a width factor that the function does not apply the way the renderer does.

The version you download measures the real thing. It creates the text object, reads its bounding box, then deletes it. Exact, and it holds for any font and any width factor. In a table of numbers, a header that overlaps its neighbour is not a cosmetic problem: it makes the reader doubt the figures.

What it does not do, and why

Being clear about the limits saves everyone time.

It does not read diameters from the annotation. You declare each group by hand. Vietnamese rebar annotation has a dozen forms, from 2Ø12 to 2-5-12 to Ø12a200, and guessing one wrong corrupts the whole table. Declaring takes seconds and never guesses.

It does not draw bar shapes in the table. The columns are diameter, count, total length, kilograms per metre and weight. A shape column needs a picture library, which is exactly what makes the other package 23 files.

It does not deduct laps or add hooks. It sums the geometric polyline length of what you select. If the drawing includes the hooks, they count; if not, add them yourself.

It does not replace an estimating package. This is a fast take-off for checking and ordering.

In exchange, every figure in the table traces back to one multiplication you can verify on a calculator in ten seconds. For a quantity table, that property is worth more than any feature.

Three things often repeated that are not true

Often repeatedWhat we measured
You need a weight lookup tableOne multiplication does it, for any diameter including odd ones
The d² over 162 shortcut is wrongIt is out by under two parts in a thousand across the whole range
Any schedule lisp needs a package of filesThe circulating set needs 23; a table of lines and text needs one

Frequently asked questions

Does the rebar schedule lisp handle bent bars?

Yes. It reads the true polyline length of each object, arcs and curved segments included, so a bar drawn with its hooks measures correctly. The steel weight then follows from that length and the bar diameter.

My table disagrees with my hand calculation.

Check three things: whether the drawing unit is the millimetre, whether the multiplier was right, and whether the selected objects are the bars rather than an outline around them.

Can I schedule a whole building in one pass?

You can, because totals accumulate until you draw the table or type TKTX. On a large set it is wiser to work member by member and add the tables, so a mistake stays findable.

The schedule table shows question marks instead of letters.

Nothing to fix. The command measures the current text style before drawing; a style without Vietnamese glyphs makes it create the IIC-VN TrueType style first. Delete an old table and draw it again.

Why does the text overflow its cell with some fonts?

It does not. This file measures each string's real width before sizing the column rather than estimating from the character count.

How do I add a column?

Open the file in a text editor and find the table-drawing function. The header list and the cell list sit next to each other at the top of it; add to both.

About the author

TS. Đỗ Quốc Hoàng — Vice Director of the Institute of Information Technology in Civil Engineering, Hanoi University of Civil Engineering, and a specialist in software development for construction