forked from 1b-agent/opencadstudio-upstream
A dimension's drawn geometry lives in a baked anonymous *D block. COPY cloned the Dimension entity (translating its definition points) but left its block_name pointing at the source block, whose sub-entities stay at the original location — so the copy rendered on top of the original and appeared not to copy at all. Add `clone_transformed_block`: when copying a dimension that has a baked block, duplicate that block under a fresh *D name with every sub-entity transformed by the same offset, and repoint the copy at it. The copy now lands at the drop point with its baked geometry and text preserved (no synthesis, so diameter/radius values stay correct). Covered by a portable regression test. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>