feat: REFEDIT / REFCLOSE — in-place block reference editing

REFEDIT picks an INSERT, extracts the block entities into model space
with the INSERT transform applied (translate + rotate + uniform scale),
and enters an editing session.  Any normal modify command works on the
temporary entities.

REFCLOSE SAVE applies the inverse transform, replaces the block
definition, and rebuilds all derived caches (hatch/image/mesh), so
every INSERT of that block reflects the edits immediately.
REFCLOSE DISCARD removes the temp entities without changing the block.

Non-uniform-scale inserts are rejected with an error message.
RefEditSession is stored on DocumentTab; undo snapshots bracket the
begin and close operations.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Sonnet 4.6 committed 2026-04-08 12:40:19 +03:00
1 parent 42048362e2
commit a773a1a1f1
6 files changed
+442 -2

No files matched your search

+2 -2
View File
@@ -129,7 +129,7 @@ Underlay (PDF/DWF/DGN)
| HATCHEDIT | ✅ | — |
| ATTEDIT | ✅ Interactive tag-by-tag value editing | — |
| DDEDIT (çift tık metin) | ✅ | — |
| REFEDIT | ⬜ | Block in-place düzenleme |
| REFEDIT | ✅ | Block in-place düzenleme |
| DIVIDE (DIV) | ✅ | — |
| MEASURE (ME) | ✅ | — |
@@ -225,7 +225,7 @@ Underlay (PDF/DWF/DGN)
| 3D Sphere primitive | ✅ |
| 3D Cylinder primitive | ✅ |
| OBJ dosyası içe aktarma | ✅ |
| REFEDIT (block yerinde düzenleme) | ⬜ |
| REFEDIT (block yerinde düzenleme) | ✅ |
| WBLOCK (bloğu dış dosyaya yaz) | ✅ |
| Attributeli INSERT akışı (ATTREQ) | ✅ |