Commit Graph
537 Commits
Author SHA1 Message Date
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
gianlucafiore 2da520de80 fix: keep dimension text grips aligned during stretch 2026-08-13 09:46:56 -03:00
Hakan Seven 0df2356243 fix(view): correct 3D mesh interaction
Sync projection controls from the active camera, preserve the UCS icon in perspective views, and use visible or selected 3D geometry for orbit pivots. Dense mesh vertex grips remain hidden.
2026-08-12 19:49:52 +03:00
Hakan Seven ca331fff48 fix(render): scale solid tessellation
Derive one drawing-space chordal tolerance so large curves stay smooth while small solids avoid excessive detail.
2026-08-12 12:46:17 +03:00
gianlucafiore b8b66163d6 Merge pull request #745 from gianlucafiore/fix/dwgunits-annotation-scales
Fix viewport and annotation scales for drawing units
2026-08-11 22:48:27 -03:00
gianlucafiore cc7894cd92 fix: honor drawing units in annotation and viewport scales 2026-08-11 22:41:26 -03:00
Hakan Seven 4fd9b98da4 perf(render): instance block geometry
Share source buffers across block placements and render nested content with GPU instance transforms.\n\nChunk silhouettes and compact mesh material data so large drawings stay under device buffer limits and remain responsive.
2026-08-12 02:33:10 +03:00
Hakan Seven c4dfa7567d fix(model): correct primitive creation and grips 2026-08-12 00:03:27 +03:00
Hakan Seven 59ca0f693f feat(model): edit primitive history properties 2026-08-11 20:14:51 +03:00
Hakan Seven c943dfe391 fix(render): draw spatial curves and widths 2026-08-10 16:30:43 +03:00
Hakan Seven ac8183ec91 refactor(cad): use direct stack dependencies 2026-08-10 15:03:31 +03:00
Hakan Seven 96be8214f9 feat(tess): use angular sampling
Route curve, hatch, sweep, loft, surface, edge, and isoline tessellation through the shared kernel policy.
2026-08-10 12:12:16 +03:00