Commit Graph
348 Commits
Author SHA1 Message Date
ramox81 2263168a2a Complete multiline command and properties behavior 2026-08-22 20:20:34 +03:00
Hakan Seven d9aead3fbc Merge pull request #856 from ramox81/codex/align-circle-behavior 2026-08-21 23:29:57 +03:00
Hakan Seven a87ca09fa4 Merge pull request #854 from ramox81/codex/align-arc-behavior 2026-08-21 21:41:24 +03:00
Hakan Seven bd5f9436ea Merge pull request #852 from ramox81/codex/complete-hatch-workflow 2026-08-21 21:02:14 +03:00
Hakan Seven 4bc02b6b4a fix: correct hatch geometry workflow 2026-08-21 20:52:03 +03:00
Hakan Seven b648000e78 Merge pull request #850 from ramox81/codex/associative-center-mark 2026-08-21 20:19:54 +03:00
Hakan Seven a59537c337 Merge pull request #848 from ramox81/codex/complete-solid-workflow 2026-08-21 19:54:38 +03:00
Hakan Seven ee89458f8a fix(solid): use kernel geometry
Derive extrusion, bounds, edges, and fill from cadkernel while preserving precise view filtering and stable GPU uploads.
2026-08-21 19:47:03 +03:00
Hakan Seven 77e1f1b876 fix(plot): respect non-printing layers
Filter nested block, attribute, table, hatch, and wipeout geometry during export while preserving canvas visibility.
2026-08-21 18:57:23 +03:00
ramox81 390d42a63a Support planar circle tangent snapping 2026-08-21 16:49:49 +03:00
ramox81 5b4c1da881 Use world-space circle properties and grips 2026-08-21 16:49:39 +03:00
ramox81 5f9d8a9e0e Align arc creation and editing behavior 2026-08-21 14:03:58 +03:00
ramox81 f83037271c Complete hatch creation and editing workflow 2026-08-21 12:57:19 +03:00
ramox81 ff09fc7800 Implement associative center mark workflow 2026-08-21 12:05:18 +03:00
ramox81 eba4fb87a8 Complete associative centerline workflow 2026-08-21 11:01:18 +03:00
ramox81 17dc0aff39 Complete 2D solid workflow 2026-08-21 10:14:26 +03:00
Hakan Seven 44efb8fd53 feat(frame): complete frame controls
Preserve frame geometry for selection while separating viewport and plot visibility across supported reference entities.

Refs #642
2026-08-20 23:37:02 +03:00
Hakan Seven 2a852f4479 feat(gradient): align editing and rendering 2026-08-20 21:17:10 +03:00
Hakan Seven 667f20d604 feat(revcloud): complete editing workflow
Keep source planes intact and stored Mline offsets in sync.

Refs #626
2026-08-20 20:33:57 +03:00
Hakan Seven 9d60c2a2ef fix(units): carry rounded values
Round before splitting display units while preserving large lengths and high-precision cardinal bearings.
2026-08-20 19:01:53 +03:00
Hakan Seven 10aac8e9a3 fix(point): keep definition points as dots
Ignore drawing point styles on direct and referenced definition-point layers.\n\nRefs #790
2026-08-20 18:21:13 +03:00
ramox81 b7819481f0 Complete wipeout workflow and editing 2026-08-20 17:56:11 +03:00
ramox81 aee3397f5d fix(gradient): align properties and editing 2026-08-20 15:33:09 +03:00
Hakan Seven 5e62da464e fix(properties): preserve literal text
Separate numeric fields from names and content so only numeric property values are evaluated as expressions.

Refs #809
2026-08-20 14:58:12 +03:00
ramox81 be2335bfa1 fix(revcloud): correct arcs and property editing 2026-08-20 14:43:55 +03:00
Hakan Seven dcedf945ea feat(spline): correct property semantics
Merge PR #824 while keeping periodic and coplanarity geometry in cadkernel.
2026-08-20 12:13:35 +03:00
Hakan Seven 1c408e3a73 feat(spline): improve fit and CV editing
Keep planar conversions kernel-backed and leave unsupported 3D, CV-to-fit, and closed rebuilds unavailable instead of changing curve data.\n\nRefs #815
2026-08-20 00:18:45 +03:00
Hakan Seven 0f250bb485 feat(ellipse): add complete grip editing 2026-08-19 23:48:13 +03:00
Hakan Seven 8601fd8e4b fix(render): draw block-contained 3D faces 2026-08-19 23:34:10 +03:00
NgoQuocViet2001 2a26c8cad1 fix(units): carry a rounded-up angle the same way
dms() rounded the seconds after splitting the degrees and minutes off, so
seconds that rounded up had nowhere to go:

  45.9999 deg at AUPREC 0  -> 45d59'60"
  89.99999 deg             -> 89d59'60"

