< PartLayer >
An AutoCAD plug-in that takes the sheet parts out of a 3D model and lays them flat, ready to cut.
What it is
You model a scenic unit in 3D solids. Then somebody has to turn it into flat parts on a cut sheet, and that is an hour of rotating copies onto the XY plane by hand, one part at a time, getting the long axis the same way round each time.
PartLayer is the command that does it. Select the solids, pick a point. It works out which face of each solid is the sheet face, copies the part, rotates the copy flat onto Z=0, groups the copies, sorts each group largest-first, stacks them in columns, titles each one with its finished size, and emits the cut profile as 2D curves.
Your originals are never touched — it draws copies. One U reverses an entire run.
It stops at flat 2D geometry. Tooling, kerf, nesting and the actual CNC operation are downstream and deliberately not its job.
AutoCAD 2025 or 2026, Windows, 64-bit. AutoCAD LT cannot run it — LT has no .NET plug-in API.
Installing
Three steps, and the first one is the one that matters.
- Right-click the downloaded ZIP → Properties → tick Unblock → OK. Before you extract it.
- Close AutoCAD. Copy the
PartLayer.bundlefolder out of the ZIP into%APPDATA%\Autodesk\ApplicationPlugins\. - Start AutoCAD and type
PTLVER. It should printPartLayer 1.0.0-alpha.
Step 1 is not optional. Windows tags files downloaded from the internet, AutoCAD silently refuses to load a tagged DLL, and extracting a tagged ZIP copies the tag onto every file inside it. Skipping it is the single most common reason the plug-in appears to install and then does nothing at all — with no error message of any kind.
No installer, no NETLOAD, no registry keys. Uninstalling is deleting the folder. If PTLVER is not recognised, the install guide works through the four causes in order; INSTALL.txt ships inside the ZIP and says the same thing.
Four commands
PTLINFO— start here. Analyses a selection and reports what PartLayer makes of each solid: sheet face, length, width, thickness, and why it skipped anything it skipped. Draws nothing.PTL— the run. Select, pick a point, done. The point prompt also offersSwitchStyleandTune.-PTL— the same run with all thirteen settings exposed as command-line keywords, for macros and toolbar buttons.PTLVER— print the version.
Every command answers to a longer name as well — PARTLAY, PARTLAYINFO, PARTLAYVER, -PARTLAY — in case a shop alias has already taken the short one. Full keyword and template reference in COMMANDS.md.
What a run produces
Cut profiles, by default. Each laid part's face is extracted to LINE / ARC / ELLIPSE / SPLINE curves on PTL_CUT for the outline and PTL_CUT_INNER for holes, and the laid solid is then erased. The curves are the product. The output entity type follows the source curve rather than flattening everything to polylines.
On their own layers. PTL_ plus the source layer name, by default — so a cut sheet is one layer filter away from the model it came from. You can keep the source layer instead, or send everything to one fixed layer.
Grouped, sorted, titled. Parts group by a template that defaults to the source layer, sort largest-first inside each group, and stack in columns with a header. Each part gets a title from a template that defaults to index, then length by width in the drawing's current units.
What it deliberately is not
These are decisions with reasons, not gaps waiting to be filled.
- Flat sheet stock only. Angled edges, dados and arbitrary non-sheet geometry are out of scope. A solid it cannot read is reported by handle and skipped; the rest of the run still lays out.
- No nesting. Parts stack in columns for legibility, not packed for yield.
- No tooling, no kerf, no toolpaths. The output is geometry. What cuts it is a downstream problem, on purpose.
- No ribbon, no toolbar, no dialogs. The commands are typed.
-PTLis the one to hang a button on. - No chirality tracking. Turning a panel over mirrors its outline. That is intended, not a bug to report.
- AutoCAD 2025 and 2026 only. On any other release the bundle is correctly ignored, and ignored silently.
The alpha
It is in daily use by its author on real production drawings. It has not been through many hands, which is the whole reason it is here.
- Work on a copy of any drawing you care about, or save before running
PTL. - Rotation on L-shaped and other asymmetric parts is chosen by a heuristic and will sometimes look wrong. Known, and not fixable from inside the drawing yet.
- The install can fail silently. See the note above. If nothing happens, it is almost always the zone marker.
A sample drawing that exercises the command sits in the repository at samples/panels.dwg.
Reporting a bug
Email rob@rjgarner.com with “PartLayer” in the subject. REPORTING.md has the detail; the short version is that a report is useful roughly in proportion to whether the geometry came with it. If a part comes out wrong, the solid that produced it is worth more than any description of it — and one exploded copy of that solid in a blank drawing is enough.
If the plug-in will not load at all, send three things and nothing else is needed: the output of TRUSTEDPATHS, your AutoCAD version from the ABOUT box, and a screenshot of the PartLayer.bundle folder.
Source
Source is published at github.com/LemJukes/PartLayer-pub. C# on .NET 8; PartLayer.Core is pure geometry and layout math with no AutoCAD references and carries the test suite, PartLayer.Cad is everything that touches AutoCAD. dotnet build and dotnet test; AutoCAD itself is not needed to build.
Not open source yet, deliberately. All rights reserved, with an explicit grant to download, install, use — including commercially — and build this alpha. A permissive licence cannot be retracted from code already published under it, so the alpha starts at the end that leaves the decision open. Exact terms in NOTICE.md.
None of Autodesk's code is redistributed. The two DLLs in the package are the whole payload and both are this project's own.
Disclaimer: the majority of this source code was generated by AI/LLM tooling; all design decisions and responsibility for the software rest solely with the developer.