docs: add ROADMAP.md with unimplemented ribbon commands

Lists 33 stub commands across Insert, View, Manage, and Annotate tabs
with descriptions and Low/Medium/High complexity estimates.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Sonnet 4.6 committed 2026-04-09 19:49:06 +03:00
1 parent fce611d782
commit a879c9d878
1 file changed
+107 -290
+107 -290
View File
@@ -1,309 +1,126 @@
# H7CAD — Geliştirme Yol Haritası
# H7CAD — Feature Roadmap
> Sürüm: 0.1.4 | Güncelleme: 2026-04-08
Durum simgeleri: ✅ Tamamlandı · 🔧 Kısmen yapıldı · ⬜ Yapılmadı
Ribbon buttons that exist in the UI but have no backend implementation yet.
Each entry lists the command ID, what it should do, and rough complexity.
---
## 1. Dosya / Belge
## Insert Tab
| # | Özellik | Durum |
|---|---------|-------|
| 1.1 | DWG okuma (R13–R2018+) | ✅ |
| 1.2 | DXF okuma / yazma | ✅ |
| 1.3 | DWG yazma | ✅ |
| 1.4 | Otomatik format algılama (uzantıya göre) | ✅ |
| 1.5 | Çoklu sekme (tab) desteği | ✅ |
| 1.6 | Undo / Redo (snapshot stack) | ✅ |
| 1.7 | PDF dışa aktarma (CTB/STB plot style) | ✅ |
| 1.8 | Fiziksel yazıcıya yazdırma | ✅ PRINT komutu — lp/lpr (Linux/macOS), ShellExecute (Windows) |
| 1.9 | XREF (dış referans) yönetimi | ✅ Auto-resolve on open, XATTACH/XREF/XRELOAD commands |
| 1.10 | WBLOCK — bloğu dış dosyaya yazma | ✅ Block name or selected entities → DWG/DXF |
| 1.12 | Bozuk DWG kurtarma (failsafe parse) | ⬜ |
### Reference Group
| Command | Label | What it should do | Complexity |
|---|---|---|---|
| `XCLIP` | Clip | Define a clipping boundary on an inserted XREF or image block | Medium |
| `ADJUST` | Adjust | Adjust fade, contrast, and monochrome settings for an underlay | Low |
| `UNDERLAYLAYERS` | Underlay Layers | Show/hide individual layers inside a PDF/DWF underlay | Medium |
| `UOSNAP` | Snap to Underlays | Toggle object snap onto underlay geometry | Low |
| `FRAMES0/1/2` | Frames | Set underlay frame visibility (Off / On / On+Print) | Low |
### Point Cloud Group
| Command | Label | What it should do | Complexity |
|---|---|---|---|
| `POINTCLOUDATTACH` | Attach | Attach an RCP/RCS point cloud file as an external reference | High |
### Block Group
| Command | Label | What it should do | Complexity |
|---|---|---|---|
| `BLOCKPALETTE` | Multi-View Block | Open the block palette for inserting blocks with multiple views | Medium |
| `BEDIT` | Edit Block | Open the in-place block editor for the selected or named block | High |
| `BASE` | Set Base Point | Set the drawing base point (used as default 0,0,0 for XREF insertion) | Low |
### Attributes Group
| Command | Label | What it should do | Complexity |
|---|---|---|---|
| `ATTMAN` | Manage | Open attribute manager dialog (view/edit all attdefs in the drawing) | Medium |
| `ATTSYNC` | Synchronize | Synchronize attribute definitions across all INSERT instances of a block | Medium |
### Import Group
| Command | Label | What it should do | Complexity |
|---|---|---|---|
| `LANDXMLIMPORT` | Land XML | Import a LandXML file as survey/topo geometry | High |
### Content Group
| Command | Label | What it should do | Complexity |
|---|---|---|---|
| `CONTENTBROWSER` | Content Browser | Open Autodesk content browser for downloading blocks/materials | High |
| `ADCENTER` | Design Center | Open design center panel to browse/insert blocks from other drawings | High |
### Tables Group (Annotate Tab)
| Command | Label | What it should do | Complexity |
|---|---|---|---|
| `DATALINK` | Link Data | Create a data link between a table cell and an external Excel/CSV file | High |
| `DATAEXTRACTION` | Extract Data | Run the data extraction wizard to export attribute/property data | High |
---
## 2. Görselleştirme / Render
## View Tab
| # | Özellik | Durum |
|---|---------|-------|
| 2.1 | Wire (çizgi) render pipeline (GPU) | ✅ |
| 2.2 | Mesh (solid) render pipeline (GPU) | ✅ |
| 2.3 | Hatch (tarama) render pipeline (GPU) | ✅ |
| 2.4 | Raster image (PNG/JPG/BMP/TIFF) pipeline | ✅ |
| 2.5 | Wipeout maskeleme | ✅ |
| 2.6 | Wireframe / Hidden / Solid / X-Ray görünüm modları | ✅ |
| 2.7 | Karmaşık linetype (shape + dot + dash) render | ✅ |
| 2.8 | Arka plan rengi (BACKGROUND komutu) | ✅ |
| 2.9 | Çizim sırası (draw order / SortEntitiesTable) | ✅ |
| 2.10 | ViewCube (3D yönelim küpü) | ✅ |
| 2.11 | UCS simgesi (XYZ tripod) | ✅ |
| 2.12 | Solid3D / 3DSOLID tessellation (truck pipeline) | ✅ |
| 2.13 | Region / Body / Wire / Silhouette entity render | ✅ Region+Body ACIS tessellation; Wire/Silhouette polyline fallback render |
| 2.14 | Anti-aliasing / MSAA (4×) | ✅ |
### Viewport Tools Group
| Command | Label | What it should do | Complexity |
|---|---|---|---|
| `NAVVCUBE` | ViewCube | Toggle ViewCube display on/off in the viewport | Low |
| `NAVBAR` | Navigation Bar | Toggle the navigation bar (pan/zoom/orbit toolbar) on/off | Low |
### Model Viewports Group
| Command | Label | What it should do | Complexity |
|---|---|---|---|
| `VPJOIN` | Join | Join two adjacent viewports into one | Medium |
| `VPORTS_NAMED` | Named | Open the named viewports dialog to restore a saved viewport layout | Medium |
| `VPORTS_RESTORE` | Restore | Restore a previously saved named viewport configuration | Medium |
### Palettes Group
| Command | Label | What it should do | Complexity |
|---|---|---|---|
| `TOOLPALETTES` | Tool Palettes | Toggle the tool palettes panel | Medium |
| `PROPERTIES` | Properties | Toggle the properties panel showing selected entity properties | High |
| `SHEETSET` | Sheet Set Manager | Open the sheet set manager panel | High |
### Interface Group
| Command | Label | What it should do | Complexity |
|---|---|---|---|
| `FILETAB` | File Tabs | Toggle the file tab bar at the top of the drawing area | Low |
| `LAYOUTTAB` | Layout Tabs | Toggle the layout tab bar at the bottom of the drawing area | Low |
| `HORIZONTAL` | Tile Horizontally | Tile all open drawing windows horizontally | Low |
| `VERTICAL` | Tile Vertically | Tile all open drawing windows vertically | Low |
| `CASCADE` | Cascade | Cascade all open drawing windows | Low |
---
## 3. Entity Desteği (acadrust)
## Manage Tab
### 3.1 Tam Desteklenen Entity'ler
✅ Arc · Circle · Line · Ellipse · Spline · LwPolyline · Polyline (2D/3D) ·
Point · Solid (2D) · Ray · XLine · Face3D · Shape · Mesh ·
Text · MText · Attribute / AttDef · Leader · MultiLeader · Tolerance ·
Hatch · Dimension (Linear/Aligned/Angular/Diameter/Radius/Ordinate) ·
Insert (Block) · Table · MLine · Viewport · RasterImage · Wipeout ·
Underlay (PDF/DWF/DGN)
### Customization Group
### 3.2 Kısmen / Sadece Okunabilir
| Entity | Durum |
|--------|-------|
| Solid3D (3DSOLID) | ✅ ACIS SAT tessellation |
| Region | ✅ ACIS SAT tessellation |
| Body | ✅ ACIS SAT tessellation |
| Wire / Silhouette | ✅ Pre-computed polyline render (from Solid3D.wires / silhouettes) |
| Ole2Frame | ✅ Bounding rectangle placeholder (X-through-box) |
| Command | Label | What it should do | Complexity |
|---|---|---|---|
| `CUI` | User Interface | Open the customize user interface editor (ribbon, toolbars, keybindings) | High |
| `CUIIMPORT` | Import | Import a partial CUI/CUIX customization file | Medium |
| `CUIEXPORT` | Export | Export the current customization to a CUI/CUIX file | Medium |
| `ALIASEDIT` | Edit Aliases | Open the command alias editor (acad.pgp equivalent) | Medium |
| `CUILOAD` | Load Partial CUI | Load an additional partial customization file at runtime | Medium |
### 3.3 XDATA (Genişletilmiş Veri)
✅ LIST / SET / CLEAR komutları tam entegre
### Cleanup Group
| Command | Label | What it should do | Complexity |
|---|---|---|---|
| `OVERKILL` | Overkill | Remove duplicate and overlapping geometry from the drawing | High |
| `AUDIT` | Audit | Check and repair drawing file integrity, report errors | High |
| `FINDNONPURGEABLE` | Find Non-Purgeable Items | List all items that cannot be purged (in-use blocks, styles, layers) | Medium |
---
## 4. Çizim (Draw) Komutları
## Complexity Key
| Komut | Durum |
|-------|-------|
| LINE (L) | ✅ |
| CIRCLE (C) | ✅ |
| ARC (A) | ✅ |
| ELLIPSE (EL) | ✅ |
| SPLINE (SPL) | ✅ |
| PLINE / LWPOLYLINE | ✅ |
| POLYLINE 3D | ✅ |
| POINT (PO) | ✅ |
| RAY | ✅ |
| XLINE (XL) | ✅ |
| HATCH (H) | ✅ |
| TEXT (DT) | ✅ |
| MTEXT (T) | ✅ |
| MLINE (ML) | ✅ |
| DONUT (DO) | ✅ |
| REVCLOUD | ✅ |
| WIPEOUT (WO) | ✅ |
| IMAGE (raster yerleştirme) | ✅ |
| SHAPE | ✅ |
| ATTDEF | ✅ |
| SOLID (2D dolu dörtgen) | ✅ |
| RECTANG (REC) | ✅ |
| POLYGON (POL) | ✅ |
| CONSTRUCTION LINE (tam sonsuz) | ✅ |
---
## 5. Modify (Düzenleme) Komutları
| Komut | Durum | Eksik Entity |
|-------|-------|--------------|
| MOVE (M) | ✅ | — |
| COPY (CO) | ✅ | — |
| ROTATE (RO) | ✅ | — |
| SCALE (SC) | ✅ | — |
| MIRROR (MI) | ✅ | — |
| DELETE / ERASE (E) | ✅ | — |
| ALIGN (AL) | ✅ | — |
| ARRAY Rectangular | ✅ | — |
| ARRAY Polar | ✅ | — |
| ARRAY Path | ✅ | — |
| BREAK (BR) | ✅ | — |
| TRIM (TR) | ✅ | — |
| EXTEND (EX) | ✅ | — |
| OFFSET (O) | ✅ | — |
| LENGTHEN (LEN) | ✅ | — |
| FILLET (F) | ✅ | — |
| CHAMFER (CHA) | ✅ | — |
| JOIN (J) | ✅ | — |
| EXPLODE (X) | ✅ | — |
| PEDIT (PE) | ✅ | — |
| STRETCH (SS) | ✅ | — |
| SPLINEDIT | ✅ CLOSE/OPEN/REVERSE + grip editing | — |
| HATCHEDIT | ✅ | — |
| ATTEDIT | ✅ Interactive tag-by-tag value editing | — |
| DDEDIT (çift tık metin) | ✅ | — |
| REFEDIT | ✅ | Block in-place düzenleme |
| DIVIDE (DIV) | ✅ | — |
| MEASURE (ME) | ✅ | — |
---
## 6. Annotate (Ölçülendirme / Açıklama)
| Özellik | Durum |
|---------|-------|
| DIMLINEAR (DLI) | ✅ |
| DIMALIGNED (DAL) | ✅ |
| DIMANGULAR (DAN) | ✅ |
| DIMDIAMETER (DDI) | ✅ |
| DIMRADIUS (DRA) | ✅ |
| DIMBASELINE | ✅ |
| DIMCONTINUE | ✅ |
| LEADER (LE) | ✅ |
| MLEADER (MLD) | ✅ |
| TABLE | ✅ |
| TOLERANCE (GD&T) | ✅ |
| TEXT (DT) | ✅ |
| MTEXT (T) | ✅ |
| DIMSTYLE yöneticisi (DIMSTYLE/DDIM) | ✅ |
| MLEADERSTYLE | ✅ |
| DIMORDINATE | ✅ |
---
## 7. Layer ve Stil Yönetimi
| Özellik | Durum |
|---------|-------|
| Layer Manager paneli | ✅ |
| LAYOFF / LAYON | ✅ |
| LAYFRZ / LAYTHW | ✅ |
| LAYLCK / LAYULK | ✅ |
| LAYISO / LAYUNISO | ✅ |
| Per-viewport layer freeze | ✅ |
| MATCHLAYER | ✅ |
| COLOR (renk atama) | ✅ |
| LINETYPE yönetimi | ✅ |
| LINEWEIGHT | ✅ |
| Transparency | ✅ |
| STYLE (TextStyle browser) | ✅ |
| DIMSTYLE | ✅ |
| MLSTYLE | ✅ |
| TABLESTYLE | ✅ |
| PLOTSTYLE (CTB/STB) | ✅ |
| Plot style arayüzü (GUI) | ✅ |
---
## 8. Görünüm (View) ve Navigasyon
| Özellik | Durum |
|---------|-------|
| Pan (orta tuş / P) | ✅ |
| Zoom In / Out / Extent / All / Scale / Window | ✅ |
| Orbit (3D döndür) | ✅ |
| Perspektif / Ortografik geçiş | ✅ |
| Top / Front / Right / Isometric standart görünümler | ✅ |
| Plot Window önizleme | ✅ |
| UCS (WCS↔UCS dönüşüm pipeline) | ✅ |
| Named Views (VIEW komutu) | ✅ |
| Named UCS kaydetme | ✅ UCS SAVE/DELETE/LIST |
| VPORTS (viewport bölme) | ✅ VPORTS 2H / 2V / 4 / SINGLE preset konfigürasyonlar |
| Nesne snap izleme (Object Snap Tracking) | ✅ F11 toggle, dwell-acquire tracking lines |
| Dynamic Input overlay | ✅ F12 toggle, absolute XY + relative dist/angle |
---
## 9. Snap (Yakalama)
| Özellik | Durum |
|---------|-------|
| Endpoint / Midpoint / Center / Quadrant / Intersection | ✅ |
| Perpendicular / Tangent / Nearest | ✅ |
| Grid snap | ✅ Zoom-adaptive spacing |
| Polar tracking | ✅ Configurable angle, guide line |
| Object snap tracking | ✅ Dwell-acquire, H/V tracking lines, alignment snap |
---
## 10. Insert (Blok ve 3D Primitifler)
| Özellik | Durum |
|---------|-------|
| BLOCK (blok tanımlama) | ✅ |
| INSERT (blok yerleştirme) | ✅ |
| GROUP / UNGROUP | ✅ |
| Clipboard: COPY / CUT / PASTE / PASTEORIG | ✅ |
| 3D Box primitive | ✅ |
| 3D Sphere primitive | ✅ |
| 3D Cylinder primitive | ✅ |
| OBJ dosyası içe aktarma | ✅ |
| REFEDIT (block yerinde düzenleme) | ✅ |
| WBLOCK (bloğu dış dosyaya yaz) | ✅ |
| Attributeli INSERT akışı (ATTREQ) | ✅ |
---
## 11. Layout ve Kağıt Alanı
| Özellik | Durum |
|---------|-------|
| Model Space / Paper Space ayrımı | ✅ |
| MVIEW (viewport oluşturma) | ✅ |
| Per-viewport layer visibility | ✅ |
| Plot ayarları (PlotSettings) | ✅ |
| Çoklu named layout sekmeleri | ✅ |
| VPLAYER — viewport katman override | ✅ F/T subcommands, freeze/thaw per viewport |
| Layout Manager arayüzü | ✅ |
---
## 12. Inquiry (Sorgulama)
| Özellik | Durum |
|---------|-------|
| DIST — iki nokta arası mesafe | ✅ |
| ID — nokta koordinatı | ✅ |
| AREA — alan hesabı | ✅ |
| LIST — entity özellikleri | ✅ |
| FIND / FINDALL — metin ara/değiştir | ✅ |
| COUNT — entity istatistiği | ✅ |
| QSELECT — özelliğe göre seç | ✅ |
| FLATTEN (Z=0 düzleme) | ✅ |
| MASSPROP (alan merkezi, atalet) | ✅ |
| DATAEXTRACTION | ✅ CSV export: type/handle/layer/color/linetype/geometry |
---
## 13. UI / UX
| Özellik | Durum |
|---------|-------|
| Ribbon toolbar | ✅ |
| Command line | ✅ |
| Properties paneli | ✅ |
| Layer Manager paneli | ✅ |
| Status bar (viewport sayısı) | ✅ |
| Snap açılır popup | ✅ |
| Grip düzenleme (tüm entity tipleri) | ✅ |
| MATCHPROP (özellik kopyala) | ✅ |
| BYLAYER hızlı atama | ✅ |
| Çoklu seçim (window/crossing) | ✅ |
| Sağ tık bağlam menüsü | ✅ |
| Araç çubuğu özelleştirme | ⬜ |
| Tema / Renk şeması seçimi | ✅ |
| Klavye kısayol düzenleyici | ✅ |
| Komut geçmişi gezinme (↑↓) | ✅ |
---
## 14. 3D / Solid Modelleme
| Özellik | Durum |
|---------|-------|
| Truck geometry pipeline entegrasyonu | ✅ |
| 3D primitive'ler (Box, Sphere, Cylinder) | ✅ |
| OBJ mesh içe aktarma | ✅ |
| Solid3D tessellation (acadrust ACIS) | ✅ |
| Boolean operasyonlar (UNION/SUBTRACT/INTERSECT) | ⬜ |
| EXTRUDE / REVOLVE | ✅ |
| SWEEP / LOFT | ✅ |
| 3D ARRAY | ✅ |
| STL dışa aktarma (STLOUT) | ✅ |
| STEP dışa aktarma | ✅ STEPOUT/STPOUT/EXPORTSTEP — AP203 ASCII, her üçgen ADVANCED_FACE |
---
## Öncelik Sırası (Bir Sonraki Adımlar)
### Düşük Öncelik
1. Bozuk DWG kurtarma (failsafe parse) — acadrust kütüphanesi desteği gerektirir
2. Boolean 3D operasyonlar (UNION/SUBTRACT/INTERSECT) — truck BREP desteği gerektirir
3. Araç çubuğu özelleştirme (ribbon öğe gizleme/sıralama)
- **Low** — a single flag/variable toggle or simple dialog, no geometry math
- **Medium** — involves UI interaction or document-level table edits
- **High** — requires new data structures, complex geometry, or external file I/O