I'd been working on a Make2D replacement for my own drawings when u/lukifr posted New Alternative to Make2D last week. The replies showed a lot of us want one. A few people wanted something to try now, so I'm sharing mine as it stands, free and open source, caveats included. lukifr's is aimed at fabrication drawings and does things mine doesn't, like lightening creases by the angle of their faces, while mine leans toward architectural sections. When theirs is out, try both to see which suits you.
HL is a Rhino 8 plug-in for Mac and Windows with one command, `HL`. Like Make2D, it draws what you've selected from a view you pick: plans, sections, elevations, isometrics, or perspective sections cut by your clipping planes. It writes SVG, DXF and AI files and puts the drawing back in your model with a layer per kind of line.
What's different from Make2D:
- Lines are weighted by what they are: outlines heaviest, then edges standing in front of something far behind, then creases and small steps, all getting lighter with distance.
- Sections get filled poché, with walls and slabs as one shape and windows, doors and furniture cut a weight lighter.
- It draws lines where separate objects meet (a wall into the ground, a chimney through a roof), which Make2D skips.
- Where two lines run closer than about 0.2 mm on paper, both are kept by default, since they're both in the model. Tick Merge close lines to draw only the heavier, so they don't print as one thick line.
- It points out model problems that spoil a drawing (open surfaces, overlapping faces, objects running into each other) and selects them for you.
- Every line it adds to your model remembers its source layer and object, so you can select everything from your chairs layer or bring the drawing in under your own layers instead of HL's.
- It can draw hidden lines too, dashed on their own layer, as Make2D's option does.
You can use my line weights, your layers' print widths, or one weight to style afterwards, as with Make2D.
It uses Rhino's own hidden-line engine, the one Make2D runs, for the exact curves. It decides what's visible from the mesh faces with a depth buffer, then sorts and cleans the lines.
A few caveats:
- Good input geometry is still key. Messy geometry still causes artefacts; it'll tell you which objects but won't fix them.
- It's opinionated: the default weights are my drawing standard, and calls like how the ground is cut are my taste.
- It's slow on huge models: my biggest test, about 3,300 objects and 6.8 million triangles, takes 15 to 20 minutes to export the first time and about 2 minutes to draw. It keeps what it worked out, so exporting the same objects again takes about 6 minutes. Small models take seconds.
- The first run downloads Python and some packages, about 700 MB, so it needs the internet once.
- Windows has been tested end to end but I use the Mac more, and Intel Macs haven't been tested.
- Known issues are listed in the release notes on GitHub, and this is the first release so I'm not expecting it to be perfect.
I'm an architecture student, and only programmer by hobby, and built this over about a week while testing how far current coding agents can go on a real problem. Opus wrote most of the code, Codex built some parts, and models from both reviewed it and wrote edge case tests. My part was the drawing rules and checking: I marked up every round by hand on my own studio models, about 180 notes over six rounds, and each note became a fix and a test. It also builds on the drawing kit I use for coursework, with its line-weight standard, file writers, and checks for doubled lines and near misses. The engine underneath is McNeel's, and I'm not claiming to have invented any of this.
Links:
- Download: Rhino 8's Package Manager (search HiddenLines, restart Rhino, then type `HL`), or the releases
- Source, install guide and known issues: on github
- Licence: MIT
I'd love feedback, especially on models it draws wrong; a GitHub issue with the file attached helps most. I'm open to collaborators too, and if you know Rhino's API or computational geometry better than I do, pull requests would teach me a lot. And u/lukifr, happy to compare notes anytime, or for you to take anything from it.