mirror of
https://github.com/storytold/cadcraft.git
synced 2026-10-24 02:46:51 -06:00
* DXF/DWG: angular, diametric and radial dimensions get DIMASSOC (#1651) std_assoc_refs had slots only for linear/aligned and ordinate dimensions, so every other associative kind was saved without a DIMASSOC object: AutoCAD did not follow angular, diameter or radius dimensions, although CADCraft itself did through its xdata. Write the references AutoCAD writes for each kind: both lines of an angular dimension (4 point references; the 3-point kind its three definition points) and, for radial and diametric dimensions, the single centre reference to the circle or arc (associativity flag 2), which is how AutoCAD files store them. Read the same references back, with the circle's definition points reconstructed, so files from other writers associate those kinds too. Curve start references now use osnap 13 as AutoCAD writes them (1 is the end), which also lets a stored point of 0,0,0 resolve to the right end. Tests: the issue's commands through the engine, and a DXF/DWG round trip with CADCraft's xdata stripped so only the standard objects remain. * docs: document the functions touched by #1651 * DXF read: a line's osnap 1 with a stored point still picks the nearer end (other writers) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Brandon Thomas <echelon@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>