Round once, into the smallest unit shown, and split degrees and minutes out
of the rounded total, as format_length now does.

surveyor() then needed the same treatment one level up: it chose its pole
and quadrant from the unrounded direction, so a bearing that rounded to the
quarter turn came out as the contradictory `S 90d0'0" E` the function's own
doc comment sets out to avoid. Snap the direction to the shown resolution
before deciding, so 359.99999 deg at AUPREC 0 is `E` rather than a bearing
of ninety degrees.
2026-08-19 21:46:44 +07:00
NgoQuocViet2001 5c81d33027 fix(units): carry a length that rounds up to the next unit
format_length rounded the fraction after splitting the whole part off, so a
value that rounded up to a full unit had nowhere to go:

  fractional     5.995   -> 5          (64/64 reduced to 1/1, then dropped)
  fractional     0.995   -> 0
  architectural  11.999  -> 0'-11"
  architectural  23.999  -> 1'-11"
  engineering    11.99   -> 0'-12.0"   (twelve inches is a foot)
  engineering    23.99   -> 1'-12.0"

Round once, into the smallest unit that will be shown, then split feet and
whole inches out of the rounded total. The carry reaches every column, so
the same values now read 6, 1, 1'-0", 2'-0", 1'-0.0" and 2'-0.0".
2026-08-19 21:41:14 +07:00
ramox81 96e8d75cc5 Separate spline fit and control properties 2026-08-19 17:21:49 +03:00
NgoQuocViet2001 f6f4317b7f fix(point): keep DDPTYPE off dimension definition points
Dimension definition points come out of a DWG as ordinary POINT entities on
the Defpoints layer, so the header's PDMODE applied to them like any other
point. Opening a drawing authored elsewhere with a point style set stamped
that glyph on every dimension end, burying the drawing under crosses and
circles.

They are a dimension's bookkeeping, not draughting the user placed, so
resolve PDMODE to 0 for them and leave the single pixel-sized dot. Both
render paths — the header one and the viewport-aware relative-PDSIZE one —
go through the same resolution, so a relative PDSIZE cannot bring the glyph
back.

Fixes #790
2026-08-19 21:19:34 +07:00
ramox81 1a6b61fb3a Correct spline property value semantics 2026-08-19 16:50:49 +03:00
ramox81 df71fa61bd Show effective spline endpoint tangents 2026-08-19 15:54:28 +03:00
ramox81 5595837a69 Align spline properties and editing 2026-08-19 12:00:02 +03:00
ramox81 0d37d3ff78 Improve spline fit and control vertex grips 2026-08-19 11:02:32 +03:00
ramox81 283e6db324 feat(ellipse): add editable arc endpoint grips 2026-08-19 10:02:38 +03:00
ramox81 3f9c3a9e9a fix(ellipse): add symmetric axis grips 2026-08-19 09:28:18 +03:00
Hakan Seven 7c818d15e9 fix(geometry): honor polyline OCS in commands
Route editing and derived geometry through kernel world-space curves.\n\nRefs #797\nRefs #798\nRefs #799
2026-08-18 22:09:48 +03:00
Hakan Seven afd4c96a78 fix(properties): measure bulged polylines
Merge PR #808 and use kernel area, length, and centroid measurements.
2026-08-18 19:50:08 +03:00
Hakan Seven 3a53a110cc fix(properties): hide unsafe MLine geometry
Merge PR #807. MLine vertex fields mutate stored points without rebuilding dependent geometry.
2026-08-18 19:31:58 +03:00
Hakan Seven 5d4a279c1d fix(properties): correct XLine geometry
Merge PR #806 and route point/direction math through the kernel so valid near-zero directions are not rejected by an application tolerance.
2026-08-18 19:21:50 +03:00
ramox81 7687211fbb fix(ellipse): show full end angle as 360
Use kernel closure tolerance so Properties matches geometric classification.
2026-08-18 18:43:16 +03:00
ramox81 c17c25fef1 fix(properties): measure bulged polylines exactly 2026-08-18 16:46:16 +03:00
ramox81 cdd337261f fix(properties): remove MLine geometry section 2026-08-18 16:24:54 +03:00
ramox81 5bd104faab fix(properties): normalize XLine direction edits 2026-08-18 16:09:09 +03:00
ramox81 74c1fe48d8 fix(properties): expose XLine second point 2026-08-18 16:07:35 +03:00
Hakan Seven 1dded7f881 fix: restore workspace verification 2026-08-15 23:11:26 +03:00
gianlucafiore 2d1ee0d936 fix: improve classic leader behavior and annotation linkage 2026-08-13 11:58:54 -03:00