Skip to content

YusufEminoglu/PlanX-CAD

Repository files navigation

PlanX CAD Toolset

PlanX CAD Toolset

Drafting-grade CAD for urban planning — inside QGIS.

Release License: GPL v3 QGIS Plugin Hub Part of PlanX

Type L ↵, draw a line. Type F ↵, fillet a corner. 25+ CAD tools, an AutoCAD-style command line, and road-platform design — without ever leaving QGIS.

Install · Tools · Command line · Urban tools · Shortcuts · Türkçe


✨ Why PlanX CAD?

Muscle-memory friendly AutoCAD-style command aliases (L, PL, TR, F, CO…), empty-Enter repeats the last command, Up/Down recalls history — a real command loop.
📐 Drafting-grade picking A true 10-px pickbox with snap markers, hover highlighting, and self-pick protection in two-step tools (Fillet/Trim/Extend).
🏙️ Built for planners Interactive road platform generator, junction topology fixer, and block-corner chamfering — tools you won't find in generic CAD plugins.
🧩 Zero friction Pure QGIS API — no external dependencies, no build step. One dockable panel, native snapping, works on QGIS 3.28 LTR through QGIS 4.

Developed with feedback from educational workflows at Dokuz Eylül University, Department of City and Regional Planning.


🛠 Tool Catalog

Draw

Tool Command Shortcut Notes
Line L Ctrl+Shift+L Click-click, Enter to finish
Polyline PL PLINE Ctrl+Shift+P Backspace undoes last vertex
Rectangle REC Ctrl+Shift+R Two-corner
Polygon POL Ctrl+Shift+G N-vertex closed ring
Circle C Ctrl+Shift+C Centre + radius
Arc A Ctrl+Shift+A 3-point arc
Construction line XL / RAY / SEG Ctrl+Shift+K Infinite / ray / segment reference, dashed cyan layer

Modify

Tool Command Shortcut Notes
Offset O Ctrl+Shift+O Side-aware parallel copy
Multi-offset MO MOFF Ctrl+Shift+X N offsets in one pass
Trim TR Ctrl+Shift+T Click the side to remove
Extend EX Ctrl+Shift+E To nearest boundary intersection
Fillet F Ctrl+Shift+F Radius arc + auto-trim, live hover preview
Buffer B Ctrl+Shift+B Attribute-preserving
Hatch H Ctrl+Shift+H Parallel/cross/diagonal pattern fill, export-safe attributes
Divide DIV Ctrl+Shift+U Equal-length segmentation
Join J Ctrl+Shift+J Weld touching polylines
Vertex edit VE Ctrl+Shift+V Drag to move, click to insert, right-click to delete

Transform

Tool Command Shortcut
Move M Ctrl+Shift+M
Copy CO CP
Rotate RO
Scale SC
Mirror MI
Array (rect + polar) AR Ctrl+Shift+Y

All transforms are multipart-safe — holes and multi-rings survive.

Measure & Annotate

Tool Command Shortcut Notes
Distance DI DIST Ctrl+Shift+I Snap-aware running total
Area AA AREA Polygon area on canvas
Measure by selection Length/area totals of selected features
Linear dimension DIM Ctrl+Shift+D Permanent dimension layer with distance attributes + labels

⌨ AutoCAD-style Command Line

The dock's search box is a command line:

Command:  L ⏎          → Line starts
Command:  ⏎            → repeats the last command (AutoCAD muscle memory)
Command:  ↑ / ↓        → recall command history
Command:  fil…         → autocomplete popup suggests Fillet

Resolution precedence: alias → exact tool key → fuzzy name match. Unknown commands echo a clear message instead of failing silently. There is also a global command palette (Ctrl+Alt+P) with category filtering, Turkish aliases, and usage-based ordering.


🏙 Urban Planning Tools

🛣 Road Platform Generator Interactive road cross-section design: draw an axis, configure carriageway and lane widths, get a ready platform polygon.
Junction Topology Fixer Cleans A–B road intersection connections so your network stays topologically sound.
🔲 Block Chamfering (Ada Kırma) EasyFillet-powered corner rounding for urban blocks — one click per corner.

📦 Installation

From QGIS Plugin Hub (recommended)

Plugins → Manage and Install Plugins… → search for PlanX CAD Toolset → Install.

From ZIP

Download the latest planX_CAD_arac_Seti.zip from Releases, then Plugins → Install from ZIP.

From source (development)

