CEILGRID fills a room outline with a suspended ceiling grid at the tile size you give, at any rotation, and centred so the cut tiles come out equal on opposite walls — which is what a ceiling contractor will do on site, and therefore what the drawing should show.
What CeilingGrid does
Pick the room boundary, give the tile size, and nudge the grid until the edge tiles look right.
Centring. The grid starts centred on the middle of the boundary’s extents, so both edge tiles in each direction are the same width. That is the usual starting point; from there you can shift it to line up with a feature, and the cut tiles rebalance as you go.
How to use it
- Load the routine with
APPLOAD, or put it on your support file search path. - Type
CEILGRID. - Pick the room boundary.
- Give the tile size and rotation.
- Nudge the grid until the edge tiles suit — against a feature wall, or balanced.
How it works
A ceiling grid that starts at a corner leaves a full tile on two walls and a sliver on the other two. Starting from the centre of the extents splits the remainder evenly, which is both what looks right and what gets built.
SNAPBASE is restored to the point it was, not to a string. That sounds trivial until it is not: SNAPBASE is a point variable, and handing it the text “0,0” neither restores it nor sets it to the origin — it just fails, quietly, leaving your snap base wherever the grid put it.
The polyline width is read from the setting, not from a scratch object. Drawing a throwaway polyline and erasing it just to read the current width off the screen works, and leaves an object behind on any path that does not reach the erase.
Notes and limits
- The grid is centred on the boundary extents, not on the boundary’s centroid — which matters on an L-shaped room.
- Layer, SNAPBASE and CMDECHO are all restored, on error and cancel as well as on success.
- Any rotation is supported, so a grid set out to a skewed wall works.
- One undo group covers the grid.
Download and details
| Name | CeilingGrid — lay a suspended ceiling grid inside a room outline |
| Download | CeilingGrid.lsp — 7.4 KB, plain AutoLISP source. Downloads directly; no zip to unpack. |
| Type | AutoCAD AutoLISP routine |
| Command | CEILGRID |
| Requires | the ActiveX layer (loaded automatically by the routine with vl-load-com). |
| Source size | 7.4 KB, 168 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
- CORRAL LISP — select everything inside the room boundary afterwards
- SHRINKWRAP LISP — build a boundary where none exists yet
- More free AutoLISP routines on this site
- Wisey’s Steel Shapes — free structural steel section drawing program