From a879c9d87885bebbd17b94ad9e5c0f9726d8a000 Mon Sep 17 00:00:00 2001 From: Hakan Seven Date: Thu, 9 Apr 2026 19:49:06 +0300 Subject: [PATCH] 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 --- ROADMAP.md | 397 +++++++++++++++-------------------------------------- 1 file changed, 107 insertions(+), 290 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index c2f6bc70b..12bf87257 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -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