Hello LibreCAD community!
I am a progressive die designer and I have been using LibreCAD for 2D technical drawings. I needed a way to quickly select specific hole features (bolts, pins, columns, etc.) based on their properties, so I developed the **Hole Selection Wizard**.
## What it does
The Hole Selection Wizard adds a new command under **Tools → Select → Hole Selection Wizard** that allows you to select circles and arcs by:
- **Diameter** (with tolerance)
- **Color** (ByLayer or custom color)
- **Line type** (ByLayer, Continuous, Dash, Dot, DashDot, DashDotDot, Center)
- **Layer**
- **Apply to**: entire active layer or a user-defined rectangular area
**Safety feature:** The wizard only selects entities on visible (non-frozen) layers, preventing accidental modification of hidden geometry.
## Workflow
1. Open **Tools → Select → Hole Selection Wizard**
2. Set your filters
3. Choose search area (entire layer or draw a rectangle)
4. All matching circles/arcs are selected
5. Apply any LibreCAD operation (move, copy, delete, attributes, etc.)
## Source Code
The source code and integration instructions are available on GitHub:
https://github.com/emreonen/librecad-hole-selection-wizardThe integration requires modifying a few existing files (`rs.h`, `lc_actionfactory.cpp`, `lc_menufactory.cpp`, `lc_actionhandlerfactory.cpp`, `src.pro`) — full instructions are in the README.
I hope this is useful for other mechanical designers using LibreCAD. Feedback and contributions are welcome!
Best regards,
Emre