git clone https://github.com/YusufEminoglu/PlanX-CAD.git
set QGIS_PLUGINPATH=<clone parent dir>   →  restart QGIS
Requirement Value
QGIS 3.28 LTR → 4.x (PyQt5 and PyQt6 verified)
Dependencies None — pure qgis.core / qgis.gui / qgis.PyQt
License GPL-3.0

⌨ Keyboard Shortcuts

Full shortcut map (click to expand)

Tools — Ctrl+Shift+…

L Line · P Polyline · R Rectangle · G Polygon · C Circle · A Arc · O Offset · T Trim · E Extend · F Fillet · B Buffer · M Move · Y Array · V Vertex edit · H Hatch · K Construction line · D Dimension · I Measure · U Divide · X Multi-offset · J Join · Space Repeat last tool · S Focus command line · / Shortcut guide

Workflow — Ctrl+Alt+…

P Command palette · E Toggle editing · C Cancel active tool · F Preflight checks · Q Quick start · H Docs · D Diagnostics · W Health check · T Usage stats · R Reset workspace · Y Shortcut audit · G Session checklist · N Issue template · V Release readiness


♿ Quality & Accessibility

  • Screen-reader complete — every interactive dock control exposes accessibleName/accessibleDescription; tool buttons are tab-focusable with a visible focus ring.
  • Dual-runtime verified — a static 11-check smoke gate (py -3 tests/smoke_compat.py, no QGIS needed) locks Qt5/Qt6 enum safety, metadata, pick-aperture behaviour, and import discipline on every release.
  • Guardrails everywhere — invalid tool starts (no layer / non-vector / read-only) are blocked with guided status messages; built-in diagnostics, health-check, and issue-template dialogs make bug reports one click.

🇹🇷 Türkçe Özet

PlanX CAD Araç Seti, QGIS içinde AutoCAD alışkanlıklarıyla çizim yapmanızı sağlayan hafif ve hızlı bir CAD eklentisidir:

  • 25+ CAD aracı: Çizgi, sürekli çizgi, dikdörtgen, çokgen, daire, yay; ofset, buda (trim), uzat, pah/yuvarlatma (fillet), tampon, tarama (hatch), böl, birleştir, köşe düzenleme; taşı, kopyala, döndür, ölçekle, aynala, dizi.
  • AutoCAD tarzı komut satırı: L ↵ çizgi, TR ↵ buda… Boş Enter son komutu tekrarlar; ↑/↓ komut geçmişini gezer.
  • Şehir plancısı araçları: Etkileşimli yol platformu üretici, kavşak topolojisi düzeltici ve EasyFillet tabanlı ada kırma.
  • Türkçe arayüz desteği: Tüm araç açıklamaları ve durum mesajları İngilizce + Türkçe'dir; komut paletinde Türkçe takma adlar da çalışır.

Kurulum: QGIS → Eklentiler → Eklentileri Yönet ve KurPlanX CAD Toolset aratın. Dokuz Eylül Üniversitesi Şehir ve Bölge Planlama Bölümü'ndeki eğitim iş akışlarından gelen geri bildirimlerle geliştirilmektedir.


🧩 Part of the PlanX ecosystem

This plugin is one of 15 open-source QGIS plugins for urban planning by the same author:

Planning & analysis CAD & production 3D & visualization
PlanX — spatial-planning suite PlanX CAD Toolset — drafting-grade CAD PlanX 3D City — Three.js city viewer
GeoStats Lab — spatial statistics EasyFillet — tangent-arc fillet 3D OSM Model — OSM → 3D city in browser
Suitability Lab — raster MCDA Settlement Toolset — 9-stage settlement plans OSM Quick 3D — OSM → native QGIS 3D
DataCube Lab — spatiotemporal cubes UIP Toolset — Turkish master-plan automation Urban Procedural 3D — parametric zoning lab
Urban Resilience — 28 resilience tools ParcelFlux — parcel subdivision CartoLab — publication cartography

🤝 Contributing & Support

  • 🐛 Bugs / requestsIssues — the in-plugin Issue Template dialog (Ctrl+Alt+N) pre-fills diagnostics for you.
  • 📜 ChangelogCHANGELOG.md follows Keep a Changelog.
  • ✅ Before a PR: run py -3 tests/smoke_compat.py (11 static checks, no QGIS required).

👤 Author

Yusuf Eminoğlu — urban planner & developer GitHub · yusuf.eminoglu@deu.edu.tr

Built with ❤️ for the planning classroom and the drafting desk. If PlanX CAD saves you time, a ⭐ helps others find it.

About

Drafting-grade CAD for urban planning inside QGIS - 25+ tools, AutoCAD-style command line, road platform design.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages